Здавалка
Главная | Обратная связь

СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ



Структура сложной программы

Любая программная единица включает следующие разделы:

<Объявление программной единицы>

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

BEGIN

{Раздел исполняемых операторов}

END. {символ конца программной единицы}

<Объявление программной единицы> - заголовок программы, процедуры или функции. Заголовок программы можно опускать, для процедур и функ­ций наличие заголовка обязательно.

<Cимвол конца программной единицы> - это символ точки для прог­раммы или символ ";" для процедуры или функции.

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

PROGRAM <имя программы>;

USES <список библиотечных модулей>;

LABEL <список меток в основном блоке>;

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

TYPE <определение типов>;

VAR <определение глобальных переменных>;

<определение процедур>

<определение функций>;

BEGIN

<основной блок программы>

END.

Директива USES выполняет подключение стандартных или написанных программистом модулей. Она должна обязательно стоять первой, если присутствует в программе. Например, строкой

USES CRT;

производится подключение модуля CRT. Модуль CRT содержит процедуры и функции для управления выводом текста на дисплей, звуковым генератором и чтением с клавиатуры.

Блоки TYPE, CONST, VAR, LABEL в Паскале АВС могут следовать друг за другом в любом порядке и встре­чаться в разделе описаний сколько угодно раз.

В блоке LABEL перечисляются через запятую метки, используемые в программной единице. Метка может содержать числовое значение либо являться идентификатором. Например:

LABEL 1, 400, M1, EPS;

Если метка описана в этом блоке, но в программе не встретилась, то вы­дается сообщение об ошибке. Метки не должны повторяться. Блок меток может находиться в любом месте, их может быть несколько, но все метки должны быть определены до начала основной программы. При отсутствии меток блок исключается.

Блок CONST описывает константы двух видов:

CONST<имя1> = <константа1>;

<имя2> = <константа2>;

. . .

или

CONST <имяК>: <тип> = <константаK>;

<имяR>: <тип> = <константаR>;

. . .

Например: CONST NI = 100;

f = -NI;

d: real = 7.65432;

Блок TYPE содержит определения вводимых программистом нестандарт­ных типов в следующих формах:

TYPE <идентификатор> = (<список_компонентов>);

или

TYPE <идентификатор> = <описание_типа>;

Пример: TYPE FAMILY = (FATHER, MOTHER);

Когда в Паскале используются только стандартные типы (например: INTEGER, REAL), этот блок опускается.

Блок VAR описывает имена переменных, а также имена массивов:

VAR A1, A2, ..., An: <тип1>;

B1, B2, ..., Bn: <типК>;

...

<имя массива>: ARRAY[диапазон] OF <тип>;

 

где буквами Ai, Bj указаны имена переменных, а <тип1>, <типК> – типы соответствующих переменных, [диапазон] указывает начальное и конечное значения индексов массива, <тип> задает тип элементов массива.

Пример: VAR A, B, C: INTEGER; {объявлены три переменные целого типа}

D, M: REAL; {объявлены две вещественные переменные}

MASS1: ARRAY[1..10] OF REAL; {массив из 10 чисел}

MASS2: ARRAY[-2..2] OF CHAR; {массив из пяти символов}

В качестве значений диапазона могут использоваться идентификаторы лю­бого порядкового типа, если их значения определены выше в разделе CONST.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.