Задача №14. Выполнение алгоритма.
Автор материалов - Лада Борисовна Есакова.
В этой задаче используется, в основном, описание алгоритмов на псевдокоде (условном алгоритмическом языке, включающем в себя и элементы языка программирования, и элементы обычного естественного языка).
Основные конструкции псевдокода описаны перед текстом задачи.
Исполнитель чертежник
Пример 1.
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a; y + b).
Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, -3) переместит Чертёжника в точку (6, -1).
Цикл
ПОВТОРИ число РАЗ
последовательность команд
КОНЕЦ ПОВТОРИ
означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).
Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, n>1):
НАЧАЛО
сместиться на (60, 100)
ПОВТОРИ n РАЗ
сместиться на (a, b)
сместиться на (33, 44)
КОНЕЦ ПОВТОРИ
сместиться на (13, 200)
сместиться на (-1, 60)
КОНЕЦ
Укажите наибольшее возможное значение числа n, для которого найдутся такие значения чисел a и b, что после выполнения программы Чертёжник возвратится в исходную точку.
Решение:
В результате выполнения алгоритма Чертежник переместится
по оси х на:
60 + n*a + n*33 + 13 – 1
по оси y на:
100 + n*b + n*44 + 200 + 60
Известно, что в результате перемещения Чертежник вернулся в исходную точку, т.е. перемещение по оси х равно нулю, и перемещение по оси y равно нулю:
60 + n*a + n*33 + 13 – 1 = 0
100 + n*b + n*44 + 200 + 60 = 0
Т.е.
n*(a + 33) = -72
n*(b + 44) = -360
Наибольшее n – это наибольший общий делитель чисел -72 и -360. Это число 72.
Ответ: 72
Исполнитель робот
Пример 2.
Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ (также по отношению к наблюдателю):
сверху
свободно
|
снизу
свободно
|
слева
свободно
|
справа
свободно
|
Цикл
ПОКА < условие >
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ < условие >
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно)
Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится и программа прервётся.
Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка F6)?
НАЧАЛО
ПОКА снизу свободно ИЛИ справа свободно ПОКА справа свободно
вправо
КОНЕЦ ПОКА
вниз
КОНЕЦ ПОКА
КОНЕЦ

1) 22
2) 19
3) 15
4) 12
Решение:
В данной программе РОБОТ сначала проверяет, свободна ли клетка справа или снизу от него. Если это так, то РОБОТ переходит к первому действию внутри цикла. В этом цикле пока у правой стороны клетки, в которой находится РОБОТ, нет стены, он продолжает двигаться вправо. Как только это условие перестанет выполняться, он переходит ко второму действию внутри цикла. Второе действие, заключается в следующем: РОБОТ передвигается на одну клетку вниз. После чего возвращается к началу внешнего цикла.
Проверив последовательно все клетки по правилу движения РОБОТА выясняем, что число клеток, удовлетворяющих условию задачи равно 15 (вся первая строчка, весь столбец F, клетки D2, E2, D4, D6, E4).

Правильный ответ указан под номером 3.
Ответ: 3
Исполнитель редактор
Пример 3.
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 68 идущих подряд цифр 8? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (222) ИЛИ нашлось (888)
ЕСЛИ нашлось (222)
ТО заменить (222, 8)
ИНАЧЕ заменить (888, 2)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение:
Обозначим строку из 68 восьмерок - 68«8»,
строку из двойки и 65 восьмерок – 1«2»65«8» и т.д.
Отработаем 4 первых цикла программы:
68«8» → 1«2»65«8» → 2«2»62«8» → 3«2»59«8» → 60«8»
В результате количество восьмерок уменьшилось на 8. Не сложно понять, что строка будет уменьшаться на 8 восьмерок каждые 4 итерации. В результате останется строка из 4 восьмерок. Доработаем программу:
…→ 4«8» → 1«2»1«8» = 28
Ответ: 28
Исполнитель черепашка
Пример 4.
Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперед n, где n – целое число, вызывающее передвижение черепашки на n шагов в направлении движения.
Направо m, где m – целое число, вызывающее изменение направления движения на m градусов по часовой стрелке.
Запись Повтори 5 [Команда1 Команда2] означает, что последовательность команд в скобках повторится 5 раз.
Черепашке был дан для исполнения следующий алгоритм:
Повтори 5 [Повтори 4 [Вперед 40 Направо 90] Направо 120]
Какая фигура появится на экране?

Решение:
Последовательность действий Вперед 40 Направо 90 рисует отрезок длиной 40 шагов, а затем меняет направление на 90 градусов по часовой стрелке. Тогда последовательность Повтори 4 [Вперед 40 Направо 90] нарисует квадрат, а направление вернется в исходное.
Затем выполняется команда Направо 120, она изменит направление на 120 градусов от исходного.
Если повторить все рассмотренные действия 5 раз:
Повтори 5 [Повтори 4 [Вперед 40 Направо 90] Направо 120], то будет 5 раз нарисован квадрат. Причем каждый следующий повернут вокруг вершины относительно предыдущего на 120 градусов. Не сложно заметить, что 4-й квадрат будет нарисован поверх первого (120*3 = 360, сделан поворот на целый круг, возврат в исходное положение), а 5-й поверх второго.
Результат изображен под номером 3.
Ответ: 3
Ты нашел то, что искал? Поделись с друзьями!
Благодарим за то, что пользуйтесь нашими материалами.
Информация на странице «Задача №14. Выполнение алгоритма.» подготовлена нашими авторами специально, чтобы помочь вам в освоении предмета и подготовке к ЕГЭ и ОГЭ.
Чтобы успешно сдать нужные и поступить в высшее учебное заведение или техникум нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий.
Также вы можете воспользоваться другими материалами из разделов нашего сайта.
Публикация обновлена:
07.06.2023