Раздел указания используемых модулей (Предложение uses)
Заголовок программы
Заголовок программы не обязателен и используется в декоративных целях. Имя программы – идентификатор.
Пример:program Simple;
Данный раздел начинается с зарезервированного слова uses. Присутствие в программе предложения uses не обязательно. Оно описывается в случаях, если в программе используются константы, типы, переменные, процедуры или функции, определенные в стандартных модулях Turbo Pascal (Crt, Graph и др.), кроме модуля System, или в модулях, созданных пользователем.
Примеры:
uses Crt, Graph;
uses Crt, Graph, Mylib, Stack;
Предложение uses в каждой отдельной программе может быть описано только один раз и должно располагаться непосредственно после заголовка программы.
Стандартный модуль System всегда используется по умолчанию и указывать его в предложении uses не нужно. Этот модуль поддерживает такие средства, как файловый ввод-вывод, обработка строк, операции с плавающей запятой, динамическое распределение памяти. Остальные стандартные модули автоматически не подключаются и, в случае использования, обязательно указываются в предложении uses.
Модуль Graph содержит стандартные процедуры и функции для работы в графическом режиме.
Модуль Crt содержит процедуры и функции для работы в текстовом режиме: задержка изображения на экране, яркость свечения символов, позиционирование курсора, очистка экрана и т.д.
Раздел описаний также является не обязательным. Однако без его использования можно написать только самые примитивные программы.
Подразделы описания меток (label), констант (const), типов (type), переменных (var), процедур (procedure) и функций (function) могут повторяться многократно в рамках раздела описаний, но только в том порядке как указано. При этом должно быть выполнено следующее правило:
Если в описании какого-либо элемента В (константы, типа, переменной, процедуры, функции) используется элемент А (константа, тип и т.д.), то элемент А должен быть описан перед элементом В.
Общий вид записи следующий:
Label <список меток>;
Метка представляет собой идентификатор или число без знака. Метки могут предшествовать любому оператору программы и отделяются от операторов двоеточием «:». Используются метки совместно с оператором перехода goto, в котором метка записывается без двоеточия. Оператор перехода передает управление оператору, имеющему метку. Например,
label 1, Quit;
В большинстве случаев использование меток и операторов goto противоречит принципам структурного программирования, поэтому рекомендуется избегать применения этих конструкций в программах.
. . .
1: a:=1;
Quit: end.
В примере описаны две метки. Первый оператор goto передает управление оператору с меткой 1, где выполняется присвоение переменной a значения 1, далее выполняется второй оператор goto, который передает управление оператору end с меткой Quit, который завершает программу.
Константами называют параметры программы, значения которых не меняются в процессе выполнения программы. Общий вид описания констант:
Const <идентификатор> = <значение>;
В простейшем случае константа представляет собой число, строку символ или булевское значение.