Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Val_ Pas1v2_07_гот.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
534.53 Кб
Скачать

7.1 Понятие процедуры. Вызов процедуры

В практике программирования часто встречаются случаи, когда при выполнении программы приходится выполнять одни и те же вычисления, но при различных исходных данных. Чтобы исключить повторение одинаковых операторов и тем самым сделать программу проще и понятнее, можно выделить эти операторы в отдельную (автономную, локальную) часть и обращаться к ней по мере необходимости. Такая отдельная автономная часть называется Подпрограммой.

Процедура, Функция (подпрограмма) – фрагмент программы, реализующий решение какой-либо части задачи.

Обращение к Процедуре или Функции (вызов) может быть выполнено из различных частей программы. В этом случае выполнение основной программы приостанавливается и управление передается в Процедуру. По окончании работы Процедуры управление возвращается основной программе.

Вызов процедуры

Вызов процедуры (обращение к Процедуре) в основной программе:

<имя процедуры>(<список переменных>);

где количество и тип переменных идентичны описанию Процедуры.

Все переменные, которые использует Процедура, могут быть либо глобальные, т.е. объявленные в основной программе и доступные как программе, так и всем ее Процедурам, либо локальные, объявленные внутри Процедуры (или ) и доступные только ей самой.

Структура Процедуры полностью повторяет структуру программы и располагается перед «главным» оператором BEGIN. Любая программа может иметь несколько процедур и функций.

P rocedure <имя процедуры>(список переменных:<тип >);

V

Параметры процедуры

ar

…<описание внутр.переменных>

begin

<тело процедуры>

end;

7.2 Входные и выходные параметры

Параметры процедуры - это входные и выходные переменные, посредством которых основная программа обменивается данными с Процедурой. Различают входные и выходные параметры.

Входные параметры – это переменные, в которые передаются значения переменных или констант основной программы в Процедуру, и не предназначены для возврата.

Procedure printkvadr (i:integer);

Var x:real;

Begin

 X:= i*i;

writeln('квадрат числа ', x:5:2);

end;

Выходные параметры – это переменные (не константы), которые передаются основной программой в Процедуру, но их измененные в Процедуре значения, будут возвращены основной программе. При объявлении таких параметров указывается служебное слово Var.

Procedure kub (var x,у:real);

Var x:real;

Begin

 y:= x*x*x;

writeln('куб числа ', y:5:2);

end;

Пример:

{Процедура вычисления факториала}

Procedure fakt(n:integer; Var rez:integer);

Var i:integer;

Begin

rez:=1;

For i:=1 to n do

begin

rez:=rez*i;

end;

writeln('Факториал ',n:2, '!=',rez)

end;

{Вызов в основной программе}

...

Fakt(1,f1);

Fakt(3,f3);

Fakt(5,f5);

Fakt(7,f7);

Данный фрагмент программы из 4-х строк позволяет вычислить значения факториалов простых чисел первого десятка. После завершения процедуры fakt в основной программе переменные f1, f3, f5, f7 будут равны факториалу их индекса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]