
Запись с вариантами.
Вариантная часть начинается со слова Case. Это означает, что в записях можно задавать тип, содержащий определения нескольких вариантов структуры. Различие может касаться как числа компонент, так и их типов. Запись может содержать только одну вариантную часть (экономия памяти). Вариантная часть сама может содержать варианты (вложения). Пример:
Type
N = String [20];
Status = (Женат, Вдов, Разведён, Холост);
Date = Record
Mo: 1..12;
Day: 1..31;
Year: Integer;
End;
Person = Record
Name: N;
Sex: (Муж, Жена);
Birth: Date;
Case Ms: Status Of
Женат, Вдов: (MDate: Date);
Разведён: (Date: Date; First: Boolean);
Холост: (Indept: Boolean);
End.
Case Of, открывающее вариантную часть не имеет ничего общего с ветвлением Case Of; в данном случае это директива компилятору, сигнализирующая о том, что последующие поля нужно разместить начиная с одной и той же ячейки памяти, поэтому, если изменяется одно из полей - вариантов, изменяются и все остальные. Поле выбора должно быть порядкового типа.
WITH - оператор присоединения При работе с записями могут получиться слишком громоздкие тексты программ, т.к. обращаясь к элементам записи, вынуждены пи- сать длинные имена, в которых одни и те же составляющие могут час- то повторяться. Сократить описание позволяет оператор присоединения, имею- щий вид: WITH R DO S, где WITH, DO – служебные слова; R – список имен записи (через запятую); S – любой оператор Паскаля. Смысл: внутри оператора S имена полей записи можно использо- вать без префикса (имени записи и, возможно, имен старших подзапи- сей). Считается, что все они ссылаются на переменную R. Например
WITH SDUT, FIO DO BEGIN
FA := 'Иванов';
IM := 'Петр';
OT :='Борисович'
end;
Оператор
WITH R1, R2, ..., RN DO S
эквивалентен WITH R1 DO
WITH R2 DO
. . . . . .
WITH R N DO S;
13.Особенности программирования задач, включающих действия со структурами данных. Множества. Операции над множествами. Использование множеств при создании экспертных систем.
Множество — это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества..
Понятие множества в языке ПАСКАЛЬ основывается на математическом представлении о множествах: это ограниченная совокупность различных элементов. Для построения конкретного множественного типа использует- ся перечисляемый или интервальный тип данных. Тип элементов, состав- ляющих множество, называется базовым типом.
Множественный тип описывается с помощью служебных слов Set of, например:
type M= Set of B;
Здесь М - множественный тип, В - базовый тип. Пример описания переменной множественного типа:
type
M= Set of 'A'..'D';
var
MS: M;
Операции над множествами Бинарные операции
пересечение:
объединение:
разность (дополнение):
симметрическая разность:
Декартово или прямое произведение: