Руководство по языку B.Pascal 7



              

Процедуры и функции


Код между последними операторами begin и end программы уп- равляет логикой программы. В очень простой программе в этой сек- ции кода может содержаться все, что вам нужно. В более крупных и сложных программах размещение в этой секции всего программного кода может затруднить чтение и понимание программы. К тому же ее будет труднее разрабатывать.

Процедуры и функции позволяют разделить логику программы на более мелкие и управляемые фрагменты и аналогичны подпрограммам в других языках. Как и в основном блоке программы, все действия в процедурах и функциях заключаются в begin и end. Каждый из этих сегментов кода выполняет конкретную задачу.

----------------------------------------------------------- ¦ Процедура или функция ¦ ¦---------------------------------------------------------¦ ¦¦ Заголовок процедуры или функции ¦¦ ¦L---------------------------------------------------------¦ ¦---------------------------------------------------------¦ ¦¦ Блок процедуры или функциями ¦¦ ¦¦ begin ¦¦ ¦¦-------------------------------------------------------¦¦ ¦¦¦ Логика ¦¦¦ ¦¦L-------------------------------------------------------¦¦ ¦¦ end; ¦¦ ¦L---------------------------------------------------------¦ L-----------------------------------------------------------

Рис. 1.1 Диаграмма процедуры или функции.

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

Приведем пример функции. Следующая функция GetNumber получа- ет число от пользователя:

function GetNumber: Real; var Responce: Real; begin Write('Введите число: '); Readln(Response); GetNumber := Response; end;

Процедура или функция должна содержаться в программе перед секцией основного кода. В основном коде она может затем использо- ваться (вызываться).

----------------------------------------------------------- ¦ Процедура или функция ¦ ¦---------------------------------------------------------¦ ¦¦ Заголовок процедуры или функции ¦¦ ¦L---------------------------------------------------------¦ ¦---------------------------------------------------------¦ ¦¦ Блок процедуры или функциями ¦¦ ¦¦-------------------------------------------------------¦¦ ¦¦¦ Процедуры или функции (0 или более) ¦¦¦ ¦¦L-------------------------------------------------------¦¦ ¦¦ begin ¦¦ ¦¦-------------------------------------------------------¦¦ ¦¦¦ Логика ¦¦¦ ¦¦L-------------------------------------------------------¦¦ ¦¦ end; ¦¦ ¦L---------------------------------------------------------¦ L-----------------------------------------------------------




Содержание  Назад  Вперед