Структурно
программа состоит из заголовка и двух частей: описательной и выполняемой.
Заголовок
находится в начале программы и имеет вид:
Program <Имя программы>;
В описательной
части содержится описание элементов программы, а в выполняемой указываются
действия (инструкции) с различными элементами программы, позволяющие
получить требуемый результат.
В общем
случае описательная часть состоит из следующих разделов: подключения
модулей; объявления меток; описания типов данных; объявления констант;
объявления переменных; описания процедур и функций (подпрограмм).
Каждый
раздел начинается специальным служебным словом. В конце каждого раздела
ставится точка с запятой.
Структура
программы в общем случае:
Program
<Имя программы>;
Uses
<Список модулей>;
Label
<Список меток>;
Туре
<Описание типов>;
Const
<Список констант>;
Var
<Объявление переменных>;
<Описание
процедур>;
<Описание
функций>;
Begin
<операторы
тела программы>; {Выполняемая часть программы}
end.
Порядок
расположения разделов следующий: раздел подключения модулей всегда
располагается сразу после заголовка программы. Остальные разделы следуют
в произвольном порядке с учётом обязательного правила: имена элементов
программы должны быть объявлены и описаны до того, как они будут использованы.
В структуре конкретной программы любой из разделов описания и объявления
может отсутствовать.
Раздел
подключения модулей состоит из зарезервированного слова Uses и списка
имён подключаемых стандартных и пользовательских библиотечных модулей.
Формат этого раздела:
Uses <Имя1>, <Имя2>, ... , <ИмяN>;
Uses Crt, Dos, MyLib;
Раздел
объявления меток начинается зарезервированным словом Label, за которым
следуют имена меток, разделённые запятыми. Имена меток записываются
как любой идентификатор, кроме того, метками могут быть целые числа
без знака в диапазоне 0..9999.
Формат
данного раздела:
Label <имя1>, <имя2>, ..., <имяN>;
Label
metkal, metka2, 10, 567;
Раздел
описания типов описывает пользовательские типы данных. Этот раздел
не является обязательным, и типы могут быть описаны неявно в разделе
объявления переменных.
Формат
раздела:
Туре <Имя типа 1> = «Описание типа 1>; …<Имя типа N>
= <Описание типа N>;
Type char2 = ('а'..'z');
massiv = array[1..100] of real;
month = 1..12;
В Object
Pascal есть много стандартных типов, не требующих описания: Real,
Integer, Char, Boolean, String и др.
Раздел
объявления констант начинается зарезервированным словом Const. Именованная
константа может быть определена с помощью любого математического или
строкового выражения. Формат:
Const <идентификатор константы> = <константное выражение>;
Примеры
объявления именованных констант:
Const
maxn = 12;
kd = Pi/180;
name = ‘Алексей’;
Раздел
объявления переменных начинается зарезервированным словом Var. Объявление
переменных обеспечивает выделение памяти для размещения.
2.5.5.
Переменные
Переменная
в компьютере – это область оперативной памяти, имеющая определённый
адрес. Переменные объявляются в разделе объявления переменных Var,
однако, в отличие от констант, получают свои значения уже в процессе
выполнения программы. Кроме того, значения переменных могут изменяться
в ходе выполнения программы. К переменным можно обращаться по именам
(идентификаторам).
Сколько байтов памяти выделить под переменную, компилятор определяет
по указанному типу переменной при её объявлении в разделе Var.
Формат объявления:
Var <список идентификаторов переменных>: <тип значений>;
Примеры объявления переменных:
Var a, b: integer;
Name: string;
x, y: real;
Переменные, в зависимости от места их объявления, можно разделить
на локальные и глобальные.
Переменные, объявляемые в процедурах и функциях, являются локальными.
Они существуют только во время выполнения соответствующей процедуры
или функции, т. е. память для них выделяется только при вызове соответствующей
процедуры или функции и освобождается при возврате в вызвавшую процедуру.
Переменные,
объявленные вне процедур или функций, являются глобальными. Ячейки
памяти, выделяемые под переменные, не очищаются от информации, сохранившейся
в них при выполнении предыдущих операций. Поэтому каждая объявленная
переменная перед первым использованием в коде программы должна быть
инициализирована, т. е. ей должно быть присвоено какое-либо значение.
Глобальные переменные можно инициализировать при объявлении.