Читайте также: |
|
При обращении к компонентам записи используются составные имена. Для сокращения имен и повышения удобства работы с записями применяется оператор присоединения WITH.
WITH < идентификаторпеременной типа RECORD> DO
< оператор >;
Тогда в операторе при ссылке на компоненты записи имя переменной можно опускать. При использовании оператора присоединения фрагмент рассмотренной ранее программы будет выглядеть:
...
i:=0;
repeat
i:=i+1;
WITH MAS[I] DO
readln(shg,nzk,kd,oc)
until mas[i].shg='99999';
n:=i; sum:=0; k:=0;
for i:=1 to n do
WITH MAS[I] DO
if shg=' AI007' then
begin
sum:=sum+oc;
k:=k+1;
end;
...
Возможны вложенные описания записи и вложенные конструкции WITH. Рассмотрим пример вложенных описаний. Пусть запись о студентах содержит следующие поля:
- номер по порядку;
- фио (содержит в свою очередь поля – фамилия, имя, отчество),
- номер зачетной книжки;
- дата рождения (содержит поля –год, месяц, день).
Программа ввода и подсчета введенных записей для записей такой структуры может выглядеть
type zap=record
npp:byte;
fio:record
F,i,o:string[15];
end;
nzk:word;
dtr:record
g:1980..1990;
m:string[3];
d:1..31
end;
end;
var a:zap;
k,n:byte;
Begin
k:=0;
with a do
with fio do
with dtr do
repeat
k:=k+1;
writeln('ввод ');
readln(npp);
readln(f);
readln(i);
readln(o);
readln(nzk);
readln(g);
readln(m);
readln(d);
until d=99;
writeln(k);
readln;
End.
Дата добавления: 2015-07-19; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Теоретические положения | | | Решение типовых задач |