
- •13 Исполнитель Чертежник и работа с ним
- •13.1. Особенности записи чисел в информатике
- •13.2. Исполнитель Чертежник
- •13.3. Команды с параметрами
- •13.4. Абсолютное и относительное смещение
- •13.5. Пример алгоритма управления Чертежником
- •13.6. Рисование букв
- •13.7. Использование вспомогательных алгоритмов
- •14 Алгоритмы с аргументами
- •14.1. Пример алгоритма с аргументом
- •Выполнение вспомогательного алгоритма с аргументами
- •Модель памяти компьютера
- •Алгоритмы с несколькими аргументами
- •14.5. Аргументы в заголовке цикла n раз
- •14.6. Закрашивание прямоугольника
- •14.7. Заголовок алгоритма с аргументами
- •15 Арифметические выражения и правила их записи
- •15.1. Арифметические выражения в алгоритмическом языке
- •15.2. Выражения вычисляет компьютер
- •15.3. Правила записи арифметических выражений в алгоритмическом языке
- •15.4. Операции и стандартные функции алгоритмического языка
- •15.5. Порядок действий в арифметических выражениях
- •16 Величины в алгоритмическом языке. Команда присваивания
- •16.1. Измерение радиации и температуры
- •16.2. Компьютер запоминает информацию
- •16.3. Компьютер выполняет подсчет
- •16.4. Величины и их характеристики
- •16.5. Описание величин
- •6.6. Модель памяти компьютера
- •16.7. Команда присваивания
- •Примеры использования команды присваивания
- •Еще один пример алгоритма, работающего с величинами
- •Рисование параболы
- •17 Алгоритмы с результатами
- •17.1. Простейший пример алгоритма с результатами
- •17.2. Выполнение алгоритма с результатами
- •17.3. Общие правила выполнения команды вызова вспомогательного алгоритма
- •Алгоритм с результатами при управлении Роботом
- •Алгоритм Евклида
- •Сумма цифр десятичного числа
- •Исполнение алгоритмов
16 Величины в алгоритмическом языке. Команда присваивания
16.1. Измерение радиации и температуры
В § 10 мы рассмотрели 10 из 12 команд-вопросов Робота. Познакомимся с оставшимися двумя командами.
По команде температура Робот измеряет температуру в клетке, где он находится, и сообщает результат. Температура измеряется в градусах Цельсия, она может меняться в пределах от -100 °С до 100 °С.
По команде радиация Робот измеряет и сообщает уровень радиации в текущей клетке. Радиация измеряется в условных единицах и изменяется от 0 до 10.
Команды температура и радиация можно использовать в алгоритме в любом месте, где допускается вещественное число.
Рассмотрим пример. Робот стоит перед входом в тупик неизвестной длины. Необходимо пометить (закрасить) в тупике все клетки, радиация в которых превышает заданный опасный уровень а, и вернуть Робота в исходное положение (рис. 55).
Рис. 55
В условии задачи есть параметр — следовательно, в алгоритме будет аргумент.
а
А50
дано | Робот стоит левее горизонтального тупика
надо | закрашены все клетки тупика, в которых уровень
| радиации выше а, Робот в исходном положении
нач
нц пока справа свободно
вправо
если радиация > а
то закрасить
все
кц
нц пока сверху стена
влево
кц
кон
16.2. Компьютер запоминает информацию
Изменим условие задачи. Пусть опасный уровень радиации заранее не задан, но известно, что он равен радиации в клетке перед тупиком. Иными словами, необходимо закрасить все клетки тупика, уровень радиации в которых выше, чем в клетке, где в начальный момент находится Робот.
При непосредственном управлении Роботом можно поступить так. Узнаем у Робота радиацию в начальной клетке и запомним ее. Дальше можно действовать по алгоритму А50, сравнивая радиацию в каждой клетке тупика с запомненным значением.
Чтобы добиться того же результата с помощью программного управления, необходимо, измерив радиацию в начальной точке, каким-то образом запомнить ее, т. е. выделить для этой информации ячейку памяти и занести в нее нужное значение.
На алгоритмическом языке это можно записать так:
А51
алг разведка в тупике 2
дано | Робот стоит левее горизонтального тупика
надо | закрашены все клетки тупика, в которых уровень
| радиации выше, чем в исходном положении Робота
| Робот в исходном положении
нач вещ у | создать ячейку с именем у
у := радиация | запомнить значение радиации
нц пока справа свободно
вправо
если радиация > у
то закрасить
все
кц
нц пока сверху стена
влево
кц
кон
Для организации работы с памятью компьютера в алгоритмическом языке используются величины. В алгоритме А51 использована одна величина у. Выделение ячейки памяти для хранения информации происходит при описании величины (вещ у), а занесение в ячейку нужной информации происходит при выполнении команды присваивания (у:=радиация). Подробнее о работе с величинами рассказано в разделах 16.4 — 16.8.