Итак задание 15_1 на Робота.
Выполните задание.
На бесконечном поле имеется стена, длины отрезков стены неизвестны. Стена состоит из 3 последовательных отрезков: вправо, вверх, вправо, все отрезки неизвестной длины. Робот находится в клетке, расположенной снизу левого конца первого отрезка. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные правее над первым и над третьим отрезками. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рис.).
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в текстовом файле.
Выпускник написал следующую программу
Программа делает всё правильно. Красит и маленькую стену и большую.
Казалось бы всё верно, Робот не разбивается, работает на любых подобных обстановках. Но выпускник получает ноль баллов.
Скажете - эксперты гады, валят ребёнка специально.
Но посмотрите как работает программа:
Робот идёт вверх, доходит до верхнего края поля и оттолкнувшись от него идёт обратно. Но ведь в условии сказано - поле бесконечно. То есть в реале Робот ушёл бы туда наверх и никогда не вернулся.
А значит ничего бы не закрасилось.
Это было ОГЭ информатика - задание 15_1.
Спасибо за внимание