L раздел объявления и описания;

L раздел основного блока.

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

«процедура» и «функция» – термины, применяемые в Паскале для обозначения специальным образом оформленной последовательности команд (подпрограммы). Доступ к такой подпрограмме может быть осуществлен из любого места основного блока программы, а также из любой процедуры или функции, описание которых следует ниже. В разделе описаний процедур и функций в виде текста процедур и функций, который строится по правилам аналогичным правилам построение программы.

Основной блок программы состоит из последовательности операторов, причем работа программы начинается именно с первого оператора основного блока программы. Тело основного блока программы ограничено словами BEGIN и END.

Структура рассмотренной программы имеет вид:

PROGRAM Addition;

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

BEGIN

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

END.

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

Слово PROGRAM зарезервировано в Паскале и означает начало программы. Далее записывается имя программы (в приведенном примере Addition). В Турбо Паскале можно опускать объявление имени оператором PROGRAM без каких-либо последствий для программы.

Строки программы обычно выделяют некоторые смысловые фрагменты текста и могут не связываться с конкретными действиями в программе. Программа записывается в свободной форме, операторы не привязаны к определенной позиции строк в отличие от других языков программирования. Расположение текста программы по строкам – дело вкуса программиста, а не требование синтаксиса языка. В то же время рекомендуется программу записывать в такой внешней форме, чтобы ее легко можно было читать и понимать. Для этого широко используют пробелы, пустые строки и комментарии. Рекомендуется смысловые части выделять одинаковыми отступами от начала строки.

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

Разделитель ; отмечает конец оператора или описания. Использование особого разделителя позволяет располагать несколько операторов на одной строке.

После заголовка программы следует текст, заключенный в фигурные скобки. Это комментарий. Комментарий – выделенная фигурными скобками информация для пояснения, которая не используется программой. Кроме фигурных скобок { }, могут использоваться также пары символов (* и *) слева и справа от комментария соответственно.

Синтаксические диаграммы

Для описания синтаксиса языка часто используют синтаксические диаграммы. Синтаксическая диаграмма является направленным графом, при прохождении которого автоматически строится синтаксически правильная диаграмма. В диаграмме следует различать два типа символов:

 
 

Синтаксические диаграммы отражают лишь небольшую часть синтаксиса. Каждое понятие, заключенное в прямоугольник, требует, в свою очередь, некоторого определения. Структуру программы на Паскале можно представить следующей схемой (рис. 31):


На диаграмме видно, что заголовок может быть, а может нет. После заголовка идет собственно программа в виде некоторого блока. Понятие блок требует расшифровки (рис. 32).

Дадим еще диаграмму для описания (рис. 33).


Все определения в дальнейшем будут изучаться.

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

Раздел объявления модулей

За ключевым словом USES записывается список имен используемых стандартных (Crt, Dos, Printer, Graph, Turbo3, Graph3, Overlay) и пользовательских библиотечных модулей.

USES < список используемых стандартных и пользовательских модулей >;

Пример:

Uses Crt, Dos, MyMod;

РАЗДЕЛ ОПИСАНИЯ МЕТОК

Метка - это последовательность цифр и букв, стоящих перед любым исполняемым оператором и отделяемых символом : “двоеточие”. Все используемые в программе метки должны быть описаны, они могут быть целочисленными ( от 0 до 9999) или идентификаторами. Метка допустима везде, где допустим разделитель. Переход по метке выполняется оператором GOTO. Метки отделяются от помечаемого оператора двоеточием “ : ”.

Формат описания меток:

Label < список идентификаторов меток >;

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