Процедуры с параметрами

 

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

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

Описания меток, констант, типов действительны только в пределах данной пользовательской процедуры.

Для принудительного выхода из процедуры используется оператор exit, который обеспечивает выход во внешний блок, т.е. в основную программу.

Пример программы вывода горизонтальной линии, в которой используется процедура без формальных параметров:

 

uses crt;

procedure hor;

var i: integer;

begin

for i:= 1 to 30 do

write('-');

end;

begin

clrscr;

hor;

end.

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

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

 

PROCEDURE Stepen (n: integer; x: real; var y: real);

var i: integer;

Begin

y:= 1;

for i:= 1 to n do

y:= y*x;

End;

{основная программа}

Var

j: integer;

a,b: real;

begin

readln(a,j);

if j = 1 then

b:= 1

else

if j > 0 then

STEPEN (j, a, b)

else

STEPEN (-j, 1/a, b);

writeln(a:9:2, ' в степени ', j:2 ,' равно ', b);

end.

В процедуре формальные параметры N и X определяют исходные данные (N – степень, X – число), а Y - результаты выполнения, т.е. значение искомой степени числа. При вызове процедуры stepenпроисходит замена формальных параметров (N, X, Y) фактическими(J, A, B)и выполняются операторы тела процедуры. При замене формальный параметр N принимает конкретное значение переменной J или –J, а X – переменной A или арифметического выражения 1/A. Затем в процедуре вычисляется значение Y и его значение передается в точку вызова в виде результата B. возврат в программу после выполнения процедуры stepenосуществляется к оператору, следующему за оператором вызова процедуры, в рассмотренном примере к оператору writeln.








Дата добавления: 2017-11-04; просмотров: 1827;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.