Программа на Паскале состоит из трех частей: заголовка, раздела описаний и раздела операторов.
Заголовок программы не является обязательным, он состоит из служебного слова program и идентификатора - имени программы. Идентификаторы выступают в качестве имен констант, типов, переменных, процедур, модулей, программ и полей в записях. Идентификатор может иметь любую длину, однако только первые 63 символа являются значимыми.
Идентификатор должен начинаться с буквы и не может содержать пробелов. После первого символа идентификатора можно использовать буквы, цифры и символы подчеркивания (значение ASCII $5F). Как и в зарезервированных словах, в идентификаторах можно использовать как строчные, так и прописные буквы (компилятор их не различает).
Раздел описаний содержит описания всех используемых программой ресурсов(полей данных, подпрограмм и т.д.).
Раздел операторов заключается в, так называемые, операторные скобки begin... end и заканчивается точкой «.».
Между операторными скобками записывают управляющие операторы программы, которые разделяют специальным знаком - точкой с запятой «;». Если точка с запятой стоит перед end, то считается, что после точки с запятой стоит «пустой» оператор.
|
|
В тексте программы возможны комментарии, которые помещают в фигурные скобки «{»… «}».
Любая программа оперирует с некоторыми данными, используемыми в расчетах или определяющими последовательность выполнения действий. Все данные, с которыми оперирует программа, должны быть описаны. Данные в программе могут присутствовать в виде констант и переменных.
Константы определяются один раз и не изменяются во время выполнения программы. Используют следующие типы констант:
• целые и вещественные десятичные числа, например, 25, 6.12, 0.125е10;
• шестнадцатеричные числа - должны начинаться со знака «$», например, $64;
• логические константы - true (истина) и false (ложь);
• символьные константы - записываются либо в апострофах, например ‘А’, либо в виде соответствующих кодов по таблице ASCII (русский вариант таблицы символов), причем в последнем случае перед кодом ставится знак «#», например #65 (этот код соответствует символу А латинское);
• строки символов - записываются в апострофах, например ‘ABCD’;
• конструкторы множеств;
• «нулевой» адрес - nil.
Напомним, что в программировании принято при записи вещественных чисел вместо запятой для разделения целой и дробной частей числа использовать точку.
Раздел описаний содержит:
· раздел описания меток;
· раздел описания констант;
· раздел описания типов;
· раздел описания переменных;
· раздел описания процедур и функций.
|
|
Раздел описания меток - это та часть программы, где описываются метки, присваиваемые операторам в соответствующем разделе операторов. Он начинается со служебного слова label. Каждая метка должна помечать только один оператор. Используемая в качестве метки последовательность цифр должна находиться в диапазоне от 0 до 9999. Все метки должны быть перечислены через запятую. В конце раздела ставится точка с запятой.
Например:
Label
1,15,45,168;
Раздел описания констант содержит описания констант, локальных для этой программы. Он начинается со служебного слова const. Константы, используемые в программы, описываются в формате:
<имя константы> [: <тип константы>]= <значение>;
Заметим, что тип константы может не указываться. Он необходим лишь в случае, если есть необходимость использовать, так называемые, типизированные константы.
Раздел описания типов включает описания всех типов в программе. Начинается данный раздел со служебного слова type. В паскаль-программе могут использоваться как стандартные типы (о них речь будет идти ниже), так и типы, определяемые пользователем. Последние должны быть описаны в данном разделе. Каждый тип имеет следующую форму описания:
<имя типа> = <описание>;
Раздел описания переменных состоит из описаний переменных, локальных для паскаль-программы. Он начинается со служебного слова var.
Описание переменной представляет собой список идентификаторов, которые обозначают новые переменные и их типы. Формат описание переменной:
<список идентификаторов>: <тип>;
Список идентификаторов представляет собой последовательность имен переменных, отделенных друг от друга запятой.
Приведем пример раздела описания переменной:
var
X,Y,Z: real;
I,J,K: integer;
Digit: 0..9;
C: Color;
Done,Error: boolean;
Operator: (plus, minus, times);
Hue1,Hue2: set of Color;
Today: Date;
Results: MeasureList;
P1,P2: Person;
Matrix: aaray[1..10,1..10] of real;
Раздел описания процедур и функций состоит из описаний процедур и функций, локальных для программы. При этом описание каждой функции начинается со служебного слова function, описание процедуры – со служебного слова procedure.
Следует подчеркнуть, что Паскаль допускает использование библиотек и готовых модулей. Как правило, библиотека представляет собой набор стандартных функций и процедур. В случае подключения библиотеки к программе, ее ресурсы могут использоваться в программе путем указания идентификаторов объектов, содержащихся в библиотеке. Для подключения библиотек используется специальный раздел программы. Как правило, в разделе описаний он следует первым и начинается со служебного слова uses. Далее, через запятую перечисляются все библиотеки и модули, используемые в программе.