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

12.Особенности программирования задач, включающих действия со структурами данных. Записи. Записи с вариантами. Оператор присоединения With.

СТРУКТУРА ПРОГРАММЫ-Текст программы в системе программирования TP представляет собой обычный текстовый файл, который мы составляем в текстовом редакторе интегрированной инструментальной оболочки.

Программа состоит из отдельных разделов или блоков, которые располагаются в определенном порядке:

- заголовок программы;

- раздел объявления меток;

- раздел объявления констант;

- раздел объявления типов;

- раздел объявления переменных;

- раздел объявления процедур и функций;

Begin - начало основной программы.

- Тело программы;

End. - конец программы.

Запись представляет собой совокупность ограниченного числа логи- чески связанных компонент, принадлежащих к разным типам. Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывает- ся тип этого поля. Поля записи могут относиться к любому типу, допус- тимому в языке Паскаль, за исключением файлового типа. Описание записи в языке ПАСКАЛЬ осуществляется с помощью служебного слова RECORD, вслед за которым описываются компоненты за- писи. Завершается описание записи служебным словом END.

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

Вариантная часть начинается со слова 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;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]