Система подготовки обучающихся к ОГЭ по информатике на примере решения задач по алгоритмизации в среде «КУМИР»
Гребнева Татьяна Васильевна,
учитель информатики
МБОУ г. Мурманска СОШ № 33
Задание 15.1 Разработка алгоритма для учебного исполнителя «Робот»
Задание 15.1
- Традиционно заключается в разработке алгоритма для учебного исполнителя «Робот». Описание команд исполнителя и синтаксиса управляющих конструкций соответствует общепринятому школьному алгоритмическому языку, также оно дано в тексте задания.
- Формулировке задания предшествует описание команд исполнителя и синтаксиса записи алгоритмических конструкций ветвления и цикла, поэтому задание может быть выполнено даже теми школьниками, которые не знакомы с используемым синтаксисом языка, но владеют основами алгоритмизации.
- На бесконечном поле имеются стены, которые робот должен обойти, закрасить нужные клетки и не разбиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.
- Учащиеся записывают алгоритм в текстовом редакторе и сохраняют в текстовом файле.
Основные ошибки при выполнении задания 15.1
- Представленные алгоритмы решения работают только в частных случаях.
- Использование цикла «n раз» вместо цикла «пока».
- Использование конструкций ветвления вместо конструкции цикла.
- Представлены линейные алгоритмы решения.
- Происходит «зацикливание» (алгоритм не завершается).
- Закрашены лишние клетки.
- Закрашена лишняя клетка / Не закрашена нужная клетка.
- Столкновение со стеной (Робот разбивается).
- Алгоритм содержит бесконечные циклы.
- Некорректное использование операторов цикла – отсутствует начало цикла (НЦ) или конец цикла (КЦ).
Проблема
Большая часть затруднений учащихся связана с недостаточностью умений смыслового чтения :
- представленные алгоритмы решения работают только при конкретных размерах коридора;
- робот закрашивает клетки, например, слева от стены, а не справа;
- алгоритм работает только для конкретной обстановки.
По-прежнему учащиеся показывают недостаточные умения в использовании конструкции цикла «ПОКА» с условием :
- путают с конструкцией ветвления «ЕСЛИ» или неверно указывают условие выхода из цикла.
Пример формулировки задания 15.1
На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В горизонтальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной слева от её верхнего конца. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм,
- закрашивающий все клетки, расположенные непосредственно выше и ниже горизонтальной стены.
- Проход должен остаться незакрашенным.
- Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
Важно учитывать:
- При исполнении алгоритма Робот не должен разрушиться.
- Выполнение алгоритма должно завершиться .
- Конечное расположение Робота может быть произвольным.
- Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера прохода внутри стены.
- Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.
Правильное решение:
Правильное решение:
- Любое правильное решение этой задачи обязательно должно содержать не менее 7 циклов «пока», перемещающих робота вдоль стен.
- Если такие циклы в алгоритме отсутствуют, то задание решено неверно и оценивается в 0 баллов.
Критерии оценивания:
Разбор возможных ошибок
Ошибка № 1 : ширина прохода ровно 1 клетка
За такое решение: 0 баллов .
Ошибка № 2 : цикл n раз
За такое решение: 0 баллов .
Ошибка № 3 : ветвление вместо цикла
За такое решение: 0 баллов .
Ошибка № 4 : линейный алгоритм
За такое решение: 0 баллов .
Ошибка № 5 : Задача решена, но при возвращении в исходную позицию произведена проверка препятствия сверху
За такое решение: 0 баллов .
Здесь надо помнить, что поле Робота бесконечно !
Поэтому произойдёт зацикливание последнего цикла.
Если в условии задачи не указано конечное расположение Робота, а учащийся возвращает его в исходную позицию, то это за ошибку не считается (п ри условии корректной остановки).
Ошибка № 6 : Закрашены лишние клетки
Здесь надо помнить, что по условию поле Робота бесконечно и ширина прохода может быть бесконечно большой !
Поэтому в результате увеличения ширины прохода будет закрашено более 10 клеток.
За такое решение: 0 баллов .
Ошибка № 7 : Закрашена лишняя клетка/ Не закрашена нужная клетка
Данное решение на 1 балл :
- Робот не разбивается;
- закрашено не более 10 лишних клеток;
- не закрашено не более 10 клеток, которые должны быть закрашены.
Ошибка № 8 : Столкновение со стеной
ОШИБКА ВЫПОЛНЕНИЯ:
Робот - нельзя сквозь стену ( 8061 )
За такое решение: 0 баллов .
Правильное решение:
Рекомендации по проверке задания 15.1
Задание 15.1
- Представление в задании команд исполнителя и синтаксиса управляющих конструкций соответствует общепринятому школьному алгоритмическому языку.
- Использование свободно распространяемой среды учебного исполнителя, например, среду Кумир (сайт http:// www.niisi.ru/kumir ) или другую среду с аналогичными возможностями исполнителя «Робот».
- Синтаксис команд используемой среды может отличаться от синтаксиса, описанного в условии.
- Результатом выполнения является файл, подготовленный в среде учебного исполнителя , содержащий запись алгоритма, являющегося решением задания или текстовый файл , содержащий запись алгоритма.
Рекомендации по оцениванию
- Завершает ли работу проверяемый алгоритм (то есть верно ли, что алгоритм не содержит бесконечных циклов)?
- Остается ли робот цел в результате исполнения алгоритма (то есть верно ли, что Робот не разрушается от столкновения со стеной)?
- Полностью ли Робот выполняет поставленную задачу, то есть закрашивает все требуемые клетки .
Если ответы утвердительные на все вопросы, то есть алгоритм всегда заканчивает свою роботу , Робот не разрушается при исполнении алгоритма и полностью выполняет поставленную в условии задачу, то задание оценивается в 2 балла.
Источники
Система программирования КуМир
https://www.niisi.ru/kumir/books.htm
К.Ю. Поляков Кумир для подготовки к ОГЭ. Практикум
http://kpolyakov.spb.ru/school/kumir.htm
Программирование в системе Кумир
https://sites.google.com/site/fakultativinformatika/
Денис Кириенко (Архив с курсом заданий для практикума)
http://server.179.ru/wiki/?page=DenisKirienko/Kumir
https://server.179.ru/wiki/?show_files=1&page=Denis_Kirienko/Kumir#header-files
Удалова Т.Л. (Варианты для Робота)
http://licey.net/free/18-programmirovanie_na_yazyke_kumir/70-sistema_programmirovaniya_kumir.html
«Информатика. Кумир» Удалова Т.Л.
https://books.google.ru/books?id=CdAqevFDPa4C&printsec=frontcover&hl=ru#v=onepage&q&f=false