ВУЗ:
Составители:
Рубрика:
37
procedure proc2(X)
writes(" ",X||"&proc2")
end
procedure proc3(X)
writes(" ",X||"&proc3")
end
Выход: O'KEY&proc1 O'KEY&proc2 O'KEY&proc3
Пример
со встроенными функциями:
procedure main()
f:=open("outp2.txt","wt")
plist:=[sin,cos,tan]
every i:=1 to 3 do write(f,plist[i](0.5))
end
В файл outp2.txt будет выведено:
0.479425538604203
0.8775825618903728
0.5463024898437905
Множество параметров процедуры (f) можно представить в
виде списка (L) и тогда вызовы процедуры:
f(L)
f ! L
"f"(L)
"f" ! L
Список формальных параметров может быть пустым, их
число может быть больше или меньше формальных параметров.
Лишние параметры игнорируются, пропущенным или недостаю-
щим присваивается значение &null. Пропуск параметров обозна-
чается
лишней запятой: f(x,,z).
Заметим, что Icon всегда ожидает, когда параметрам-пере-
менным будет присвоено окончательное значение:
writes(X:=3," ",X:=4," ",X:=5)
напечатает 5 5 5.
Но writes(X:=3,Y:=4,Z:=5) напечатает 345
38
10.2. Выход из процедуры
Процедура может быть завершена тремя способами.
1. Процедура завершает работу, когда управление достигнет
end.
2. Процедура возвращает значение при помощи return.
return может возвращать конкретное значение, переменную
или &null. Значение может вычисляться «в теле» "return". Приме-
ры: return, return x, return x+y.
3. Процедура возвращает множество значений по одному.
Для этого используется оператор suspend.
Пример:
procedure main()
every writes(“ “,proc1())
end
procedure proc1()
suspend seq()\7
end
Выход: 1 2 3 4 5 6 7
procedure proc2(X) 10.2. Выход из процедуры writes(" ",X||"&proc2") Процедура может быть завершена тремя способами. end 1. Процедура завершает работу, когда управление достигнет end. procedure proc3(X) 2. Процедура возвращает значение при помощи return. writes(" ",X||"&proc3") return может возвращать конкретное значение, переменную end или &null. Значение может вычисляться «в теле» "return". Приме- Выход: O'KEY&proc1 O'KEY&proc2 O'KEY&proc3 ры: return, return x, return x+y. 3. Процедура возвращает множество значений по одному. Пример со встроенными функциями: Для этого используется оператор suspend. procedure main() Пример: f:=open("outp2.txt","wt") procedure main() plist:=[sin,cos,tan] every writes(“ “,proc1()) every i:=1 to 3 do write(f,plist[i](0.5)) end end procedure proc1() suspend seq()\7 В файл outp2.txt будет выведено: end 0.479425538604203 Выход: 1 2 3 4 5 6 7 0.8775825618903728 0.5463024898437905 Множество параметров процедуры (f) можно представить в виде списка (L) и тогда вызовы процедуры: f(L) f!L "f"(L) "f" ! L Список формальных параметров может быть пустым, их число может быть больше или меньше формальных параметров. Лишние параметры игнорируются, пропущенным или недостаю- щим присваивается значение &null. Пропуск параметров обозна- чается лишней запятой: f(x,,z). Заметим, что Icon всегда ожидает, когда параметрам-пере- менным будет присвоено окончательное значение: writes(X:=3," ",X:=4," ",X:=5) напечатает 5 5 5. Но writes(X:=3,Y:=4,Z:=5) напечатает 345 37 38
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »