Next:6.1.4
Получение результатов-выходные параметры
Up:6.1
Подпрограммы: процедуры и функции
Previous:6.1.2
Блоки и локализация имен
Часть из них -- это переменные, локализованные внутри процедуры и принимающие
различные начальные значения при разных вызовах. Эти параметры называются
входными
(или параметрами-значениями). Типы и виды всех параметров процедуры
определяются в списке формальных параметров (рис. 6.2), размещаемом
в круглых скобках после имени процедуры в ее заголовке, в котором спецификация
входных формальных параметров задается в соответствии с диаграммой рис.
6.3.
FormalParameters = "(" [ FPSection { ";" FPSection } ] ")" [ ":" FormalType
].
FPSection = ( InFPSection | OutFPSection ).
Рис. 6.2. Синтаксис формальных парамерных параметров
InFPSection = ident { "," ident } ":" FormalType.
Рис. 6.3. Спецификация входных формальных параметров
Таким образом, если процедуру Линия необходимо вызывать для рисования разными символами строк разной длины, то в ней необходимо завести два параметра. Такая процедура используется в программе ГИСТОГРАММА, приведенной ниже. Программа читает непустую последовательность , где -- целые числа, и рисует строк, -я из которых состоит из abs()+1 знаков "минус", если , и из 100 знаков "умножить", если .
module Гистограмма;
const N = 100;
var K,M : iteger; A : integer;
procedure Линия (N:integer; Знак:char);
var I : integer;
begin for I := 1 to N do
write(Знак) end; writeln
end Линия;
begin
read(M);
for K := 1 to M do
read(A);
if A > N then
Линия (N,'')
else
Линия(abs(A)+1, '-') end
end
end Гистограмма.
Различные значения, присваиваемые в качестве начальных значений формальным параметрам, задаются в операторах вызова выражениями, называемыми фактическими параметрами. Длина списка фактических параметров в операторе вызова (заметим, что фактические параметры в списке разделяются запятой, а формальные -- точкой с запятой) должна совпадать с длиной списка формальных параметров в описании вызываемой подпрограммы. Причем в этих списках должны совпадать типы любых двух параметров, расположенных на одних и тех же позициях в списках; такие параметры называются соответствующими. В момент вызова каждый фактический параметр вычисляется и его значение присваивается соответствующему формальному параметру.
Next:6.1.4
Получение результатов-выходные параметры
Up:6.1
Подпрограммы: процедуры и функции
Previous:6.1.2
Блоки и локализация имен