Л.р. 8 Алгоритм с результатами
В задании, для осуществления вывода результата была использована команда вывод.
Синтаксис:
вывод выражение-1, . . . , выражение-N
Каждое выражение может быть либо арифметическим, логическим или текстовым выражением, либо командой перехода на новую строку (ключевое слово нс). Значения выражений выводятся последовательно в строку области ввода-вывода и разделяются пробелом. Когда строка полностью заполнена, автоматически происходит переход к началу
новой строки.
Пример:
алг
нач
· нц 5 раз
· · вывод ”Hello!”, нс
· кц
кон
Итогом выполнения будет напечатанное 5 раз слово "Hello!" в окне вывода:
При вызове вспомогательного алгоритма происходит следующее: вспомогательный алгоритм начинает “жить”, отводит в своей памяти место для параметров (будь то аргументы или результаты), далее происходит копирование значений аргументов, которые ему передали из основного алгоритма при вызове, в созданные во вспомогательном алгоритме величины. Далее следует выполнение самого вспомогательного алгоритма. Перед окончанием результаты вспомогательного алгоритма копируются внутрь величин, указанных в вызове. А затем вспомогательный алгоритм прекращает свое существование, удаляется из памяти ЭВМ вместе со всеми своими величинами.
Таким образом, если нам нужно передать значения от основного алгоритма к вспомогательному, то мы используем аргументы, если от вспомогательного к основному — то результаты. Пользуясь аргументами и результатами, мы можем устроить любой обмен информацией между основным и вспомогательным алгоритмами.
Если у алгоритма есть параметры, то их описание заключается в круглые скобки после
имени алгоритма в строке алг. Описание содержит информацию о типах параметров и о
том, являются они аргументами или результатами:
∙ арг — описания параметров-аргументов
∙ рез — описания параметров-результатов
∙ аргрез (или арг рез) — описания параметров, которые одновременно являются и
аргументами, и результатами
Если раньше с помощью аргументов мы передавали информацию из основного алгоритма во вспомогательный, то теперь, используя результаты, мы можем передать в основной алгоритм информацию из вспомогательного.
Задание 1.
Робот находится внутри горизонтального прямого коридора шириной в одну клетку. Используя алгоритм с результатами, вычислить и вывести на экран длину коридора.
Стартовая обстановка представлена на рисунке 1. Пример программы на рисунке 2, результат на рисунке 3.
Рисунок 1.
Рисунок 2.
В 16 строке программы находится команда вывод. С помощью неё выводится строка со значением i. В данной программе i - это переменная, которая содержит результат выполнения программы. Строка заключена в апострофы, причём, стоит пробел перед вторым апострофом. Это нужно для того, чтобы строка и выводимый результат переменной i не сливались вместе, а имели отступы между собой.
Рисунок 3.