1. Главная
  2. Библиотека
  3. Программирование
  4. 23:16 3,02 Vo 4G LTE 17 12.2. На бесконечном поле имеет...
Решение задачи на тему

23:16 3,02 Vo 4G LTE 17 12.2. На бесконечном поле имеется вертикальная стена. Длина стены неизвестна, в стене есть ровно один проход, ширина которого неизвестна. От верхнего конца стены вправо отходит горизонтальная стена неизвестной длины, в стене есть

  • Программирование
  • #Основы алгоритмизации и программирования
  • #Структуры и алгоритмы обработки данных
23:16 3,02 Vo 4G LTE 17 12.2. На бесконечном поле имеется вертикальная стена. Длина стены неизвестна, в стене есть ровно один проход, ширина которого неизвестна. От верхнего конца стены вправо отходит горизонтальная стена неизвестной длины, в стене есть

Условие:

23:16
3,02
Vo 4G
LTE
17
12.2. На бесконечном поле имеется вертикальная стена. Длина стены неизвестна, в стене есть ровно один проход, ширина которого неизвестна. От верхнего конца стены вправо отходит горизонтальная стена неизвестной длины, в стене есть ровно один проход, ширина которого неизвестна. Робот находится в клетке, расположенной снизу от правого края горизонтальной стены. На рисунке указано расположение стен и Робота. Робот обозначен буквой «Р».

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

Конечное расположение Робота может быть произвольным. При исполнении алгоритма Робот не должен разрушиться. Выполнение алгоритма должно завершиться. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в формате программы Кумир или в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы.

РЕКЛАМА
NEvEREND
40 NaO
ЭКСПЕДИЦИЯ
НА СЕВЕРНЫЙ ПОЛЮС
inf8-vpr.sdamgia.ru
:
36

Решение:

Для решения задачи, давайте сначала разберем, что именно требуется от робота. Робот должен закрасить клетки, которые находятся:

1. Непосредственно ниже горизонтальной стены.
2. Угловую клетку (которая, скорее всего, находится в левом нижнем углу).
3. Клетки, которые находятся правее вертикальной стены.

Теперь мы можем написать алгоритм, используя три циклических алгоритма. Предположим, что у нас есть команды для перемещения робота и закрашивания клеток.

Шаг 1: Закрашивание клеток ниже горизонтальной стены


1. Переместим робота вверх до горизонтальной стены.
2. Затем, используя цикл, закрасим все клетки ниже этой стены.

Шаг...

  1. Переместим робота в угловую клетку и закрасим её.

  2. Переместим робота к вертикальной стене.

  3. Затем, используя цикл, закрасим все клетки, которые находятся правее этой стены.

Теперь давайте запишем это в виде псевдокода:

  1. поднимает робота до горизонтальной стены, а второй цикл закрашивает все клетки под ней.
  2. перемещает робота в угловую клетку и закрашивает её.
  3. перемещает робота к вертикальной стене, а затем закрашивает все клетки вправо от неё.

Этот алгоритм завершится, когда робот закрасит все необходимые клетки, и его конечное положение будет произвольным, как и требовалось в условии задачи.

Теперь вы можете сохранить этот алгоритм в формате программы Кумир или в текстовом файле, как указано в задании.

Выбери предмет