Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
type zap=record type zap=record
npp:byte; npp:byte;
fio:record fio:record
f,i,o:string[15]; f,i,o:string[15];
End; end;
nzk:word; nzk:word;
dtr:record dtr:record
g:1970..2000; g:1970..2000;
m:string[3]; m:string[3];
d:1..31 d:1..31
End; end;
End; end;
var a:zap; var a:zap;
k,n:byte; k,n:byte;
Begin clrscr; begin clrscr;
k:=0; k:=0;
With a do with a,fio,dtr do
With fio do repeat
With dtr do inc(k);
repeat writeln('ввод ');
Inc(k); readln(npp);
writeln('ввод '); readln(f);
Readln(npp); readln(i);
Readln(f); readln(o);
Readln(i); readln(nzk);
Readln(o); readln(g);
Readln(nzk); readln(m);
Readln(g); readln(d);
readln(m); until d=99;
Readln(d); writeln(k);
until d=99; readkey
Writeln(k); end.
Readkey
End.
Запись с вариантами.
Состав и структура записи могут динамически меняться в зависимости от значения какого-либо из своих полей, называемого полем-признаком.
В общем виде описание записи с вариантами выглядит так:
TYPE < идентификатор типа >= RECORD
< идентификатор поля 1 >:< тип 1 >;
< идентификатор поля 2 >:< тип 2 >;
...
CASE < селектор >:< тип селектора > OF
< метка варианта 1 >:(< поле варианта 11 >:< тип 11 >
[;< поле вар-та 12 >:< тип 12 >;< поле варианта 13 >:< тип 13 >;...]);
< метка варианта 2 >:(< поле варианта 21 >:< тип 21 >
[;< поле вар-та 22 >:< тип 22 >;< поле варианта 23 >:< тип 23 >;...]);
< метка варианта k >:(< поле варианта k1 >:< тип k1 >
[;< поле вар-та k2 >:< тип k2 >;< поле варианта k3 >:< тип k3 >;...]);
...
< метка варианта m >:()
END;
В этом описании вариантная часть записывается после постоянной части, к которой относятся поля 1, 2..., и может быть только одна в записи. Метки варианта должны иметь такой же тип, как у селектора. Если какой-либо метке варианта не соответствуют поля, то записываются пустые круглые скобки, как у метки варианта m.
Пусть требуется описать запись следующей структуры. В каждой записи имеются поля, содержащие табельный номер и фамилию. В зависимости от того, кому принадлежит запись, состав остальных полей может быть разным:
- для студентов поля: номер группы и специальность;
- для преподавателей: институт, кафедра, стаж работы;
- для сотрудников дополнительных полей нет.
В виде графа структуру записей можно изобразить:
Описание соответствующей записи структуры данных:
type tz=record
tn:byte;
fio:string;
case n:char of
‘p’: (in:byte; kaf:string; st:byte);
‘s’: (ng:byte; sp:integer);
‘a’: ()
End;
var Z:tz;
Вопросы к главе 3.
1. Как описываются множества?
2. Варианты использования множеств.
3. Основные операции над множествами.
4. Способы описания записи.
5. Обращение к компонентам записи.
6. Использование оператора присоединения With.
7. Назначение и общий вид записи с вариантами.
Дата публикования: 2014-11-04; Прочитано: 289 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!