Составители:
Рубрика:
89
Записи не обязательно должны содержать одни и те же
компоненты. Поэтому, если необходимо, применяется «запись
с вариантами». Запись с вариантами, кроме фиксированной
части (которая может отсутствовать) содержит вариантную
часть. Варианты могут различаться как числом компонент, так
и их типа. Например:
type
rec = record
{описания фиксированных частей}
v1, v2 : integer ;
{описание вариантной части}
case n word of
0: <список полей – описаний переменных>;
1: <список полей – описаний переменных>;
………………………………………………..
k: <список полей – описаний переменных>;
end;
Здесь в качестве селектора оператора case используется иден-
тификатор типа.
Теперь рассмотрим конкретный пример. Часто возника-
ет необходимость в связи со значением одного поля влиять на
тип других полей. Например, в записи о студенте, в зависимо-
сти от пола (мужчина, женщина - логический тип), хранить ин-
формацию либо о цвете глаз у студентки - строковый тип, либо
о размере обуви у студента — вещественный тип.
Пример:
program p42;
type
info = record
fio: string;
case pol : boolean of true: (razmer: Real) ;
false: (color: String);
end;
Записи не обязательно должны содержать одни и те же компоненты. Поэтому, если необходимо, применяется «запись с вариантами». Запись с вариантами, кроме фиксированной части (которая может отсутствовать) содержит вариантную часть. Варианты могут различаться как числом компонент, так и их типа. Например: type rec = record {описания фиксированных частей} v1, v2 : integer ; {описание вариантной части} case n word of 0: <список полей – описаний переменных>; 1: <список полей – описаний переменных>; ……………………………………………….. k: <список полей – описаний переменных>; end; Здесь в качестве селектора оператора case используется иден- тификатор типа. Теперь рассмотрим конкретный пример. Часто возника- ет необходимость в связи со значением одного поля влиять на тип других полей. Например, в записи о студенте, в зависимо- сти от пола (мужчина, женщина - логический тип), хранить ин- формацию либо о цвете глаз у студентки - строковый тип, либо о размере обуви у студента — вещественный тип. Пример: program p42; type info = record fio: string; case pol : boolean of true: (razmer: Real) ; false: (color: String); end; 89
Страницы
- « первая
- ‹ предыдущая
- …
- 87
- 88
- 89
- 90
- 91
- …
- следующая ›
- последняя »