Процедуры
Синтаксис описания процедуры
Пример процедуры
Функция
Синтаксис описания функции
Пример функции
Отличие функции от процедуры
Параметры подпрограмм
Нужны для
Показывают
Определяют
Описываются
Указываются
Пример
Способы передачи формальных параметров
По значению
Как переменную
Как константу
Примеры
339.50K
Категория: ПрограммированиеПрограммирование

Подпрограммы

1.

Подпрограммы
Представляют собой самостоятельные
фрагменты программы, оформленные особым
образом и снабженные именем. Упоминание
этого имени в тексте программы называется
вызовом подпрограммы.

2.

Существует два типа подпрограмм:
Процедуры и Функции

3. Процедуры

Предназначена для выполнения определённой
последовательности действий

4. Синтаксис описания процедуры

Procedure <имя_процедуры>(<формальные параметры>);
begin
{тело процедуры - операторы}
end;

5. Пример процедуры


Type arr=array[1..5,1..5] of integer;
Procedure write_matr(x:arr);
Var i,j:integer;
Begin
For i:=1 to 5 do begin
For j:=1 to 5 do
write(x[i,j]:5);
Writeln;
End;
End
;

6. Функция


Предназначена для вычисления какоголибо параметра

7. Синтаксис описания функции


Function <имя_функции>(<форм.параметры>): <тип результата>;
Begin
{тело функции}
<имя_функции>:=<результат>
End;

8. Пример функции


Function fact(n:integer): longint;
Var f,i:longint;
Begin
F:=1;
For i:=1 to n do
F:=f*i;
Fact:=f
End;

9. Отличие функции от процедуры


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

10. Параметры подпрограмм


По области действия параметры бывают:
Глобальные — описаны в основной
программе и действуют внутри неё,
включая и все подпрограммы,
Локальные — описаны в подпрограмме и
действуют только внутри неё

11.


Связь основной программы с
подпрограммой осуществляется через
глобальные параметры, используя
1) непосредственно имена глобальных
параметров
2)через механизм формальных
параметров

12.

Формальные параметры

13. Нужны для


Для связи основной программы с
подпрограммой

14. Показывают


С какими параметрами нужно
обращаться к подпрограмме —
количество, тип, последовательность
этих параметров

15. Определяют


Класс задач, решаемых по данному
алгоритму

16. Описываются


Во время описания подпрограммы

17.

Фактические параметры

18. Указываются


В исполнительной части основной
программы в момент вызова
подпрограммы

19. Пример


Посчитать число сочетаний из 10
элементов по 3

20.


Program a1;
Var c:integer;
Function fact(n : integer) : longint;
Var f, i: longint;
Begin
F:=1;
For i:=1 to n do
F:=f*i;
Fact:=i
End;

21.


Begin
writeln(fact(10) div fact(3) div fact(7))
End.

22.

Способы передачи
формальных параметров

23.

Разрешают или запрещают
изменение параметра внутри
подпрограммы

24. Способы передачи формальных параметров


По значению
Как переменную
Как константу

25. По значению


Procedure <имя>(<имя_пар1>:<тип>;<имя_пар2>,<имя_пар3>:<тип>);

26. Как переменную


Procedure <имя>(var<имя_пар1>:<тип>; var <имя_пар2>,<имя_пар3>:<тип>);

27. Как константу


Procedure <имя>(const<имя_пар1>:<тип>; const<имя_пар2>,<имя_пар3>:<тип>);

28. Примеры

Procedure summa (const z:arr; var x,y:integer);
var i,j:integer;
begin
x:=0; y:=0;
for i:=1 to 5 do
for j:=1 to 5 do
if z[i,j]>0 then x:=x+z[i,j]
else y:=y+z[i,j]
end;

29.

Procedure mno (const z: arr; var x: arr);
var i,j:integer;
begin
for i:=1 to 5 do
for j:=1 to 5 do
x[i.j]:=z[i,j]*5
end;

30.

Procedure umn ( var x: arr);
var i,j:integer;
begin
for i:=1 to 5 do
for j:=1 to 5 do
x[i.j]:=x[i,j]*5
end;
English     Русский Правила