Написанная по правилам стандарта языка Паскаль программа будет иметь в своем полном варианте структуру показанную ниже:
PROGRAM
Имя_Программы;
USES
Список используемых библиотек (модулей);
LABEL
Список меток в основном блоке программы;
CONST
Определение констант;
TYPE
Описание типов;
VAR
Определение глобальных переменных программы;
ОПИСАНИЕ ПРОЦЕДУР;
ОПИСАНИЕ ФУНКЦИЙ;
BEGIN
Основной блок программы (операторы)
END.
Таким образом, программа содержит два раздела: (I) раздел описаний (блоки USES, LABEL, CONST, TYPE, VAR, а также описание процедур и функций) и (II) исполняемую часть (основной блок). Раздел описаний, в принципе, не является обязательным и может вовсе отсутствовать. Заголовок программы, начинающийся с ключевого слова PROGRAM, выполняет исключительно декоративную функцию, и поэтому также может отсутствовать.
Самая короткая "программа" на языке Турбо Паскаль выгдядит следующим образом:
BEGIN
END.
Она ничего не делает, но работает!
Деректива USES подключает библиотечные модули из стандартного набора Турбо Паскаля или написанные программистом. У дерективы USES есть свое четко определенное место: если она присутствует, то должна находится перед прочими разделами описаний. Кроме этого, слово USES может появиться в программе только один раз. Список модулей дается через запятую, например:
USES CRT, DOS, Graph, My_Unit;
Блок описания меток LABEL содержит перечисленные через запятую метки переходов. Блоков LABEL может быть сколько угодно и располагаться они могут где угодно в пределах раздела описаний. Метки могут обозначаться целым числом в диапазоне от 0 до 9999 или символьными конструкциями длнной не более 63 символов, например
LABEL 1, 12, Start, Finish, m1, m2;
Блок объявления констант CONST так же, как блок LABEL может располагаться в любом месте раздела описаний. Таких блоков может быть несколько или может не быть вообще. В них размещают определения констант различных видов.