Программа на Паскале состоит из заголовка, разделов описаний и раздела операторов.
program имя; { заголовок – не обязателен }
разделы описаний
begin
раздел операторов
end. (* программа заканчивается точкой *)
Программа может содержать комментарии, заключенные в фигурные скобки { } или в скобки вида (* *) . Комментарии служат для документирования программы — компилятор их игнорирует, поэтому на их содержимое никаких ограничений не накладывается. Операторы отделяются друг от друга символом ; (точка с запятой) .
В разделе операторовзаписываются исполняемые операторы программы. Ключевые слова begin и end не являются операторами, а служат для их объединения в так называемый составной оператор, или блок. Блок может записываться в любом месте программы, где допустим обычный оператор.
Разделы описанийбывают нескольких видов: описание модулей, констант, типов, переменных, меток, процедур и функций. Модуль— это подключаемая к программе библиотека ресурсов (подпрограмм, констант и т. п.).
Раздел описания модулей, если он присутствует, должен быть первым. Описание начинается с ключевого слова uses, за которым через запятую перечисляются все подключаемые к программе модули, как стандартные, так и собственного изготовления, например:
uses crt, graph, my_module;
Количество и порядок следования остальных разделов произвольны, ограничение только одно: любая величина должна быть описана до ее использования. Признаком конца раздела описания является начало следующего раздела. В программе может быть несколько однотипных разделов описаний.
В разделе описания переменныхнеобходимо определить все переменные, которые будут использоваться в основной программе. Раздел описания константслужит для того, чтобы вместо значений констант можно было использовать в программе их имена. Такие константы называют именованными, например:
const MaxLen = 100; g = 9.8;
koeff = 5;
Применение именованных констант при осмысленном выборе имен улучшает читабельность программы и облегчает внесение в нее изменений. А еще в разделе описания констант описываются переменные, которым требуется присвоить значение до начала работы программы:
const weight : real = 61.5;
Синтаксически такая переменная отличается от константы наличием типа. Впоследствии ею можно пользоваться так же, как и другими переменными.
Раздел описания метокначинается с ключевого слова label, за которым через запятую следует перечисление всех меток, встречающихся в программе. Метки служат для организации перехода на конкретный оператор с помощью оператора безусловного переходаgoto. Метка— это либо имя, либо положительное число, не превышающее 9999. Метка ставится перед любым исполняемым оператором и отделяется от него двоеточием:
label 1, 2, error;