15 Задание

Пятнадцатое задание из ОГЭ по информатике называется «Разработка алгоритма для заданного исполнителя» и связано с разработкой алгоритма для исполнителя «Робот».

Ученику нужно повторить указанный в условии рисунок с помощью алгоритма для «Робота», который умеет закрашивать клетки. При этом «Робот» не должен проходить через указанные на рисунке стены, иначе он разрушится. Каждый цикл алгоритма должен быть завершён.

За решение 15 задания на экзамене вы получите 2 балла. Примерное время выполнения этого задания — 25 минут.

Что нужно знать:

Задание №15 ОГЭ по информатике связано с темой «Алгоритмизация и программирование». Оно проверяет умение записывать формальный алгоритм с использованием ветвления и циклов и выполняется в среде программирования «Кумир» с помощью исполнителя «Робот».

Некоторые сведения, которые могут быть полезны при решении задания:

  • Основные команды, которые выполняет Робот:
  • «вверх» — движение вверх на одну клетку;
  • «вниз» — движение вниз на одну клетку;
  • «вправо» — движение вправо на одну клетку;
  • «влево» — движение влево на одну клетку;
  • «закрасить» — закрасить текущее местоположение (клетку).
  • Конструкция для создания цикла:
  • «нц» — начало цикла;
  • «пока» — служебное слово, после которого пишется условие, при котором будет выполняться заданная программа;
  • последовательность действий, которую будет выполнять робот;
  • «кц» — конец цикла.
  • Условия, которые позволяют использовать цикл с предусловием:
  • «пока сверху свободно» — до тех пор, пока свободно сверху, совершаются действия;
  • «пока сверху не свободно» — до тех пор, пока сверху стена, совершаются действия;
  • «пока снизу свободно» — до тех пор, пока свободно снизу, совершаются действия;
  • «пока снизу не свободно» — до тех пор, пока снизу стена, совершаются действия;
  • «пока справа свободно» — до тех пор, пока свободно справа, совершаются действия;
  • «пока справа не свободно» — до тех пор, пока справа стена, совершаются действия;
  • «пока слева свободно» — до тех пор, пока свободно слева, совершаются действия;
  • «пока слева не свободно» — до тех пор, пока слева стена, совершаются действия.
  • Оператор «И», который позволяет соединить два простых условия в одно составное.

Некоторые ошибки, которые могут быть допущены при выполнении задания:

  • представленные алгоритмы решения работают только в частных случаях;
  • используется цикл «n раз» вместо цикла «пока»;
  • используются конструкции ветвления вместо конструкции цикла;
  • представлены линейные алгоритмы решения;
  • происходит «зацикливание» (алгоритм не завершается);
  • закрашены лишние клетки;
  • происходит столкновение со стеной (Робот разбивается);
  • алгоритм содержит бесконечные циклы;
  • некорректное использование операторов цикла — отсутствует начало цикла (НЦ) или конец цикла (КЦ)
Посмотрите это видео, чтобы наглядно увидеть, как нужно решать 15-ое задание на экзамене.
Примеры

1) Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

Выполните задание

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


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


При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в текстовом файле.

РЕШЕНИЕ

Следующий алгоритм выполнит требуемую задачу.

нц пока не сверху свободно
закрасить
вправо
кц
нц пока сверху свободно
вправо
кц
нц пока справа свободно
закрасить 
вправо
кц
нц пока не справа свободно 
закрасить
вниз
кц
нц пока справа свободно 
вниз
кц
нц пока не справа свободно 
закрасить
вниз
кц

2) Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.


Выполните задание

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


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


При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в текстовом файле.

РЕШЕНИЕ

Следующий алгоритм выполнит требуемую задачу.

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

Made on
Tilda