Структура главной программы:
program <имя программы>; <предложение uses> label <метки>; const <объявление констант>; type <определение типов данных>; var <объявление переменных>; <объявления подпрограмм - процедур и функций> begin <тело программы - операторы> end.
Наличие всех пяти секций объявлений - label, const, type, var, procedure и function - в Вашей программе необязательно.
Заголовок программы (необязательный) должен быть первым, за ним следует предложение uses (если используются модули), а тело программы - последним. Порядок описания остальных секций жестко не регламентирован, но ЛЮБОЙ ИДЕНТИФИКАТОР ДОЛЖЕН БЫТЬ ОБЪЯВЛЕН ДО (т е раньше по тексту) ИСПОЛЬЗОВАНИЯ - во избежание ошибок компиляции.
Например, описание типа:
type nedela = 1..7; {нужно расположить раньше, чем объявление
переменных этого типа}
var dni, rab_dni: nedela;
Структура подпрограмм (то есть их объявления) очень похожи на структуру главной программы.