Описание процедуры и обращение к ней

Процедуры в языке программирования паскаль

Часто некоторую последовательность действий требуется повторить в нескольких местах программы. Для удобства программирования, обеспечения большей компактности программы и повышения ее наглядности язык программирования Паскаль позволяет выделить эту последовательность действий из основного текста программы (из раздела операторов), присвоить ей некоторое имя и записать ее только один раз. Присвоенное имя используется в основном тексте программы для вызова этой последовательности действий. Такая именованная последовательность операторов называется процедурой. Если процедура дает одно результирующее значение и, следовательно, может использоваться в выражениях, то такая процедура называется функцией (процедурой-функцией). Остальные процедуры называются процедурами-операторами, или просто процедурами.

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

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

Для обращения к описанию процедуры используется оператор процедуры. Он состоит из имени процедуры и списка фактических параметров. Фактические параметры отделяются друг от друга запятыми, а весь список заключается в круглые скобки. Между формальными и фактическими параметрами устанавливается взаимооднозначное соответствие путем их пересчета слева направо. Число фактических параметров должно равняться числу формальных параметров. Типы фактических параметров должны соответствовать типам формальных параметров.

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

Пример 1.1.

Пусть например задано следующее описание процедуры (эта процедура подает несколько раз звуковой сигнал BEEP):

PROCEDURE BEEP(N:INTEGER);

VAR I:INTEGER;

BEGIN

FOR I:=1 TO N DO WRITE(CHR(7))

END;

Тогда для вызова этой процедуры в разделе операторов можно применять ее оператор в следующих видах:

BEEP(10);

BEEP(K);

BEEP(I+10);

где I, K - целые числа.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: