Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
type zap=record
shg:string[5];
nzk:integer;
kd:1..100;
oc:2..5
End;
var mas:array[1..100] of zap;
k,n,i:byte;
sum:real;
Begin
i:=0;
Repeat
Inc(i);
readln (mas[i].shg, mas[i].nzk, mas[i].kd,
mas[i].oc)
until mas[i].shg='99999';
n:=i; sum:=0; k:=0;
for i:=1 to n do
if mas[i].shg='ДС101' then
Begin
sum:=sum+mas[i].oc;
Inc(k)
End;
if k<>0 then sum:=sum/k;
writeln ('Средний балл в группе ДС-101=',sum)
End.
Оператор присоединения.
При обращении к компонентам записи используются составные имена. Для сокращения имен и повышения удобства работы с записями применяется оператор присоединения WITH.
WITH < идентификаторпеременной типа RECORD> DO
< оператор >;
Тогда в операторе при ссылке на компоненты записи имя переменной можно опускать.
При использовании оператора присоединения фрагмент рассмотренной ранее программы будет выглядеть:
...
i:=0;
Repeat
Inc(i);
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='ДС101' then
Begin
sum:=sum+oc;
Inc(k)
End;
...
Возможны вложенные описания записи и вложенные конструкции WITH. Рассмотрим пример вложенных описаний. Пусть запись о студентах содержит следующие поля:
- номер по порядку;
- ФИО (содержит в свою очередь поля – фамилия, имя, отчество),
- номер зачетной книжки;
- дата рождения (содержит поля –год, месяц, день).
Тогда в виде графа структуру записи можно изобразить следующим образом:
Программа ввода и подсчета количества введенных записей такой структуры может выглядеть:
Дата публикования: 2014-11-04; Прочитано: 230 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!