Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Uses crt; или uses crt;



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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...