Лекция: 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. Назначение и общий вид записи с вариантами.


 

еще рефераты
Еще работы по информатике