Вопрос:

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

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

Ответ:

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

Алгоритм:

  1. Двигаемся вниз до тех пор, пока не обнаружим первую стену.
  2. Закрашиваем все клетки под стеной.
  3. Двигаемся вниз, пока не обнаружим вторую стену.
  4. Закрашиваем все клетки под второй стеной.

Пример алгоритма в текстовом виде:


// Двигаемся вниз до первой стены
while (впереди не стена) {
    вниз;
}

// Закрашиваем клетки под стеной
while (справа свободно) {
    вправо;
    закрасить;
}

// Возвращаемся в начало стены
while (слева свободно) {
    влево;
}

// Двигаемся вниз до второй стены
вниз;
while (впереди не стена) {
    вниз;
}

// Закрашиваем клетки под второй стеной
while (справа свободно) {
    вправо;
    закрасить;
}

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

Ответ: Алгоритм описан выше.

ГДЗ по фото 📸
Подать жалобу Правообладателю