Записи для работы с комбинациями разных типов в Pascal, страница 2

Использование оператора присоединения

Оператор присоединения позволяет заменить составные имена просто на имена полей, а имя записи определить в заголовке оператора присоединения.

Общий вид оператора:

With <имя записи> Do

            <оператор>; , где

<оператор> - простой или составной оператор, на который распространяется область действия заголовка With

Записи с вариантами

В Pascal существует возможность описать тип записи, содержащий несколько типов структуры. Запись с вариантами состоит из фиксированной и вариантной части. Фиксированная часть задаётся так же, как и при описании простых записей. Вариантная часть формируется при помощи Case .. Of и может состоять из нескольких вариантов. При использовании записей с вариантами необходимо придерживаться правил:

  • все имена полей должны отличаться, даже если они встречаются в разных вариантах.
  • Запись может содержать только одну вариантную часть, которая располагается в конце.
  • Оператор Case задаёт поле признака определяющее, какой из вариантов будет активирован в данный момент. Константа, служащая признаком называется константой выбора.

Общий вид записи с вариантами:

Type

            <фиксированная часть>;

Case <поле признака> : <имя типа> Of

            <Константа выбора 1> : (<имя поля 1> : <тип поля 1>

<имя поля N> : <тип поля N>);

<Константа выбора N> : …

В операторе Case нет отдельного End. Количество полей в каждой варианте произвольное.


Задание 1

Определить, что будет выведено на экран в результате выполнения фрагмента программы.

Const n=3;

Type

       phNote = Record

              name : String[10];

              phone: String[6];

       end;

Var

       i, g : Integer;

note : phNote;

f : File of phNote;

name : String[10];

phone: String[6];

A:record

case

              b:boolean of true:(c:integer);

              false : (d:integer);