Попробуем разобраться с заданием ОГЭ №15 по информатике. Данное задание делится на два. То есть, тут есть выбор. Оба задания связаны с темой “Алгоритмизация и программирование”. В данной статье рассмотрим задание в среде программирования — Кумир.
Для начала надо понять как можно там работать и какие команды существуют. Прежде всего в программе Кумир существуют разные исполнители. У каждого из них свои команды, предназначение. В нашем случае нужно будет работать с таким исполнителем, как Робот.
У него не так много своих команд:
- вверх — движение вверх на одну клетку;
- вниз — движение вниз на одну клетку;
- вправо — движение вправо на одну клетку;
- влево — движение влево на одну клетку;
- закрасить — закрасить текущее местоположение (клетку).
Существуют общие команды среды программирования, среди них создание цикла и алгоритмов. Рассмотрим создание циклов:
Сам цикл начинается с команды “нц” — начать цикл, а заканчивается “кц” — конец цикла.
Цикл можно повторять определённое количество раз.
Цикл по природе своей повторяет, написанное внутри него, определённое количество раз.
В нашем случае нужен будет именно цикл с предусловием. Рассмотрим условия цикла поближе:
- пока сверху свободно — до тех пор, пока свободно сверху совершаются действия;
- пока сверху не свободно — до тех пор, пока сверху стена совершаются действия;
- пока снизу свободно — до тех пор, пока свободно снизу совершаются действия;
- пока снизу не свободно — до тех пор, пока снизу стена совершаются действия;
- пока справа свободно — до тех пор. пока свободно справа совершаются действия;
- пока справа не свободно — до тех пор, пока справа стена совершаются действия;
- пока слева свободно — до тех пор, пока свободно слева совершаются действия;
- пока слева не свободно — до тех пор, пока слева стена совершаются действия.
Конструкцию “не свободно” можно заметить на “стена”.
Эти условия можно сочетать за счёт оператора “И”. Например, “пока сверху свободно и слева стена”.
Попробуем рассмотреть задание и решить его.
Пример
На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её правого конца. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»). Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно ниже горизонтальной стены и правее вертикальной стены. Проходы должны остаться не закрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого рисунка Робот должен закрасить следующие клетки (см. рис.). При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в текстовом файле.
Решение
Откроем среду программирования — Кумир. Нас встретит следующий интерфейс программы. Нам необходимо создать такую же обстановку робота и написать программу, чтобы он успешно прошёл путь и закрасил нужные клетки.
Для начала нам необходимо создать стартовую обстановку (поле для нашего робота), как на примере из задания. Зайдём во вкладку “Робот” → “Новая обстановка”.
Далее укажем необходимое количество строк и столбцов, предварительно посчитав сколько их в образце. После того, как записали нужное количество, нажимаем “ОК”.
После этого необходимо расставить “стены” как на примере (точно так же). Для построения стены просто нажимаем на линию, где хотим построить стену. На кнопки “плюс” и “минус” также можно управлять размерами обстановки.
Также установим начальное положение робота как на образце, для этого перетащим его. После создания стен нажимаем “Робот” → “Редактировать обстановку” (чтобы перестать её редактировать, т.к. уже находимся в режиме редактирования).
Теперь можем уже создавать алгоритм. Выберем исполнителя Робот. Зайдём во вкладку “Вставка” и нажмём на “использовать Робот”. После этого Кумир начнёт воспринимать его команды. Команду можно написать и самостоятельно.
Все наши команды должны быть оформлены через циклы. Без них задание считается проваленным (0 баллов). Поэтому будем использовать циклы. Пройдём первую часть, воспользуясь циклом:
Пройдём пробел за счёт цикла:
Далее воспользуемся ещё одним циклом:
Продолжим следующим циклом:
Теперь снова нужно пройти пробел:
Осталось закончить алгоритм, закрасив оставшуюся часть:
Посмотрим на проделанную работу.
В задании может быть условие, чтобы вернуть робота в начальное положение, а может быть сказано, что не требует возвращения. Тогда он остаётся там, где остановился после алгоритма. Если нужно вернуть, тогда также придётся возвращать его с помощью циклов.
Сохранение
Чтобы сохранить программу, нужно зайти во вкладку “Программа” → “Сохранить как..”.
Для сохранения рабочей обстановки зайдём во вкладку “Робот” → “Сохранить обстановку..”.
Рекомендации по работе
- Обязательно использовать циклы;
- Можно лишь раз использовать команду без цикла (но лучше не надо);
- Проверка работы сначала осуществляется на вашей обстановке, а потом уже на другой с такой же структурой, но с другими размерами. Поэтому очень важно использовать циклы.
- Для запуска программы нажимаем на стрелочку "Play". Кумир работает как интерпретатор, то есть выполняет команды построчно.
Понравилась статья? Хочешь разбираться в информатике, программировании и уметь работать в разных программах? Тогда ставь лайк, подпишись на канал и поделись статьей с друзьями!
Читайте также:
- Информатика ОГЭ №13 (Презентация)
- Информатика ОГЭ №13 (Текстовый редактор)
- Информатика ОГЭ №14
- Информатика ОГЭ №15 (Программирование)
#информатика #огэ #разбор #задания #решение #экзамен