Структура программы в языке Pascal

Любая программа на языке Паскаль обладает тремя разделами:

  1. Заголовок,
  2. Блок описания переменных и функций,
  3. Основное тело программы.

Пример:

Program название; // Название программы
// Это раздел описаний переменных функций, модулей и т.п
begin
// Тело функции — сюда записывают основные операторы
end.

Заголовок

Самая первая строчка любой программы является заголовок. Он начинается со слова Program, после которого можно написать любо произвольное имя программы. К примеру: Program My first program. Есть несколько условий для заголовка программы:

  1. Название не должно начинаться с цифры.
  2. Не должно совпадать зарезервированным словам языкам языка.
  3. Не должно совпадать с именами переменных и функций из раздела описаний.
  4. Не допустимо использование символов(«, /, %, &… и других) кроме подчеркивания.
  5. Заголовок писать не обязательно.
  6. Заголовок должен раскрывать смысл программы (желательно, но не обязательно).

Раздел описаний

Это область между заголовком и словом begin. Здесь программист объявляет переменные, структуры, массивы, функции, модули, константы и другие конструкции языка.

Пример:

Program название;
var // Объявление переменных
s, p, f: integer;
t, r: string;
y, c: char;

const // Объявление констант
O:=5;
I:=6;

procedure add() // Объявление процедуры
begin
p:=O+I;
end;

function multy() // Объявление функции
begin
s:=p*I;
end;

begin
// Тело функции — сюда записывают основные операторы

end.

В разделе описаний также можно подключать различные файлы, библиотеки, классы, модули и т.п. Для этого предусмотрено ключевое слово uses, после которого идет имя подключаемого модуля.

Пример:

Program Hello;
uses crt // подключаем модуль командной строки для использования дополнительных функций

// описание переменных

begin
// Основная программа
end.

Тело программы

Сюда записываются основные операторы. Здесь выполняется сама программа. Компилятор, прежде чем выполнить операторы из тела функции сначала распределяет память. Делает он это следующим образом: в разделе объявлений он находит переменные, константы и другое, и отводит для них память.

Если переменным присваиваются значения, то компилятор сохраняет значения в память. То же самое происходит с процедурами или функциями. Компилятор резервирует для них память. Тело функции выполняется только после того, как память распределена в разделе описания.

Пример:

Program название;
var // Объявление переменных разных типов
i, j, z: integer;
a, b: string;
d, e: char;

const // Объявление констант
U:=5;
T:=6;

procedure sum() // Объявление процедуры
begin
j:=U+T;
end;

function multyply() // Объявление функции
begin
z:=j*I;
end;

begin
// Тело функции — сюда записывают основные операторы
i:=80;
sum(); // Вызываем процедуру, которая присваивает значение
переменной
multiply(); // вызов функции, которая возвращает z
writeLn(z);
end.

Для блоков кода используются операторы begin end, только в конце ставится точка с запятой. В основном блоке программы после end ставится точка. Блок кода — подпрограмма, поэтому он выделяется отдельным begin end. Блоки используют циклы, функции, процедуры, операторы условия, объекты (object Pascal) и другие конструкции.

Раздел описания меток

Метки указываются в разделе описания. Они служат как обозначение мест, в какой участок программы будет переходить компилятор при попадании на оператор goto. Метки объявляются оператором label.

Пример:

Program Metki;
label
place1; // метки для оператора goto
place2;
place3;

var
a, b: string;

begin
place1; // Переход программы сюда по имени метки
write(«a»);
write(«b»);
write(«c»);
goto place1; // Указали на какую метку переходить
end.

В примере выше мы создали бесконечный цикл. Программа будут выводить «abc…» до тех пор, пока компьютер не зависнет.

Ограничения тела программы

В теле программы нельзя объявлять переменные, функции, процедуры, константы или другие типы. За это отвечает исключительно раздел описаний. Объявленным переменным можно присваивать значения в теле программы, но не объявлять. Если это сделать, то компилятор выдаст ошибку.

Также в теле программы нельзя использовать uses. Функции и процедуры здесь не объявляются, а только вызываются на выполнение. Это же относится и к меткам. Они должны объявляться в разделе описания.

Модули

Когда мы подключаем посредство оператора uses какой либо модуль, то можно заметить, что его описание отсутствует в программе. Модули — это отдельные файлы, которые обладают своей структурой описания. Модули — это набор переменных, констант, процедур и функций, которые можно использовать в основной программе. Если использовать среду разработки ABCPascal, то мудулями там являются: crt, graphABC и другие.

Модули не записывают в структуру программы, а подключают посредством оператора uses. Обычно модули хранятся в директории проекта. Если они хранятся в другой директории, то после uses нужно написать путь к модулю и его имя.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *