Л.р. 8 Алгоритм с результатами

В задании, для осуществления вывода результата была использована команда вывод.

Синтаксис:

вывод выражение-1, . . . , выражение-N

Каждое выражение может быть либо арифметическим, логическим или текстовым выражением, либо командой перехода на новую строку (ключевое слово нс). Значения выражений выводятся последовательно в строку области ввода-вывода и разделяются пробелом. Когда строка полностью заполнена, автоматически происходит переход к началу

новой строки.

Пример:

алг

нач

· нц 5 раз

· · вывод ”Hello!”, нс

· кц

кон

Итогом выполнения будет напечатанное 5 раз слово "Hello!" в окне вывода:

При вызове вспомогательного алгоритма происходит следующее: вспомогательный алгоритм начинает “жить”, отводит в своей памяти место для параметров (будь то аргументы или результаты), далее происходит копирование значений аргументов, которые ему передали из основного алгоритма при вызове, в созданные во вспомогательном алгоритме величины. Далее следует выполнение самого вспомогательного алгоритма. Перед окончанием результаты вспомогательного алгоритма копируются внутрь величин, указанных в вызове. А затем вспомогательный алгоритм прекращает свое существование, удаляется из памяти ЭВМ вместе со всеми своими величинами.

Таким образом, если нам нужно передать значения от основного алгоритма к вспомогательному, то мы используем аргументы, если от вспомогательного к основному — то результаты. Пользуясь аргументами и результатами, мы можем устроить любой обмен информацией между основным и вспомогательным алгоритмами.

Если у алгоритма есть параметры, то их описание заключается в круглые скобки после

имени алгоритма в строке алг. Описание содержит информацию о типах параметров и о

том, являются они аргументами или результатами:

арг — описания параметров-аргументов

рез — описания параметров-результатов

аргрез (или арг рез) — описания параметров, которые одновременно являются и

аргументами, и результатами

Если раньше с помощью аргументов мы передавали информацию из основного алгоритма во вспомогательный, то теперь, используя результаты, мы можем передать в основной алгоритм информацию из вспомогательного.

Задание 1.

Робот находится внутри горизонтального прямого коридора шириной в одну клетку. Используя алгоритм с результатами, вычислить и вывести на экран длину коридора.

Стартовая обстановка представлена на рисунке 1. Пример программы на рисунке 2, результат на рисунке 3.

Рисунок 1.

Рисунок 2.

В 16 строке программы находится команда вывод. С помощью неё выводится строка со значением i. В данной программе i - это переменная, которая содержит результат выполнения программы. Строка заключена в апострофы, причём, стоит пробел перед вторым апострофом. Это нужно для того, чтобы строка и выводимый результат переменной i не сливались вместе, а имели отступы между собой.

Рисунок 3.