- •Отчет по лабораторной работе № 7
- •Ввод записей из текстового файла
- •Петренко а.С. 15 5 1980 украинец 1977 м
- •Петренко а.С. 15 5 1980 украинец 1977 м
- •Пример выполнения задания
- •11.Об использовании кодификаторов.
- •{ Создание, печать, коррекция и обработка архива сведений }
- •SignSort : boolean; { признак сортировки архива } Reply : char; { символ нажатой клавиши } Product : ProductType;{ компонент архива }
- •Var k : word;
- •Пример выполнения задания
- •FileOut { архивный файл изделий}
- •Разработка многомодульной программы
- •Interface
- •Implementation
- •Interface
- •St : StringAr; { строка для печати таблиц }
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
Interface
Uses Crt;
Const
MaxKodif = 50; { макс.количество компонент кодификатора }
Enter = 13; { код клавиши Enter }
PressKey = 'Нажмите клавишу ENTER';
Type
ProductType = record { тип компонента архива изделий }
NumberShop : byte; { номер цеха }
Kod : longint; { код изделия }
Dimens : string[5]; { единица измерения }
Price : real; { цена изделия }
Plan, { план выпуска по полугодиям }
Fact { факт.выпуск по полугодиям }
: array [1..2] of real
end;
PointerProduct = ^DynProduct;
DynProduct = record
Inf : ProductType ;
Next : PointerProduct;
end;
KodifType = record { тип компонента кодификатора }
Kod : longint; { код изделия }
Name : string[35]; { наименование изделия }
end;
KodifAr = array[1..MaxKodif] of KodifType;
string80 = string[80];
StringAr = array[1..10] of string80;
Var
np : word; { количество компонент архива }
nk, { количество компонент кодификатора }
KeyRegime, { ключ выбора режима работы }
Device : byte; { устройство вывода результатов: }
{ 0 – экран; 1 – экран и магн.диск; }
{ 2 – экран и принтер }
SignArchive : boolean; { признак создания архива }
Reply : char; { символ ответа на запрос программы }
Product : ProductType; { компонент архива }
Lp,Rp, { левый и правый указатели очереди }
Run : PointerProduct; { текущий указатель очереди архива }
Kodif : KodifType; { компонент кодификатора }
Kodifs : KodifAr; { массив компонентов кодификатора }
Sr : string80; { сообщение об ошибке }
St : StringAr; { строка для печати таблиц }
FileInput, { файл входных документов }
FileAdd, { файл добавляемых документов }
FileKodif, { файл кодификатора изделий }
FileRes : text; { файл результатов }
FileOut { архивный файл изделий }
: file of ProductType ;
Implementation
End.
{ ------------------------------------------------------------ }
UNIT BasUnit;
{ Сервисные процедуры и функции }
Interface
Uses Crt,DesUnit,Printer;
Procedure WaitEnter;
Procedure PrintString(X,Y:byte; S:string);
Procedure WritelnString(S:String);
Procedure PrintKeyAndWaitEnter;
Procedure CheckPageScreen(Var j:byte);
Function Space(S:string; k:byte):byte;
Function NotSpace(S:string; k:byte):byte;
Function FillString(S:string; len,p:byte):string;
Function GetNumber(MinNumber,MaxNumber:real;
m1,n1,m2,n2:byte):real;
Procedure UsesDevice;
Procedure PrintHat(n:byte);
Procedure DisposeProduct;
Procedure SortKodif;
Function SearchKodif(Kod:longint):byte;
Implementation
{ ------------------------------------------------------ }
Тексты процедур и функций, которые приведены в секции реализации, полностью
совпадают с соответствующими текстами программы Labor8
Procedure WaitEnter;
Procedure PrintString(X,Y:byte; S:string);
Procedure WritelnString(S:string);
Procedure PrintKeyAndWaitEnter;
Procedure CheckPageScreen(Var j:byte);
Function Space(S:string; k:byte):byte;
Function NotSpace(S:string; k:byte):byte;
Function FillString(S:string; len,p:byte):string;
Function GetNumber(MinNumber,MaxNumber:real;
m1,n1,m2,n2:byte):real;
Procedure UsesDevice;
Procedure PrintHat(n:byte);
Procedure DisposeProduct;
Procedure SortKodif;
Function SearchKodif(Kod:longint):byte;
End.
{ ------------------------------------------------------------ }
UNIT InpUnit;
{ Ввод и контроль корректности текстовых файлов }