Osnovy_informatiki_-_6_Podprogrammy
.pdfПодпрограммы
2 0 1 2
Подпрограммы
2
Подпрограмма – последовательность операторов, имеющая имя и, возможно, список параметров
Подпрограмма может быть вызвана из программы или другой подпрограммы
Вызов подпрограммы осуществляется по ее имени
В вызове указываются также значения параметров
|
Чердынцева М.И. Мехмат ЮФУ |
27.10.2012 |
|
|
|
|
|
|
|
|
|
Цели введения подпрограмм
3
Разбиение большой программы на части, каждая из которых имеет имя и решает определенную задачу (именование алгоритма решения задачи)
Обеспечение массовости алгоритма не через ввод данных, а через передачу параметров
|
Чердынцева М.И. Мехмат ЮФУ |
27.10.2012 |
|
|
|
|
|
|
|
|
|
Типы подпрограмм
4
Процедура
Функция
Вызов процедуры – оператор процедуры. Используется как любой другой оператор.
Вызов функции – указатель функции. Используется как операнд в выражении.
|
Чердынцева М.И. Мехмат ЮФУ |
27.10.2012 |
|
|
|
|
|
|
|
|
|
Примеры стандартных подпрограмм
5
Процедуры ввода/вывода read( a,b);
writeln(‘ s = ‘, s);
Стандартные функции
Y:= sin(X);
if odd(N) then ….
|
Чердынцева М.И. Мехмат ЮФУ |
27.10.2012 |
|
|
|
|
|
|
|
|
|
6
Описание процедур и функции выполняется в разделе описаний
Вызов процедуры и функции возможен из основной программы или из другой подпрограммы, если выполняется требование предварительного описания
|
Чердынцева М.И. Мехмат ЮФУ |
27.10.2012 |
|
|
|
|
|
|
|
|
|
Синтаксис описания процедуры
7
procedure <имя >
[(<послед-ть спецификаций формальных параметров>)];
<раздел локальных описаний> begin
<операторы> end;
|
Чердынцева М.И. Мехмат ЮФУ |
27.10.2012 |
|
|
|
|
|
|
|
|
|
Синтаксис вызова процедуры
8
<имя>[(<список фактических параметров>)]
|
Чердынцева М.И. Мехмат ЮФУ |
27.10.2012 |
|
|
|
|
|
|
|
|
|
Пример
9
program ORDER;
procedure SWAP( var a, b:real); var t:real;
begin
t:=a; a:=b; b:=t end;
var a, b, c:real; begin
read (a, b, c); SWAP(a, b); SWAP(b, c); writeln (a, b, c)
end.
a |
b |
c |
|
|
|
|
|
3 |
7 |
2 |
|
|
|
|
|
7 |
3 |
|
SWAP (a, b) |
|
|
|
|
7 |
2 |
3 |
SWAP(b, c) |
|
|
|
|
|
Чердынцева М.И. Мехмат ЮФУ |
27.10.2012 |
|
|
|
|
|
|
|
|
|
Функции
10
Функция - это подпрограмма, возвращающая одно значение определенного типа так, что это значение может быть непосредственно использовано в выражении
|
Чердынцева М.И. Мехмат ЮФУ |
27.10.2012 |
|
|
|
|
|
|
|
|
|