Читайте также:
|
|
Простейший пример алгоритма с результатами
Как мы уже знаем, для задания исходной информации в алгоритме используются аргументы. Но алгоритм может не только получать информацию, но и отдавать ее (рис. 62). Для этого существует специальный вид величины — результаты.
Рис. 62
Рассмотрим пример алгоритма с результатом.
|
алг гипотенуза (арг вещ а, b, рез вещ с)
дано а >= 0 и b >= 0 | длины катетов треугольника
надо | с = длина гипотенузы этого треугольника
нач
| с:= sqrt (а**2 + b**2)
кон
Запись рез вещ с означает, что результат (рез) выполнения этого алгоритма — одна вещественная (вещ) величина, которая в алгоритме обозначена как с.
Выполнение алгоритма с результатами
В команде вызова вспомогательного алгоритма на месте его результатов указываются имена величин основного алгоритма, в которых должны оказаться вычисленные значения. Например, если нам надо в основном алгоритме "вычисление" найти гипотенузу х прямоугольного треугольника с катетами р - 1 и р + 1, то достаточно написать вызов вспомогательного алгоритма "гипотенуза" (А56):
алг вычисление
нач вещ р, х
…
гипотенуза (р - 1, р + 1, х)
…
Кон
Пусть к моменту выполнения этого вызова величина р имеет значение 7 (рис. 63).
Рис. 63
Встретив вызов "гипотенуза (р - 1, р + 1, х)", компьютер вычислит значения р-1 и р+1 передаст их алгоритму "гипотенуза" в качестве значений аргументов а и b. Значение х в этот момент не вычисляется, так как х соответствует результату вспомогательного алгоритма.
Затем начинается выполнение вспомогательного алгоритма "гипотенуза". Выделяется память алгоритма, в ней создаются ячейки для аргументов а, b и результата с, аргументы получают значения, переданные из основного алгоритма (рис. 64).
Рис. 64
В памяти компьютера при этом будет одновременно храниться информация, относящаяся и к алгоритму "вычисление", и к алгоритму "гипотенуза". Далее ЭВМ выполнит алгоритм "гипотенуза" и вычислит значение величины-результата с (рис. 65).
Рис. 65
Встретив строчку кон, компьютер передаст значение результата в основной алгоритм и завершит работу алгоритма "гипотенуза", освободив его память. В основном алгоритме значение результата записывается в ячейку величины, указанной в команде вызова, т. е. в х (рис. 66). После этого компьютер продолжает выполнять алгоритм "вычисление".
Рис. 66
Дата добавления: 2015-07-14; просмотров: 277 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Рисование параболы | | | Последовательный (линейный) поиск |