- •1.2.5. Лексика, синтаксис и семантика языков программирования
- •2.1. Алфавит языка
- •2.2. Структура программы
- •2.3. Концепция типа для данных
- •2.4. Стандартные типы данных
- •2.5. Перечисляемые и ограниченные типы
- •2.6. Константы
- •2.7. Переменные
- •2.8. Инициализация переменных
- •3.1. Оператор присваивания
- •3.2. Операторы ввода и вывода
- •3.3. Выражения
- •3.4. Составной оператор
- •3.5. Условный оператор
- •3.6. Оператор варианта
- •3.7. Цикл с предусловием
- •3.8. Цикл с постусловием
- •3.9. Цикл с параметром
- •3.10. Операторы завершения цикла
- •3.11. Метки и операторы перехода
2.2. Структура программы
Программа на языке Delphi состоит из заголовка, разделов описаний и раздела операторов. К разделам описаний относятся разделы описания переменных, констант, производных типов и подпрограмм:
-
Раздел объявления используемых модулей. Раздел описания модулей определяется служебным словом uses и содержит имена подключаемых модулей (библиотек) как входящих в состав стандартной библиотеки, так и написанных пользователем. Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми. Описание этого раздела имеет следующий синтаксис:
uses
имена_модулей;
-
Раздел объявления меток. Метки – это имена операторов программы. Метки используются для того, чтобы программист смог указать компилятору, какой оператор программы должен выполняться следующим. Однако используются метки крайне редко. Описание раздела имеет синтаксис:
label
список_меток;
-
Раздел объявления констант. Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описаний констант const по следующему правилу:
const
имя_константы = константное_выражение;
-
Раздел описания типов. В этом разделе можно определить свой тип данных, задав идентификатор типа и структуру нового типа данных. Определенные в этом разделе идентификаторы типов можно использовать для описания переменных.
-
Раздел описания переменных. В разделе описания переменных задается тип всех переменных, используемых в программе. Делается это по следующему правилу:
var
список_имен_переменных: тип_переменных;
-
Раздел объявления процедур и функций. Процедуры и функции – это относительно самостоятельные фрагменты программ, оформленные особым образом и снабженные именем. Упоминание этого имени в тексте программы называется вызовом подпрограммы. Описание подпрограммы имеет точно такую же структуру, как и программа, за одним исключением. В разделе описаний подпрограммы нельзя использовать оператор uses.
Раздел операторов представляет собой составной оператор, который содержит между служебными словами begin.......end последовательность операторов. Операторы отделяются друг от друга символом «;». Тело программы является обязательной частью программы. Текст программы заканчивается символом «точка» после слова end.
В соответствии со стандартом разделы должны обязательно располагаться в указанном порядке. Однако имеются следующие особенности:
-
Заголовок программы необязателен и игнорируется компилятором. Фактически заголовок играет роль комментария.
-
Раздел объявления используемых модулей должен указываться сразу после заголовка программы. Нельзя указывать несколько разделов uses.
-
Порядок размещения всех других разделов описаний произвольный. Можно создавать несколько одинаковых разделов, за исключением раздела подключения модулей.
-
В любом месте программы можно использовать те элементы, которые были определены ранее по тексту программы или являются предопределенными элементами языка.
-
Отдельные разделы описаний могут отсутствовать, но должны быть обязательно описаны все компоненты программы.
Кроме описаний и операторов программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев и закрывающей скобкой комментариев.
program TRIANG; {пример простой программы}
var A, B, C, S, P: real;
begin
Read(A,B,C);
WriteLn(A,B,C);
P:=(A+B+C)/2;
S:=Sqrt(P*(P–A)*(P–B)*(P–C));
WriteLn('S=',S:8:3)
end.
Текст программы может содержать ключи компиляции, которые позволяют управлять режимом компиляции. Синтаксически ключи компиляции записываются как комментарии. Ключ компиляции содержит символ $ и букву – ключ с последующим знаком + (включить режим) или – (выключить режим). Например:
{$E+} – эмулировать математический сопроцессор;
{$F+} – формировать дальний тип вызова процедур и функций;
{$N+} – использовать математический сопроцессор;
{$R+} – проверять выход за границы диапазонов.
Некоторые ключи компиляции могут содержать параметр, например:
{$I имя файла} – включить в текст компилируемой программы названный файл.