Вопрос:

Робот в узком горизонтальном коридоре в крайней левой клетке. В коридоре 17 клеток. Дополни программу так, чтобы робот покрасил клетки через одну, начиная с крайней левой.

Смотреть решения всех заданий с листа

Ответ:

Разберем задачу:

Нам нужно, чтобы робот покрасил клетки через одну, начиная с самой первой. Коридор длиной 17 клеток.

Чтобы покрасить каждую вторую клетку, роботу нужно сделать следующее:

  1. Покрасить текущую клетку.
  2. Сделать два шага вперед (чтобы перейти через одну клетку).

Повторить это действие нужно столько раз, чтобы пройти весь коридор. Так как мы красим через одну клетку, нам нужно пройти 17 клеток. Действие «покрасить и сделать два шага» будет повторяться, пока робот не дойдет до конца. Всего нужно покрасить 9 клеток (1, 3, 5, ..., 17).

Логика выполнения:

  • Начальное положение: крайняя левая клетка.
  • Шаг 1: Покрасить клетку.
  • Шаг 2: Сделать шаг вперед.
  • Шаг 3: Сделать еще один шаг вперед.
  • Шаг 4: Повторяем шаги 1-3, пока не останется одна клетка до конца коридора.

Цикл должен выполняться 8 раз. После 8 повторений, робот окажется на 17-й клетке. Нужно еще раз покрасить эту клетку.

Решение в блоках:

  • Используем блок «повторить».
  • Внутри него ставим «выполнить».
  • Внутри «выполнить» ставим:
    • «move_right»
    • «move_right»
    • «fill_cell»
  • Количество повторений — 8.
  • После цикла нужно еще раз выполнить «fill_cell».

Или проще:

  • Используем блок «повторить».
  • Внутри него ставим «выполнить».
  • Внутри «выполнить» ставим:
    • «fill_cell»
    • «move_right»
    • «move_right»
  • Количество повторений — 8.
  • Затем, вне цикла, ставим еще один «fill_cell».

Альтернативное решение (краткое):

  • В цикле «повторить 8 раз»:
    • «fill_cell»
    • «move_right»
    • «move_right»
  • После цикла «fill_cell».

Уточнение: Если в блоке «повторить» указать 9 раз, то робот покрасит 9 клеток. Если внутри поставить «fill_cell», «move_right», «move_right», то он пройдет 8 * 2 = 16 клеток вперед. Итого 17 клеток. В этом случае, последняя «fill_cell» не нужна.

Окончательный вариант программы:

  • Цикл «повторить 9 раз»:
    • «fill_cell»
    • «move_right»

Это будет красить клетку, затем шагать вперед, пропуская одну. То есть, будут покрашены клетки 1, 3, 5, ..., 17.

Ответ:

  • Блок «повторить» с числом 9.
  • Внутри блока «выполнить»:
    • «fill_cell»
    • «move_right»
ГДЗ по фото 📸
Подать жалобу Правообладателю