Вопрос:

3. Где-то в поле Робота находятся две вертикальный стены равной, но неизвестной длины, расположенные одна за другой. Робот из произвольной клетки справа от правой стены, но обязательно напротив нее, должен дойти до стены и закрасить клетки между стенами, как показано на рисунке.

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

Ответ:

Это задание на алгоритмизацию. Робот должен выполнить следующие действия:

  1. Двигаться влево, пока не встретит стену.
  2. Закрасить клетку.
  3. Двигаться вверх, пока не встретит край.
  4. Двигаться вниз, пока не встретит край.
  5. Двигаться вправо, пока не встретит стену.
  6. Закрасить клетку.

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

Алгоритм:


// Пока не встретил стену, двигайся влево
while (not стена_слева) {
  двигайся_влево;
}
// Закрась клетку
закрасить_клетку;

// Пока не встретил верхний край, двигайся вверх
while (not край_сверху) {
  двигайся_вверх;
}

// Пока не встретил нижний край, двигайся вниз
while (not край_снизу) {
  двигайся_вниз;
  
// Двигайся вправо, пока не встретил стену
  while (not стена_справа) {
    двигайся_вправо;
    }
    // Закрась клетку
    закрасить_клетку;

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

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