Представление информации в виде массива записей, используется для организации экономической информации в оперативной памяти. В этом случае, совокупность реквизитов, составляющих отдельный документ, представляется в виде отдельного элемента массива.
При определении типа массива записей в разделе “Type”, размерность массива записей определяется максимально возможным количеством обрабатываемых документов. В многострочных документах в виде отдельного элемента массива записей представляется каждая строка документа.
Фактически используемое количество элементов массива будет соответствовать числу введенных документов или введенных строк многострочного документа.
Обращении к конкретным реквизитам документов, организованных в виде массива записей, выполняется в соответствии со следующим синтаксисом
<имя массива> [ значение индекса]. <имя реквизита>
Например, конструкция для обращения к реквизиту “Date”, второго элемента массива “Potrm” имеет следующий вид:
|
|
PotrM[2].Date
Пример.
Имеется многострочный документ, содержащий информацию о продаже черных металлов. Документ содержит следующие реквизиты:
Во-первых, дата, представленная в виде четырех символов. Первые два символа определяют месяц. Третий и четвертый символы определяют год.
Во-вторых, код покупателя, представленный в виде десяти символов.
В-третьих, всего продано на сумму. Реквизит представлен в виде 10 цифр, две из которых определяют дробную часть.
В-четвертых, в том числе чугун. Реквизит представлен в виде 10 цифр, две из которых определяют дробную часть.
В-пятых, в том числе прокат. Реквизит представлен в виде 10 цифр, две из которых определяют дробную часть.
В-шестых, в том числе прочие металлы. Реквизит представлен в виде 10 цифр, две из которых определяют дробную часть.
Программный код обеспечивает определение процента проданного проката в общей сумме продаж.
Program PrjChMet;
{$APPTYPE CONSOLE}
Uses
SysUtils;
Type
Tchmet = Record
Date: String [4];
ShPokyp: String [10];
Prod: Real;
Chyg: Real;
Prok: Real;
Proch: Real;
End;
T_Array = Array [1..40] Of Tchmet;
Var
ChMet: T_Array;
N,I: Integer;
SProd, SProk, PerCent:Real;
Begin
Writeln ('Vvedite kolichestvo zapisei');
Readln (N);
Writeln (' Vvedite document ');
For I:= 1 To N Do
Begin
Writeln ('Vvedite Daty');
Readln (ChMet[I].Date);
Writeln ('Kod pokypatelja');
Readln (ChMet[I].ShPokyp);
Writeln ('Vsego prodano');
Readln (ChMet[I].Prod);
Writeln ('V tom chisle chygyn');
Readln (ChMet[I].Chyg);
Writeln ('V tom chisle prokat');
Readln (ChMet[I].Prok);
Writeln ('V tom chisle prochie');
Readln (ChMet[I].Proch);
End;
SProd:= 0; SProk:= 0;
For I:= 1 To N Do
Begin
SProd:= SProd + ChMet[I].Prod;
SProk:= SProk + ChMet[I].Prok;
End;
PerCent:= (SProk / SProd) * 100;
Writeln ('Procent prokata ', PerCent:7:3);
Readln;
End.