ВУЗ:
Составители:
Рубрика:
62
function g(var a,b:integer): integer;
function h(a:integer): char;
Вторая особенность: составной оператор, который располагается в описании функции
после заголовка и, возможно, после описания локальных меток и переменных, должен обяза-
тельно содержать внутри себя оператор присваивания, в котором слева от := помещено имя
функции, например:
f:=3,14
g:=a+2*b
if a mod 2=0 then h:=’*’ else h:=’!’
Таких операторов присваивания может быть несколько, но при каждом конкретном об-
ращении к функции «сработать» должен
только один из них. Это присваивание и определит
значение функции.
Относительно параметров функции имеется полная аналогия с параметрами процедур.
Описание функции, как и описания процедур, располагаются в программе после совокупно-
сти описания процедур.
Расмотрим пример программы с трассировкой
1 Program pro6;
2 Var a,b,c:integer;
3 function
pr(x, y: integer) : integer;
4 Begin
5 x:=x+2;
6 y:=y-3;
7
pr :=(x+y) DIV 2;
8 end;
9 BEGIN
10 readln(a,b);
11 c:=
pr (a,b);
12 writeln(a,’ ‘,b,’ ‘,c);
13 END.
Таблица трассировки
№ Ход выполнения a b c
9 Вход в pro6 ? ? ?
10 2 3
11 Вызов pr x y pr
4 Вход pr 2 3
5 4
6 0
7 2
8 Выход из pr
11 Возврат в pro6 2
12 Вывод a,b,c (2 3 2)
13 Выход из pro6
function g(var a,b:integer): integer;
function h(a:integer): char;
Вторая особенность: составной оператор, который располагается в описании функции
после заголовка и, возможно, после описания локальных меток и переменных, должен обяза-
тельно содержать внутри себя оператор присваивания, в котором слева от := помещено имя
функции, например:
f:=3,14
g:=a+2*b
if a mod 2=0 then h:=’*’ else h:=’!’
Таких операторов присваивания может быть несколько, но при каждом конкретном об-
ращении к функции «сработать» должен только один из них. Это присваивание и определит
значение функции.
Относительно параметров функции имеется полная аналогия с параметрами процедур.
Описание функции, как и описания процедур, располагаются в программе после совокупно-
сти описания процедур.
Расмотрим пример программы с трассировкой
1 Program pro6;
2 Var a,b,c:integer;
3 function pr(x, y: integer) : integer;
4 Begin
5 x:=x+2;
6 y:=y-3;
7 pr :=(x+y) DIV 2;
8 end;
9 BEGIN
10 readln(a,b);
11 c:= pr (a,b);
12 writeln(a,’ ‘,b,’ ‘,c);
13 END.
Таблица трассировки
№ Ход выполнения a b c
9 Вход в pro6 ? ? ?
10 2 3
11 Вызов pr x y pr
4 Вход pr 2 3
5 4
6 0
7 2
8 Выход из pr
11 Возврат в pro6 2
12 Вывод a,b,c (2 3 2)
13 Выход из pro6
62
Страницы
- « первая
- ‹ предыдущая
- …
- 60
- 61
- 62
- 63
- 64
- …
- следующая ›
- последняя »
