Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответ программирование1.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
294.98 Кб
Скачать

Описание записи с вариантной частью

В разделе var запись с вариантной частью описывают так:

var <имя_записи>: record <поле1>: <тип1>;

[<поле2>: <тип2>;]

[...]

case <поле_переключатель>: <тип> of

<варианты1>: (<поле3>: <тип3>;

<поле4>: <тип4>;

...);

<варианты2>: (<поле5>: <тип5>;

<поле6>: <тип6>;

...);

[...]

end;

Невариантная часть записи (до ключевого слова case ) подчиняется тем же правилам, что и обычная запись. Вообще говоря, невариантная часть может и вовсе отсутствовать.

Вариантная часть начинается зарезервированным словом case, после которого указывается то поле записи, которое в дальнейшем будет служить переключателем. Как и в случае обычного оператора case, переключатель обязан принадлежать к одному из перечислимых типов данных (см. лекцию 3). Список вариантов может быть константой, диапазоном или объединением нескольких констант или диапазонов. Набор полей, которые должны быть включены в структуру записи, если выполнился соответствующий вариант, заключается в круглые скобки.

Пример. Для того чтобы описать содержимое библиотеки, необходима следующая информация:

Для книг

Для газет

Для журналов

Автор

Название

Год издания

Издательство

Название

Дата выхода (день, месяц, год)

Издательство

.

Название

Год и месяц издания

Номер

Издательство

Графы "Название" и "Издательство" являются общими для всех трех вариантов, а остальные поля зависят от типа печатного издания. Для реализации этой структуры воспользуемся записью с вариантной частью:

type biblio = record

name,publisher: string[20];

case item: char of

'b': (author: string[20]; year: 0..2004);

'n': (data: date);

'm': (year: 1700..2004;

month: 1..12;

number: integer);

end;

В зависимости от значения поля item, в записи будет содержаться либо 4, либо 5, либо 6 полей.

Инициализация.

g1 := g2;

g2 := stock[3];

g1.price := 200;

with g1 do begin

price := 200; number := 10

end;

Инициализация записей:

const g : goods = ( name : ’boots’;

price : 2000;

size: 48 );

27. Множества. Описание. Операции, процедуры и функции обработки множеств. Множества

Еще один структурированный тип данных - это множество ( set ). В нем может содержаться не более 256 элементов.

Важное отличие множества от остальных структурированных типов состоит в том, что его элементы не являются упорядоченными.

Описание множеств

В разделе var множества описываются следующим образом:

var <имя_множества>: set of <тип_элементов_множества>;

Элементы могут принадлежать к любому порядковому типу, размер которого не превышает 1 байт (256 элементов). Например:

var s1: set of char; {множество из 256-ти элементов}

s2: set of 'a'..'z','A'..'Z'; {множество из 52-х элементов}

s3: set of 0..10; {множество из 11-ти элементов}

s4: set of boolean; {множество из 2-х элементов}