- •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.3. Компьютер выполняет подсчет
Еще усложним условие задачи. Пусть опасные клетки надо отметить не в тупике, а на участке свободного пространства между Роботом и стеной (рис. 56). Изменение ситуации не мешает выполнить разметку уже известным способом, но при возвращении в исходное положение возникает проблема: как узнать, в какой клетке остановиться?
Рис. 56
При непосредственном управлении Роботом мы можем считать шаги, которые он делает при движении к стене. Когда Робот подойдет к стене, мы будем знать пройденное им расстояние и сможем приказать ему сделать такое же число шагов в обратную сторону.
При программном управлении необходимо, чтобы считать шаги мог компьютер. Как это делается, показано в алгоритме:
а
А52
дано | где-то справа от Робота есть стена
надо | закрашены все клетки между Роботом и стеной,
| в которых уровень радиации выше, чем в исходном
| положении Робота
| Робот в исходном положении
нач вещ у | создать ячейку с именем у
цел n | создать ячейку n для подсчета количества шагов
у := радиация | запомнить значение радиации
n:= 0 | обнулить счетчик
нц пока справа свободно
вправо
n := n + 1 | увеличить на 1 счетчик количества шагов
если радиация > у
то закрасить
все
кц
нц n раз
влево
кц
кон
В этом алгоритме использованы две величины. Величина у используется для хранения «опасного» уровня радиации. Этот уровень запоминается в исходном положении Робота и в дальнейшем многократно используется. Величина п играет роль счетчика. В начальный момент счетчик «обнуляется» командой n:=0, а затем многократно увеличивается командой n:=n+1.
16.4. Величины и их характеристики
При решении многих задач надо уметь запоминать, изменять и использовать информацию в памяти компьютера (например, в рассмотренной задаче это информация об опасном уровне радиации и числе сделанных вправо шагов). Для этого в алгоритмическом языке используются величины.
Термин «величина» заимствован из математики и физики, поскольку в алгоритмах для решения математических или физических задач величины алгоритмического языка соответствуют математическим или физическим величинам.
Каждая величина имеет имя, тип, вид и значение.
Имя величины служит для обозначения величины в алгоритме. Именем величины в алгоритмическом языке может быть любое слово (кроме служебных слов самого языка) или даже несколько слов. В имя могут входить русские и латинские буквы и даже цифры (правда, начинаться с цифры имена не могут), а также пробелы и знаки подчеркивания. Вот несколько примеров допустимых имен: .s, R, слово 1, длинное имя.
Тип величины показывает, какие значения может принимать величина и какие операции можно с ней выполнять. Пока мы будем пользоваться двумя типами: вещественным (вещ) и целым (цел). Значением величины вещественного типа может быть любое число, а целого — только целое. Необходимость различать эти типы связана с тем, что они по-разному обрабатываются компьютером: все вычисления с целыми числами выполняются точно, а с вещественными — приближенно (хотя и с высокой точностью). Позже мы познакомимся с величинами некоторых других типов.
Вид величины показывает ее информационную роль в алгоритме. Аргументы содержат исходную информацию, необходимую для работы алгоритма, а промежуточные величины предназначены для хранения текущей информации, которую обрабатывает алгоритм. Позднее мы познакомимся с другими видами величин.
Во время выполнения алгоритма в каждый конкретный момент величина имеет какое-то значение (например, 22 или -107) либо не определена.
Имя, тип и вид величины можно однозначно определить по тексту алгоритма. Это статические характеристики величины. Значение определяется только во время выполнения. Это динамическая характеристика.
