разбор заданий второй части экзамена
Теория по заданию 15
СРЕДА ПРОГРАММИРОВАНИЯ КУМИР
Задание 15 в ОГЭ по информатике предполагает написание программы для исполнителя Робот в среде Кумир. Робот находится в лабиринте, и нужно заставить его выполнить задачу (закрасить клетки, пройти лабиринт и т.д.), не врезавшись в стены
Основные команды и синтаксис
В Кумире для Робота используются следующие конструкции:
1. Движение:
  • вверх,
  • вниз,
  • влево,
  • вправо.
2. Действие:
  • закрасить.
Проверка условий (датчики):
. сверху свободно / сверху стена
снизу свободно / снизу стена
слева свободно / слева стена
справа свободно / справа стена
клетка закрашена / клетка не закрашена
  • Цикл (пока условие истинно):
       кумир
      1. нц пока <условие>
      2.<команды- действия внутри цикла>
      3.   кц
  • Ветвление (если условие истинно):
    кумир
      1. если <условие> то
      2.   <команды>
      3.  все
Типовая задача (Пример):
Условие:
Робот находится в узком горизонтальном коридоре. Сверху и снизу могут быть стены. Роботу нужно двигаться вправо до тех пор, пока путь свободен. При этом он должен закрашивать только те клетки, которые находятся внутри коридора.
Логика алгоритма:
1. Нам нужно двигаться вправо, пока справа нет стены. Это цикл `нц пока справа свободно.
2. Внутри цикла мы проверяем условие для закраски: если сверху стена то закрасить.

Готовый код для Кумира
Вот как это выглядит в программе:
алг
нач
. нц пока справа свободно
. . вправо
. . если сверху стена то
. . . . закрасить
. . все
. кц
кон

Разбор алгоритма по шагам
1. нц пока справа свободно: Робот смотрит направо. Если там проход, он заходит внутрь прохода. Если там стена, он пропускает цикл и идет дальше (к строке после кц).
2. если сверху стена то: Находясь в текущей клетке, Робот проверяет датчик сверху.
3. закрасить: Выполняется только если над головой стена.
Универсальный шаблон для Задания 15
Большинство задач 15 строятся по одной схеме. Сохраните её себе как шпаргалку.
  • Схема: "Делай что-то, пока идешь" (как в примере выше)
    Используется, когда нужно обработать путь движения.
    кумир
    нц пока <условие движения>
       если <условие действия> то
    <действие>
       все
       <шаг движения>
    кц
    // Не забываем про последнюю клетку!
    если <условие действия> то
    <действие>
    все
Частые ошибки и советы
1. Врезание в стену: Никогда не пишите команду движения (вправо, вниз и т.д.) без предварительной проверки в цикле.
  Плохо: нц пока ... вправо кц (если условие написано неверно, робот врежется).
  Хорошо: нц пока справа свободно ... вправо кц.
2. Последняя клетка: Всегда проверяйте, обрабатывается ли клетка, на которой робот остановился после выхода из цикла. В 90% задач нужно продублировать действие после кц.
3. Бесконечный цикл: Убедитесь, что внутри цикла есть команда, которая меняет условие цикла (обычно это шаг движения). Если робот стоит на месте и условие истинно, цикл не закончится никогда.
4. Синтаксис: Не забывайте слова-разделители: `то`, `все`, `кц`. Без них Кумир выдаст ошибку.
 Пример более сложного условия (Комбинированный)
Задача: Закрасить клетки, где сверху стена ИЛИ снизу стена.

использовать Робот
алг
нач
. нц пока справа свободно
. . если сверху стена или снизу стена то
. . . . закрасить
. . все
. . вправо
. кц
кон

Задания для отработки:
Создание программы для исполнителя:
Made on
Tilda