ВУЗ:
Составители:
Рубрика:
47
тат работы процедуры может иметь и не вычислительный характер (на -
пример, организация вывода или ввода данных).
Формальные параметры, указываемые в заголовке процедуры, могут
быть разделены на две разновидности: параметры -переменные и пара-
метры -значения. Если какая-либо группа переменных должна рассматри-
ваться как параметры-переменные, то перед этой группой ставится слу-
жебное слово
var
. Например:
Procedure MyProcedure
98
(var a,b : real; c : word);
Определение формального параметра тем или иным способом суще-
ственно для вызывающей программы. Если формальный параметр объяв -
лен как параметр-переменная, то при вызове подпрограммы ему должен
соответствовать фактический параметр в виде переменной нужного типа.
Если формальный параметр объявлен как параметр-значение , то при вызо -
ве ему может соответствовать либо переменная, либо произвольное выра -
жение соответствующего типа . Замена формальных параметров на факти-
ческие при обращении к процедуре осуществляется следующим образом.
Если параметр определен как параметр-значение , то перед вызовом
подпрограммы вычисляется значение фактического параметра и получен-
ный результат передается подпрограмме. Любые возможные изменения в
подпрограмме параметра -значения никак не воспринимаются вызывающей
программой, так как в этом случае изменяется только копия фактического
параметра .
Если параметр определен как параметр-переменная, то при вызове
подпрограммы передается сама переменная, а не ее копия (фактически в
подпрограмму передается адрес переменной). Изменение параметра -
переменной приводит к изменению самого фактического параметра в вы-
зывающей программе.
Таким образом, параметры-переменные можно рассматривать как вы-
ходные параметры, с помощью которых результат, полученный в подпро -
грамме, передается в вызывающую программу. Параметры-значения могут
использоваться как входные параметры, с их помощью в подпрограмму
может передаваться информация, необходимая для работы подпрограммы.
Следует отдельно отметить особенность обмена данными между под-
программой и вызывающей программой в случае, когда в качестве таких
данных должны использоваться массивы. Эта особенность связана с тем
обстоятельством, что типом любого параметра в списке формальных пара -
метров может быть только стандартный тип языка или ранее объявленный.
Ошибочным, например, будет следующее объявление процедуры:
Procedure S(a : array [1..10] of real);
Здесь в списке формальных параметров используется ранее не объяв -
ленный нестандартный тип - диапазон (1..10). В связи с отмеченной особен-
ностью в тех случаях, когда в качестве данных, используемых при обмене
между процедурой и вызывающей программой, предполагается использо -
98
My [май] – мой.
Страницы
- « первая
- ‹ предыдущая
- …
- 45
- 46
- 47
- 48
- 49
- …
- следующая ›
- последняя »