← Все вопросы

Как проверить свою программу для Робота, не запуская на всех вариантах поля?

Задан 31 месяц назад1.1к просмотров2 ответа
7

Задание 15.1 ОГЭ: программа должна работать на любом поле с любой длиной стен, а не только на том, что в примере. Как мне самому убедиться, что она правильная, если я не могу перебрать все возможные поля?

2 ответа

12
✓ Принятый ответ — помог автору

Полностью перебрать поля и не нужно — достаточно проверить граничные и хитрые случаи мысленно или прямо в КуМире, изменив обстановку. Вот чек-лист, которым стоит «обстрелять» свою программу:

  1. Минимальный случай — стена/коридор длиной 1 клетка. Часто тут вылезает «закрасил на одну больше/меньше».
  2. Длинный случай — растяни стену побольше. Проверяет, что цикл реально зависит от условия, а не от фиксированного числа.
  3. Робот у самого края поля — не пытается ли он шагнуть в границу.
  4. Условие выполняется сразу ложно — например, справа сразу стена. Цикл вообще должен не выполниться.

Главный принцип: если в программе нет ни одного нц N раз с конкретным числом, а все циклы — нц пока с проверкой обстановки, то она почти наверняка обобщается на любое поле. Жёстко прописанные числа («пройди 7 клеток») — первый признак, что решение не универсально.

4

Практический приём прямо в КуМире: вручную перетащи стены в редакторе обстановки, сделай поле другой формы и запусти ту же программу. Если она отработала на 3–4 разных полях без правок — это хороший знак. Особенно проверяй «несимметричные» поля, где слева и справа всё по-разному.

Ваш ответ

Войдите, чтобы ответить на вопрос.