Структура программы
Структура любой программной единицы (программы, процедуры или функции) должна быть такой:
<Объявление программной единицы> {Раздел описаний} BEGIN {Раздел исполняемых операторов} END <символ конца программной единицы>
Здесь:
- "Объявление программной единицы> – заголовок программы, процедуры или функции;
- заголовок программы можно опускать без каких-либо последствий для программы;
- для процедур и функций наличие заголовка обязательно;
- <символ конца программной единицы> – символ "." для программы или символ ";" – для процедуры и функции.
Любой из двух разделов программной единицы – раздел описаний или исполняемых операторов, или оба одновременно могут быть пустыми, т.е. не содержать никаких описаний или исполняемых операторов.
В разделе описаний должны содержаться описания всех идентификаторов, используемых в разделе исполняемых операторов. Исключением являются идентификаторы, определенные в интерфейсных частях программных модулей (библиотек), а также глобальные для процедуры или функции идентификаторы (см. гл. 8). Если программная единица использует идентификатор из интерфейсной части, какого-либо модуля (см. гл. 9), в начале программы в предложении USES необходимо указать имя этого модуля.
Последнее не относится к идентификаторам, определенным в стандартном модуле SYSTEM, т.е. имя этого модуля в предложении USES указывать не нужно. Более того, модуль SYSTEM считается предварительно объявленным, поэтому объявление:
Uses System;
Компилятор расценит как попытку двойного объявления модуля SYSTEM и даст соответствующее сообщение об ошибке. В разделе описаний объявляются идентификаторы типов, объектов, констант, переменных, а также метки, процедуры и функции. Описанию типов и объектов должно предшествовать зарезервированное слово TYPE, описанию констант – CONST, переменных – VAR и меток – LABEL, например:
type DigType = set of '0'.. '9'; StrType = string [40]; const N = 100; EPS = 1e-9; var x,y:real; st:StrType; label 1b1, 1b2;
В отличие от стандартного Паскаля разделы TYPE, CONST, VAR, LABEL могут следовать друг за другом в любом порядке и встречаться в разделе описаний сколько угодно раз.
Описание процедуры или функции заключается в указании заголовка этой процедуры (функции) и ее тела (подробнее см. в гл. 8).
Структура программных библиотек (модулей) описана в гл.9.