
- •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. Общие правила выполнения команды вызова вспомогательного алгоритма
- •Алгоритм с результатами при управлении Роботом
- •Алгоритм Евклида
- •Сумма цифр десятичного числа
- •Исполнение алгоритмов
Исполнение алгоритмов
Чтобы лучше понять работу того или иного алгоритма, полезно проследить ее по шагам без использования компьютера. Это легко сделать, если алгоритм управляет каким-то исполнителем — можно моделировать действия исполнителя и следить за результатом.
Если алгоритм работает с величинами, для пошаговой проверки удобно пользоваться специальной формой записи, которую мы разберем на примере. Пусть выполнен вызов "сумма цифр (197, х)". Исполнение тела алгоритма "сумма цифр" можно в этом случае представить так:
nn:=n 197
s:=0 0
нц пока nn > 0 да да да нет
с:= mod (nn, 10) 7 9 1
s := s + с 7 16 17
nn := div (nn, 10) 19 1 0
кц
В этой записи правее каждой команды алгоритма записаны последовательно результаты ее выполнения. Например, первая команда nn := n выполняется один раз, и величина nn получает значение 197. Команда с := mod (nn, 10) выполняется три раза, при ее выполнении величина с последовательно получает значения 7, 9 и 1, т. е. значения цифр исходного числа в обратном порядке.
ЗАДАЧИ И УПРАЖНЕНИЯ
1. Составьте алгоритмы со следующими заголовками:
а) алг расстояние до стены вправо (рез цел n)
дано |правее Робота есть стена
надо |положение Робота не изменилось, n = число шагов, которое надо сделать Роботу,
|чтобы подойти к стене вплотную (т. е. число клеток между Роботом и стеной)
б) алг расстояния вправо и влево (рез цел n1, n2)
дано | правее и левее Робота есть стены
надо | положение Робота не изменилось, n1 = расстояние вправо до стены,
| n2 = расстояние влево до стены
в) алг к ближайшей стене вправо или влево
дано | правее и левее Робота есть стены
надо | Робот подошел к ближайшей из этих стен
г) алг подсчет числа опасных клеток (рез цел n)
дано | Робот на клетку левее тупика, уходящего вправо
надо | положение Робота не изменилось, n = число клеток, в которых и температура, и
|уровень радиации более чем вдвое выше средних значений в тупике
2. Составьте алгоритм, который вычисляет:
а) количество максимальных среди трех чисел а, b, с;
б) количество разных среди трех чисел а, b, с;
в) среднее по величине среди трех чисел а, b, с;
г) расстояние от точки на числовой оси с координатой х до ближайшей точки отрезка [0, 1];
д) наименьший делитель целого числа n > 0, отличный от 1;
е) последнюю цифру в десятичной записи целого числа n > 0;
ж) количество цифр в десятичной записи целого числа n > 0;
з) старшую цифру в десятичной записи целого числа n > 0.
3. Составьте схему пошагового выполнения алгоритма Евклида (А58) при а = 14, b= 21.