Лекция 10. Процедуры и функции в Паскаль.
Современный подход к разработке программ поощряет явное оформление в виде подпрограммы любого достаточно самостоятельного и законченного программного фрагмента.
Подпрограмма - это часть программы, оформленная в виде отдельной синтаксической конструкции и снабженная именем. 'Вызов' подпрограммы, т. е. Выполнение действий, заданных в подпрограмме в виде операторов, может быть произведен в некоторой точке программы посредством указания имени. Сосредоточив в одном месте программы подробное описание некоторых 'технических' аспектов вычислений в остальной программе достаточно указать из имена, не конкретизируя отдельные части. Любая подпрограмма может содержать описания некоторой совокупности локальных объектов - констант, типов, переменных и т. д.
Структура подпрограммы практически точно повторяет структуру Pascal - программ (часть подобна целому). При описании подпрограммы в общем случае необходимо задать три основные компоненты:
· интерфейс подпрограммы, то есть информацию, необходимую для ее вызова (активизации);
· локальный контекст подпрограммы - совокупность описаний (рабочих) объектов, с которыми осуществляются действия;
· операторы, составляющие смысл подпрограммы.
Интерфейс сосредоточен в заголовке. Описание локальных объектов и операторы (алгоритм) составляют ее внутреннюю часть. Можно сказать, что заголовок содержит информацию о том, что делает подпрограмма, а тело подпрограммы описывает, как она это делает.
Рисунок 10.1 - Процедура и функция
В языке Pascal имеется два вида подпрограмм - процедуры и функции. Процедуры служат для задания совокупности действий, направленных на изменение внешней по отношению к ним программой обстановки (определение новых значений переменных или запись информации в файлы). Смысл функций заключается в том, чтобы определить алгоритм вычисления нового значения некоторого простого или ссылочного типа.
Например;
Procedure sin (var x, y : real);
Procedure stop;
Function max(a, b:byte): byte;
Рисунок 10.2 – Заголовок процедуры
Рисунок 10.3 – Заголовок функции
Объявление переменных можно сформулировать в виде следующих правил:
· имена объектов, описанных в некотором блоке, считаются известными в пределах данного блока, включая и все вложенные блоки;
· эти объекты должны быть уникальными в пределах блока.