Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Turbo Pascal / Stud_1_2 / Part4 / text4.doc
Скачиваний:
99
Добавлен:
03.03.2016
Размер:
597.5 Кб
Скачать

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;

{ Ввод и контроль корректности текстовых файлов }

Соседние файлы в папке Part4