Работа с составными типами данных в системе Turbo Pascal. Батхин А.Б - 16 стр.

UptoLike

Составители: 

z2.re:=z1.re+1; z2.im:=z1.im+2;
2) N.F1:=GROUP[i].F1;
N.year:=GROUP[i+1].year;
writeln(GROUP[i].zach);
5.4. Записи с вариантами
Часто бывает удобно в пределах одной записи иметь различную информацию в за-
висимости от конкретного значения некоторого поля. Комбинированный тип помимо
фиксированного списка полей может содержать вариантную часть, предполагающую
несколько вариантов структуры этого типа. Это означает, что разные переменные, отно-
сящиеся к одному и тому же
типу, могут иметь отличающуюся структуру.
Вариантная часть содержит несколько альтернатив, в каждой из которых в круг-
лых скобках задается список полей, присущих данному варианту. Списку предшествует
метка, являющаяся конкретным значением поля, которое служит критерием выбора ва-
риантов.
В качестве примера построения записи с вариантами рассмотрим тип, содержа-
щий информацию
о человеке.
Фамилия
Имя
Отчество
Пол
Фиксированная часть
Семейное положение (холост, женат, замужем, разведён, вдов)
Признак Холост Женат Замужем Разведён, вдов
Вариантная
часть
ФИО жены,
количество
детей
ФИО мужа,
девичья фами-
лия
количество
детей
Количество
детей,
Дата
Синтаксис определения вариантной части
<вариантная часть>::= case <поле признака> <имя типа> of <вариант>{;<вариант>}
<вариант>::=<список меток варианта>:(<список полей>) _ <пусто> <список меток
варианта>::=<метка варианта>{;<метка варианта>} <метка варианта>::=<константа>
    z2.re:=z1.re+1;              z2.im:=z1.im+2;
2) N.F1:=GROUP[i].F1;
    N.year:=GROUP[i+1].year;
    writeln(GROUP[i].zach);


                                       5.4. Записи с вариантами
    Часто бывает удобно в пределах одной записи иметь различную информацию в за-
висимости от конкретного значения некоторого поля. Комбинированный тип помимо
фиксированного списка полей может содержать вариантную часть, предполагающую
несколько вариантов структуры этого типа. Это означает, что разные переменные, отно-
сящиеся к одному и тому же типу, могут иметь отличающуюся структуру.
        Вариантная часть содержит несколько альтернатив, в каждой из которых в круг-
лых скобках задается список полей, присущих данному варианту. Списку предшествует
метка, являющаяся конкретным значением поля, которое служит критерием выбора ва-
риантов.
        В качестве примера построения записи с вариантами рассмотрим тип, содержа-
щий информацию о человеке.
                               Фамилия
                               Имя
Фиксированная часть            Отчество
                               Пол
                               Семейное положение (холост, женат, замужем, разведён, вдов)



Признак               Холост              Женат             Замужем            Разведён, вдов
                                          ФИО жены,         ФИО мужа,          Количество
                                          количество        девичья фами-      детей,
Вариантная
                                          детей             лия                Дата
часть
                                                            количество
                                                            детей


Синтаксис определения вариантной части
<вариантная часть>::= case <поле признака> <имя типа> of <вариант>{;<вариант>}
<вариант>::=<список меток варианта>:(<список полей>) _ <пусто> <список меток
варианта>::=<метка варианта>{;<метка варианта>} <метка варианта>::=<константа>