Вопрос:

На бесконечном поле имеются две одинаковые горизонтальные стены, являющиеся противоположными сторонами прямоугольника. Длины горизонтальных стен — 5 клеток, расстояние между стенами — 4 клетки. Робот находится в клетке, расположенной с внешней стороны верхней горизонтальной стены, — во второй клетке справа. На рисунке указано расположение стен и Робота. Робот обозначен буквой «Р». Напишите для Робота программу, использующую не менее 3 циклических алгоритмов, закрашивающую все клетки, расположенные между левыми и между правыми краями горизонтальных стен. Вы можете использовать цикл нц-раз-кц или нц-пока-кц. Робот должен закрасить только клетки, удовлетворяющие данному условию. На рисунке показаны клетки, которые Робот должен закрасить (см. рисунок).

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

Ответ:

Описание задачи:

Робот должен закрасить клетки, расположенные между двумя горизонтальными стенами, длиной 5 клеток каждая, находящимися на расстоянии 4 клеток друг от друга. Начальное положение робота — во второй клетке справа от верхней стены.

Алгоритм решения:

  1. Перемещение в начало: Сначала роботу нужно переместиться в начало ряда, чтобы начать закрашивание с левого края.
  2. Закрашивание первого ряда: Затем роботу нужно закрасить клетки первого ряда.
  3. Перемещение ко второму ряду: После этого роботу нужно переместиться ко второму ряду и повторить процесс.
  4. Закрашивание остальных рядов: Робот повторяет этот процесс для всех четырех рядов между стенами.

Пример программы (Кумир):

алг
нач
  ; Переместиться в начало ряда
  нц пока не слева стена
    влево
  кц

  ; Закрасить первый ряд
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить

  ; Переместиться ко второму ряду
  вниз
  влево
  влево
  влево
  влево
  влево

  ; Закрасить второй ряд
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить

  ; Переместиться к третьему ряду
  вниз
  влево
  влево
  влево
  влево
  влево

  ; Закрасить третий ряд
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить

  ; Переместиться к четвертому ряду
  вниз
  влево
  влево
  влево
  влево
  влево

  ; Закрасить четвертый ряд
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить
  вправо
  закрасить

кон

Пояснения:

  • нц пока не слева стена — цикл, который выполняется, пока слева нет стены.
  • влево — команда перемещения робота влево на одну клетку.
  • вправо — команда перемещения робота вправо на одну клетку.
  • вниз — команда перемещения робота вниз на одну клетку.
  • закрасить — команда закрашивания текущей клетки.
ГДЗ по фото 📸
Подать жалобу Правообладателю