Процедуры описываются в специальном разделе описательной части программы вслед за разделом переменных. Любая процедура состоит, аналогично программе, из заголовка процедуры и тела процедуры.
Заголовок процедуры представляет собой:
PROCEDURE < и м я> (список параметров);
где PROCEDURE – служебное слово;
имя – имя процедуры, определяемое в соответствии с правилами построения идентификаторов;
список параметров - перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типов.
Задача. Составить программу вычисления степени Z=am, где m любое целое (положительное или отрицательное) число и ‘a’ не равно нулю. Для решения использовать процедуру с параметром.
учитывая, что 1/(a)-m = (1/a)-m и используя процедуру с параметром составим программу:
Программа решения задачи имеет вид:
program step; {заголовок программы}
var {описание переменных}
m:integer; {показатель степени}
a,z:real; { число, результат }
procedure step1 (n:integer; x:real;var y:real); {заголовок процедуры}
var
i:integer;
begin {операторная часть процедуры}
|
|
y:=1;
for i:=1 to n do {цикл для вычисление степени}
y:=y*x; {цикл для вычисление степени}
end; {конец процедуры}
begin
writeln (' Введите a,m '); {вывод сообщения}
readln (a,m); {ввод с клавиатуры значений в массив}
If m=0 then z:=1 {проверка условия, выполнение оператора}
else if m>0 then step1(m,a,z) {иначе проверка условия, выполнение оператора}
else step1(-m,1/a,z); {иначе выполнение оператора}
writeln (a:4:2,' в степени ',m:3,' равно ',z:4:2); {вывод результата}
end. {конец программы}