logo search

Процедуры Procedure

Операции, схожие с функциями, именуемые процедурами, но лишенные конкретного числового значения. Разница состоит в том, что конечная цель процедуры – не получение, конкретного одного значения (будь то число, символ, строка, логическая величина), что соответствует функции, а выполнение некоторых операций. Поэтому при организации процедуры тип результата не указывается. Самыми простыми примерами таких операций могут являться распечатка массивов, упорядочивание набора чисел и т. д.

Примечание:

Процедура

Назначение процедуры

Аргумент

Примеры

Inc(x)

увеличение целого х на 1

Integer

inc(d)

Inc(x,k)

увеличение целого х на k

Integer

inc(x, -2)

Dec(x)

уменьшение целого х на 1

Integer

dec(i)

Dec(x,k)

уменьшение целаго х на k

Integer

dec(j,6)

Randomize

изменение программы генерации случайных чисел

______

______

Пример:

Пусть необходимо поменять местами значения вводимых переменных х и у. Эта операция весьма распространена. Поэтому имеет смысл сделать ее стандартной, описав как процедуру. Назовем ее “Swap” (перестановка). Этой процедуре необходимо подавать значения двух переменных. При организации процедур важно помнить одно правило: если передаваемые в процедуру параметры будут в ней изменяться, их описание следует предварять словом Var. Тогда программа примет вид:

ProgramChange;

UsesCRT;{стандартная библиотека}

Var

x, y:Real;

Procedure Swap(Var aa, bb:real);

Var rr:Real;

Begin

rr:=aa; aa:=bb; bb:=rr

end;

Begin

Write(‘x= ‘); Readln(x);

Write(‘y= ‘); Readln(y);

Swap(x,y);

Writeln(‘x= ‘,x:4:1,’ y = ‘,y:4:1); {вывод на экран результата}

RepeatUntilKeyPressed;{стандартная функция из библиотеки CRT, приводит

к задержке окна результатов до нажатия любой клавиши}

End.

Результат работы программы:

x=4

y=6

x= 6.0y= 4.0