Записи и десигнаторы полей

Конкретное поле переменной-записи обозначается с помощью ссылки на переменную-запись, после которой указывается идентификатор поля.

Синтаксис конструкции доступа к полю записи:

Ид_переменной_записи.Ид_поля

Приведем несколько примеров использования десигнаторов полей:

{заполнение полей переменной Zap1}

Zap1.No:= 1;

Zap1.Name:= 'Иванов П.С.';

Zap1.Phone:= '478556';

{запись полной строки в таблицу Tab}

Tab[1] = Zap;

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

Типизированные константы типа запись

Описание константы записи содержит заключенные в скобки и разделенные символом; конструкции, определяющие значения каждого из полей.

Поля должны указываться в том же порядке, как они следуют в описании типа запись. Если запись содержит поля файлового типа, то для этого типа записи нельзя описать константу.

Синтаксис выражения-константы двумерного массива:

(Ид_поля1: Знач1; Ид_поля2: Знач2;...)

Пример описания константы записи:

type Point = record

x,y: real;

end;

Month = (Jan,Feb,Mar,Apr,May,Jun,Jly,Aug,Sep,Oct,Nov,Dec);

Date = record

d: 1..31;

m: Month;

y: 1900..1999;

end;

const Origon: Point = (x: 0.0; y: 0.0);

SomeDay: Date = (d: 2; m: Dec; y: 1960);

Блоки подпрограмм

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

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

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

§ процедура;

§ функция.

Подпрограммы-процедуры

В заголовке процедуры определяется её идентификатор и формальные параметры.

Синтаксис описания блока процедуры:

{заголовок процедуры}

Procedure Ид_процедуры [(список_формальных_параметров)];

{раздел описаний}

[ const <описания констант>;]

[ type <описания типов>;]

[ var <описания переменных>;]

[<описания подпрограмм>]

Begin

{раздел операторов}

end;

Запуск процедуры осуществляется с помощью оператора вызова процедуры:

Синтаксис вызова процедуры:

Ид_процедуры [(список_фактических_параметров)];

Если в содержащемся в процедуре операторе внутри модуля процедуры используется идентификатор процедуры, то процедура будет выполняться рекурсивно (будет при выполнении обращаться сама к себе). Такой вызов подпрограммы называют рекурсивным.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: