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

UptoLike

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

В рассмотренном описании поле признака пусто. На варианты указывает поле sempol.
В зависимости от значения этого поля запись имеет ту или иную структуру. Это частая
ситуация. Обычно на вариант записи указывает одно из полей фиксированной части
этой записи. Поэтому синтаксисом допускается сокращение: описание определяющей
вариант компоненты, называемой полем признака (дискриминантом), включается
в сам
заголовок варианта. В нашем примере это выглядит так:
TYPE SP = (holost, jenat, zamujem, razved, vdov);
case sempol : sp of
Внимание: все имена полей должны быть различными, даже если они встречаются в
различных вариантах. (Например, ndet1, ndet2,ndet3 - имена для количества детей).
Если поле с меткой L в списке пустое, то оно записывается так:L:(). Пример пустого поля
поле holost.
Если p переменная типа chelovek,
то она может быть создана группой операторов при-
сваивания, например:
p.f1:= 'Иванов';
p.f2:= 'Илья';
p.f3:= 'Иннокентьевич';
p.pol:=mujsk;
p.sempol:=jenat;
p.fj:= 'Петрова Б.В.';
p.ndet1:=2.
5.5. Оператор присоединения
Операции по обработке записей можно упростить с помощью оператора присоеди-
нения. Заголовок этого оператора открывает область действия "внутренних" имен полей
записи. Эти имена могут быть использованы как имена
переменных. Оператор присое-
динения WITH имеет следующий вид:
with < переменная-запись> {,<переменная-запись>} do <оператор>
Например:
with p do begin
f1:= 'Иванов';
f2:= 'Илья';
f3:= 'Иннокентьевич';
pol:=mujsk;
sempol:=jenat;
fj:= ' Петрова Б.В. ';
ndet1:=2
end { конец оператора with }
Аналогично, в варианте sempol=razveden запись может быть сформирована следующим
образом:
   В рассмотренном описании поле признака пусто. На варианты указывает поле sempol.
В зависимости от значения этого поля запись имеет ту или иную структуру. Это частая
ситуация. Обычно на вариант записи указывает одно из полей фиксированной части
этой записи. Поэтому синтаксисом допускается сокращение: описание определяющей
вариант компоненты, называемой полем признака (дискриминантом), включается в сам
заголовок варианта. В нашем примере это выглядит так:
TYPE SP = (holost, jenat, zamujem, razved, vdov);
                case sempol : sp of
   Внимание: все имена полей должны быть различными, даже если они встречаются в
различных вариантах. (Например, ndet1, ndet2,ndet3 - имена для количества детей).
Если поле с меткой L в списке пустое, то оно записывается так:L:(). Пример пустого поля
– поле holost.
Если p – переменная типа chelovek, то она может быть создана группой операторов при-
сваивания, например:
p.f1:= 'Иванов';
p.f2:= 'Илья';
p.f3:= 'Иннокентьевич';
p.pol:=mujsk;
p.sempol:=jenat;
p.fj:= 'Петрова Б.В.';
p.ndet1:=2.


                                      5.5. Оператор присоединения
   Операции по обработке записей можно упростить с помощью оператора присоеди-
нения. Заголовок этого оператора открывает область действия "внутренних" имен полей
записи. Эти имена могут быть использованы как имена переменных. Оператор присое-
динения WITH имеет следующий вид:
with < переменная-запись> {,<переменная-запись>} do <оператор>
Например:
   with p do begin
      f1:= 'Иванов';
      f2:= 'Илья';
      f3:= 'Иннокентьевич';
      pol:=mujsk;
      sempol:=jenat;
      fj:= ' Петрова Б.В. ';
      ndet1:=2
   end { конец оператора with }
Аналогично, в варианте sempol=razveden запись может быть сформирована следующим
образом: