Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика ЗКМЗКЕ_1курс / Основы алг-ции и прог-ие.doc
Скачиваний:
81
Добавлен:
05.06.2015
Размер:
1.88 Mб
Скачать
    1. Запись с вариантами.

Состав и структура записи могут динамически меняться в зависимости от значения какого-либо из своих полей, называемого полем-признаком.

В общем виде описание записи с вариантами выглядит так:

TYPE <идентификатор типа >= RECORD

<идентификатор поля 1>:<тип 1>;

<идентификатор поля 2>:<тип 2>;

. . .

CASE <селектор>:<тип селектора> OF

<метка варианта 1>:(<поле варианта 11>:<тип 11>

[;<поле вар-та 12>:<тип 12>;<поле варианта 13>:<тип 13>;. . .]);

<метка варианта 2>:(<поле варианта 21>:<тип 21>

[;<поле вар-та 22>:<тип 22>;<поле варианта 23>:<тип 23>;. . .]);

<метка варианта k>:(<поле варианта k1>:<тип k1>

[;<поле вар-та k2>:<тип k2>;<поле варианта k3>:<тип k3>;. . .]);

. . .

<метка варианта m>:( )

END;

В этом описании вариантная часть записывается после постоянной части, к которой относятся поля 1, 2 . . . , и может быть только одна в записи. Метки варианта должны иметь такой же тип, как у селектора. Если какой-либо метке варианта не соответствуют поля, то записываются пустые круглые скобки, как у метки варианта m.

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

  • для студентов поля: номер группы и специальность;

  • для преподавателей: институт, кафедра, стаж работы;

  • для сотрудников дополнительных полей нет.

В виде графа структуру записей можно изобразить:

Описание соответствующей записи структуры данных:

type tz=record

tn:byte;

fio:string;

case n:char of

p’: ( in:byte; kaf:string; st:byte );

s’: ( ng:byte; sp:integer );

a’: ( )

end;

var Z:tz;

Вопросы к главе 3.

1. Как описываются множества?

2. Варианты использования множеств.

3. Основные операции над множествами.

4. Способы описания записи.

5. Обращение к компонентам записи.

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

7. Назначение и общий вид записи с вариантами.

  1. Использование подпрограмм в Турбо Паскале.

    1. Структура программы на языке Паскаль.

Синтаксически программа на языке Паскаль делится на 2 части: заголовок и программный блок.

Общий вид заголовка:

PROGRAM <имя программы>[(<список файлов>)];

Заголовок программы может отсутствовать. Стандартные файлы INPUT (входной) и OUTPUT (выходной) также могут опускаться, т.к. принимаются по умолчанию.

Блок программы состоит из описательной и исполнительной частей (описательная часть предшествует исполнительной части) и включает следующие разделы:

LABEL <описание меток>; - раздел описания меток

CONST <описание констант>; - раздел описания констант

TYPE <описание типов>; - раздел описания типов

VAR <описание переменных>; - раздел описания переменных

PROCEDURE <описание процедуры> ; - раздел описания

FUNCTION <описание функции>; процедур и функций

BEGIN

<исполнительная часть программы> - раздел операторов

END.

Текст программы записывается в виде строк длиной не более 127 символов. В Турбо Паскале порядок следования разделов описаний произвольный и каждый из разделов может повторяться несколько раз или отсутствовать. Раздел операторов (начинается с BEGIN и заканчивается END) состоит из операторов, разделенных точкой с запятой. Исполнительная часть программы является обязательной, может быть единственной частью программы.

Видом работы компилятора можно управлять директивами. Их включают в исходный текст в виде комментариев со специальным синтаксисом. Если процедура или функция хранятся в виде отдельного файла, то для включения их описания в исходный текст программы компилятору задается директива INCLUDE следующего вида:

{$I <имя файла>},

которая должна быть помещена в разделе описаний процедур и функций.

Например,

PROGRAM A1;

VAR ...

{$I B1.PAS}

BEGIN

...

END.

Файл B1.PAS может иметь вид:

PROCEDURE PP;

VAR ...

BEGIN

...

END;