Процедуры и функции Процедуры пользователя
Общие сведения Если в программе возникает необходимость частого обращения к некоторой группе операторов, выполняющих действия или вычисляющих выражение, то рационально сгруппировать эти операторы в блок, к которому можно обратиться по имени. Такие разработанные программистом самостоятельные программные блоки называются подпрограммами пользователя. Они являются основой модульного программирования. Подпрограмма – поименованная или идентифицированная часть компьютерной программы, содержащая описание определенного набора действий.
Назначение подпрограммы: Подпрограмма может быть многократно вызвана из разных частей программы, причем при вызове подпрограмме передать информацию различную в разных вызовах. Назначение: Структуризация программы с целью удобства ее понимания и сопровождения; Выполнение однотипных действий.
Достоинства подпрограмм: Программы, написанные с участием подпрограмм легче тестировать и отлаживать; Изменение подпрограммы не приводит к изменению основной программы; Наличие подпрограмм позволяет разделять работу между разными программистами; Использование подпрограмм позволяет экономить память.
Понятие процедуры: В языке Turbo Pascal подпрограммы реализованы посредством процедур и функций. Имея один и тот же смысл и аналогичную структуру, они различаются назначением и способом их использования. Все процедуры и функции подразделяются на две группы: встроенные и определенные пользователем. Встроенные являются частью языка и могут вызываться по имени без предварительного описания. Процедуры и функции пользователя пишутся самим программистом в соответствии с синтаксисом языка в разделе описания процедур и функций.
Определение: Процедура – это независимая именованная часть программы, которая после однократного описания можно многократно вызывать по имени из последующих частей программы для выполнения определенных действий. Процедура не может выступать как операнд в выражении.
Структура процедуры: procedure Имя_процедуры(формальные параметры); {описательная часть процедуры} begin {инструкции исполнительной части процедуры} end;
Вызов процедуры: Для обращения к процедуре используется оператор вызова процедуры. Он состоит из имени процедуры и списка фактических параметров, отделенных друг от друга запятыми и заключенных в круглые скобки. Список параметром может отсутствовать, если процедуре не передается никаких значений. Имя_процедуры (фактические параметры);
Работа с процедурой: Если процедура возвращает в программу какие-то значения, соответствующие переменные должны быть описаны как параметры-переменные с использованием слова var. При вызове процедуры работа главной программы приостанавливается и начинает выполняться вызванная процедура. Когда процедура выполнит свою задачу, программа продолжается с оператора, следующего за оператором вызова процедуры.
Описания меток, констант, типов и т.п. действительны только в пределах данной процедуры. Для принудительного выхода из процедуры используется оператор завершения exit, который обеспечивает выход в основную программу. Работа с процедурой: