Скачиваний:
43
Добавлен:
12.03.2015
Размер:
14.62 Кб
Скачать

6.7.3. Процедуры

Заголовок процедуры состоит из: 1) зарезервированного слова procedure; 2) имени; 3) списка формальных параметров.

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

Основное отличие процедур от функций состоит в том, что имени функции присваивается возвращаемое значение, а имени процедуры – нет.

Пример: программа, использующая процедуру, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром процедуры.

Program primer;

Var

n : integer;

procedure starline ( k : integer); {заголовок процедуры}

var

i : integer; {описание переменной для процедуры}

begin {начало тела подпрограммы}

for i : = 1 to k do

write ( ′ * ′ );

end; {конец тела подпрограммы}

begin {начало основной программы}

write ( ′ n = ′ ); readln (n);

starline (n); {вызов подпрограммы}

end.

В подпрограмму можно передавать целый массив. Для этого в качестве формального параметра указывается массив, тип которого должен быть сначала описан в разделе описания типов type.

Например :

const

n = 5; m = 6 ;

type

mas = array [1..n, 1..m ] of real;

var

m : mas ;

procedure pr ( a : mas );

В этом случае обращение к процедуре в вызывающей программе будет иметь вид : pr(m); При этом формальный параметр – массив а – принимает значение фактического параметра – массива m.

Когда лучше использовать процедуры и когда функции ? Это зависит от конкретного случая. Если подпрограмма вычисляет единственный результат, ее можно реализовать как функцию. Если же от подпрограммы требуется вычислить несколько значений, ее лучше оформить в виде процедуры.