Similar presentations:
Подпрограммы. Что это?
1.
Подпрограммы2.
Что это?Подпрограмма - функционально независимая
часть программы.
Предназначены для:
1) Структурирования
(разбиения
основного
алгоритма на части) программы.
2) Оптимизации
однотипных
нестандартных
действий.
3.
Процедуры и функцииПроцедура – группа команд, объединенная одним
именем, выполняющая в точке вызова какое-либо действие.
Функция – группа команд, объединенная одним именем,
возвращающая в точку вызова какое-либо значение.
Стандартные процедуры и функции
Процедуры
Функции
Writeln();
Readln();
TextColor();
Circle();
GoToXY();
Sqrt(x);
Abc(x);
WhereX();
Sin(x);
4.
Процедура программистаProcedure Imya (x,y: real; var z:integer);
uses… const… type… var…
begin
тело процедуры;
end;
…
Begin
Imya(a,b,c);
…
End.
5.
Процедура программистаПараметр – величина от которой зависит
выполнение подпрограммы.
Формальные (используются при описании алгоритма
подпрограмм, не имеют конкретных значений)
x,y – аргументы (забирают данные из основной
программы)
z – результаты (возвращают данные в программу)
Фактические (конкретные значения, подставляемые
при вызове в основной программе) – a,b,c.
При вызове подпрограмм должно совпадать
количество и тип формальных и фактических параметров
6.
Функция программистаFunction Imya (x,y: real):boolean;
uses… const… type… var…
begin
тело функции;
Imya:=значение;
end;
…
Begin
с:=Imya(a,b);
…
End.
7.
Функция программистаПараметры:
Формальные - x,y
Фактические - a,b.
В точке вызова к функции нельзя просто обратиться
по имени, т.к. функция возвращает значение и его
необходимо запомнить в переменную, вывести на экран
и т.п.
Процедура == Действие
Функция == Значение
8.
Рекурсия9.
Что это?Рекурсия – подпрограмма, вызывающая в
теле сама себя.
Procedure Imya;
begin
• Условие выхода;
• Вызов самой себя;
end;
10.
В процедурахВозведение числа X в степень N
Procedure Power (X: real; N: integer; var Y: real);
Begin
If N=0 then
Y:= 1
Else
Begin
Power(X, N-1,Y);
Y:= Y*X;
End ;
End ;
11.
В функцияхВычисление факториала числа N
Function factorial(N: integer) : longint;
Begin
If N= 0 then
Factorial := 1
Else
Factorial := factorial(N-1) * N
End;
Факториал числа n — произведение всех натуральных
чисел от 1 до n включительно.
5!=1*2*3*4*5=120