кц - Youblisher

advertisement
Методическое пособие для учителей информатики.
Евграфова Ольга Владимировна, гимназия №8 г.о. Коломна, 2013 год
В процессе изучения предмета «Информатика и ИКТ» учащиеся не только усваивают
информационную культуру (культуру грамотного общения с компьютером, оформления документа, электронного общения), но и осваивают азы программирования.
Одной из наиболее успешных отечественных разработок в этой области является система программирования Кумир. В ней учащиеся могут получить практические навыки по
созданию и отладке алгоритма, работая с исполнителями Робот и Чертѐжник. Преимуществами этой системы являются возможность русскоязычного написания команд на школьном
алгоритмическом языке и наглядность получаемого результата выполнения алгоритма.
Система КуМир разработана исходя из потребностей российской системы образования. Ее особенности:





свободно распространяемая;
многоплатформенная;
нулевые требования к ресурсам;
поддерживается российской академией наук;
в числе разработчиков – авторы многих учебников и учебных пособий по информатике;
 бесплатную программную оболочку Кумир можно найти на сайте
http://www.niisi.ru/kumir/.
К сожалению, авторы новых учебников по информатике уделяют недостаточно внимания
или вообще обходят стороной данных исполнителей. В то же время разработчики ГИА и
-1-
ЕГЭ включают задания с использованием данных исполнителей в задания экзаменационных
работ.
Тема изучается в 9 классе в разделе «Алгоритмизация и программирование». На изучение
темы отводится 9 часов.
Учащиеся должны знать:
что такое исполнитель; СКИ Робота, среду исполнителя Робот;
что такое алгоритм; в чем состоят основные свойства алгоритма;
способы записи алгоритмов: блок-схемы, учебный алгоритмический язык; основные алгоритмические конструкции: следование, ветвление, цикл; назначение вспомогательных алгоритмов.
Учащиеся должны уметь:
понимать описания алгоритмов на учебном алгоритмическом языке;
выполнить трассировку алгоритма для известного исполнителя;
составлять линейные, разветвляющиеся и циклические алгоритмы управления исполнителя Робот; выделять подзадачи; определять и использовать вспомогательные алгоритмы.
Тематический план уроков:
№ п/п
1.
2.
3.
4.
5.
Тема урока
Число Теочасов рия
Исполнитель Робот. Система команд исполнителя. Состав1
0,5
ление линейных алгоритмов.
Циклические алгоритмы.
3
1
Практическая работа №1. Составление и отладка циклических алгоритмов.
Ветвление и последовательная детализация алгоритма.
2
1
Практическая работа №2. Составление и отладка циклических и разветвляющихся алгоритмов.
Вспомогательные алгоритмы и подпрограммы.
2
0,5
Пр. раб. №3. «Использование вспомогательных алгоритмов».
Контрольная работа. «Создание алгоритма в среде испол1
нителя»
Практика
0,5
2
1
1,5
1
Материалы к урокам по теме «Учебный исполнитель Робот»:
-2-
Урок 1. Исполнитель Робот. Система команд исполнителя.
Робот движется при исполнении программы в прямоугольном клетчатом
поле, между клетками которого могут
быть расположены стены. Поле вызывается на экран по кнопке «Окно Робота», которая расположена на панели
инструментов.
Поле программных кодов Робота.
Робот умеет выполнять команды-приказы и команды-вопросы.
Команды-приказы: вправо, влево, вверх, вниз,
закрасить.
Если на пути оказывается стена, то команда не
может быть выполнена.
Для непосредственного управления Роботом используется дистанционный пульт. Нажимая
кнопки на пульте, человек отдает соответствующие команды, и Робот выполняет их.
Для программного управления недостаточно знать, какие команды и в какой последовательности надо исполнить. Нужно еще записать эти команды в форме, понятной для компьютера,
т.е. оформить в виде алгоритма. В простейшем случае алгоритм для Робота записывается так:
использовать Робот
алг имя_алгоритма
нач
последовательность команд
кон
Имя алгоритма - это последовательность символов
или слов, разделенных пробелами. Первый символ
имени не должен начинаться с цифры.
Правильные
имена:
g,
sum,
периметр
ника, Апрель 12, двенадцатое апреля, колич_11_кл.
«Правильное» имя выделится синим цветом.
Для лучшего понимания алгоритма в теле программы можно использовать комментарии.
Комментарии начинаются знаком |. Если комментарии занимают несколько строк, то в начале каждой строки должен стоять знак |. На ход выполнения алгоритма комментарии не оказывают никакого действия.
Пример 1. Программа «Ход конем» (переместить Робота из точки А в точку Б).
Исходное состояние:
Программа:
Результат:
Правила алгоритмического языка разрешают записывать в одной строке несколько команд
через точку с запятой.
-3-
Пример 2. Требуется переместить Робота из точки А в точку Б. Путь, который должен пройти Робот, можно разбить на пять одинаковых участков. Команды прохождения каждого участка удобно сгруппировать в одну строку – это сокращает запись алгоритма и делает его более понятным.
Смена обстановки Робота.
Для того, чтобы заставить Робота действовать в новой обстановке, ее необходимо загрузить,
используя следующие команды главного меню:
Выбрать элемент «Робот» «Сменить стартовую обстановку»
Открыть нужную папку и выбрать файл.
Создание новой обстановки.
Для создания новой обстановки для Робота, необходимо выполнить команды главного меню:
Выбрать элемент «Инструменты» «Редактировать стартовую обстановку».
В окне «Обстановка» выбрать элемент «Обстановка» «Новая обстановка» Задать количество строк и столбцов.
Щелчком мыши установить стены и переместить Робота на нужную клетку.
Сохранить обстановку, используя команды: «Обстановка» «Сохранить КАК»
Задать имя файла и папку для размещения.
Нажать копку «Сохранить».
Поставить / Убрать стену – щелкнуть по границе между клетками.
Закрасить / Сделать чистой клетку – щелкнуть по клетке.
Поставить / Убрать точку – щелкнуть по клетке при нажатой клавише Ctrl.
Установить радиацию, метки – щелкнуть правой клавишей мыши.
Переместить Робота – тащить мышью.
«Выполнение»
Выполнение программы.
«Выполнить непрерывно»
Самостоятельная работа на компьютере:
1. Загрузить новую обстановку, перевести Робота в точку «Б», закрасив по пути точки, отмеченные символом «точка»:
«Практикум для Робота»
папка «1»
задание «В» (материалы с
сайта К. Полякова http://kpolyakov.narod.ru), составить программу, открыть окно Робота и запустить программу на выполнение. Сохранить
программу в своей папке с именем «1_В».
Б
2. Создать новую обстановку, сохранить ее
в своей папке с именем «Обстановка_1». Составить программу для новой обстановки и сохранить ее в своей папке с именем «новая_обстановка_1».
3. **Решить другие задачи из папки №1 практикума.
-4-
Урок 2. Циклические алгоритмы. Цикл N - раз.
Задание на повторение:
Петя составил алгоритм для Робота «Прогулка». Коля
стер в нем одну команду. Определите, какую команду
стер Коля, если известно, что Робот должен вернуться
в исходное состояние.
Ответ: вправо
нц N раз
· серия команд
кц
использовать Робот
алг Прогулка
нач
. вверх; вправо
.
?
. вниз; влево; влево
кон
При составлении алгоритмов часто встречаются случаи, когда
некоторую последовательность команд нужно выполнить несколько раз подряд. Например, пример №2 прошлого урока. Для
упрощения записи алгоритма в таких случаях можно использовать команду – «Цикл N-раз».
N — целое выражение, задающее число повторений.
При выполнении алгоритма последовательность команд циклически повторяется указанное число раз. Это число может быть нулевым и даже отрицательным. Эти случаи не считаются ошибочными, просто тело цикла не будет выполнено ни разу, а компьютер сразу перейдет к выполнению команд, записанных после кц.
Пример 1. Требуется переместить Робота из
точки А в точку Б.
А
Пример 2. Закрасить ряд из 16 клеток.
Б
Пример 3. Закрасить прямоугольник размером 5(строк) х 6(столбцов).
использовать Робот
алг Прямоугольник
нач
нц 5 раз
кц
кон
Цикл может располагаться внутри другого
цикла. Тогда он называется вложенным.
-5-
Самостоятельная работа на компьютере:
Пример 4.
Пусть надо перевести Робота из начального положения в точку, обозначенную звездочкой и по пути закрасить клетки лабиринта.
Создать обстановку и программу. Сохранить файлы в
своей папке.
Пример 5. Перевести Робота из начального положения
на Базу и закрасить клетки, отмеченные точкой.
Создать обстановку и программу. Сохранить файлы в
своей папке.
Пример 6. Необходимо провести
Пример 7. Необходимо провести Робота вдоль коридора из
Пример 8. Составьте программу
начального положения до точки A, заглядывая в каждый боковой коридор.
Робота по лабиринту из начального
положения в точку A.
закрашивания клеток поля, отмеченных *. Начальное положение Робота
обозначение значком ◊.
Пример 9*. На поле исполнителя выставлены стены.
Необходимо найти начальное, оптимальное положение
исполнителя и написать программу, результатом выполнения которой будут закрашенные клетки (так, как показано на рисунке).
**Составить программы, используя папку «Практикум для Робота»_ №2.
-6-
Урок 3. Цикл Пока.
Нам необходимо научиться составлять универсальные алгоритмы, которые не будут зависеть от расстояний между
Роботом и стеной, длиной стен. Для этого будем использовать новый оператор цикла.
нц пока условие
серия команд
кц
При выполнении цикла компьютер повторяет следующие
действия:
 проверяет условие;
 если условие выполняется, то выполняются команды тела цикла и снова проверяет условие и т.д.
 если условие не соблюдается, то выполнение
слева стена
слева свободно
цикла завершается, и выполняются команды,
справа стена
справа свободно
записанные после кц.
снизу
стена
снизу свободно
 условия цикла (команды-вопросы):
сверху стена
сверху свободно
клетка закрашена клетка чистая
Замечания.
 Если условие не соблюдается с самого начала, то тело цикла не выполнится ни разу!
 Выполнение цикла может не завершиться, если условие все время будет соблюдаться. Такая ситуация обычно возникает в результате ошибок в
НЦ ПОКА справа свободно
составлении алгоритмов.
вправо; влево
Пример бесконечного алгоритма (справа нет стены):
КЦ
Условия бывают простые и составные.
Простое условие - это обычно какая-то проверка. Примером может служить любая команда-вопрос Робота.
Составное условие формируется из нескольких простых условий с использованием служебных слов И, ИЛИ, НЕ.
Если между простыми условиями стоит И, то для выполнения составного условия необходимо, чтобы верными оказались оба простых.
Если между простыми условиями стоит ИЛИ, то для выполнения составного условия достаточно, чтобы верным оказалось хотя бы одно простое условие.
Пример 2. Робот
Пример 1. Педолжен закрасить
реместить Роклетки, указанные
бота на Базу.
на рисунке.
Длина стены и
расстояние до
стены неизвестны.
использовать
Робот
алг На Базу
нач
. нц пока сверху свободно
. . вверх
. кц
. нц пока сверху стена
. . вправо
. кц
. вверх
кон
-7-
Самостоятельная работа на компьютере:
▪
Где-то в поле Робота находится стена в виде уголка, размеры
которой неизвестны. Робот из произвольной клетки слева от
стены, но обязательно напротив нее, должен дойти до стены и
закрасить все клетки вдоль стены за ней, как показано на рисунке.
▪ Необходимо перевести Робота из начального положения в
точку A, закрашивая при этом указанные клетки поля. Размеры
стен и расстояние между ними могут быть произвольны.
▪
Составить программы, используя папку «Практикум для Робота»
 Папка_4_Задачи_А_С_D
 Папка_5_Задачи_A_B_C_D
Урок 4. Практическая работа №1. Циклические алгоритмы для Робота.
Вариант 1
Задание 1.Закрасить клетки, находящиеся
слева от стены или сверху стены. Расстояние от Робота до стены неизвестно.
Длина стен неизвестна.
Создать обстановку и написать программу. Файлы сохранить в своей папке.
Р
Задание 2. Исполнитель Робот находится
где-то внутри ограниченной квадратной области. Длина стороны квадрата неизвестна.
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные на диагонали квадрата из левого верхнего в правый
нижний угол.
Создать обстановку и написать программу.
Файлы сохранить в своей папке.
Задание 3. Перевести исполнитель из клет-
ки А в клетку В, закрасив при этом отмеченные клетки.
Длина стен и расстояние между ними неизвестны.
Создать обстановку и написать программу. Файлы сохранить в своей папке.
-8-
Задание 4. Необходимо перевести Робота из
начального положения (◊) в точку A, закрашивая при этом указанные клетки поля. Размеры стен и расстояние между ними могут
быть произвольны.
Задание 5. На бесконечном поле есть ле-
сенка. Количество ступенек может быть
любым. Нижняя горизонтальная стена
продолжается бесконечно вправо, верхняя
горизонтальная стена уходит бесконечно
влево. Робот находится где-то над нижней
горизонтальной стеной. Закрасить клетки,
расположенные вдоль вертикальной части
ступенек (см. рис.). Конечное положение
Робота любое.
Создать обстановку и написать программу. Файлы сохранить в своей папке.
Каждая ступенька имеет размер: 2 клетки по
горизонтали и 2 клетки по вертикали.
Вариант 2
Задание 1. Напишите для Робота алгоритм,
закрашивающий все клетки, расположенные
вдоль левой боковой и над нижней сторонами
прямоугольника и прилегающие к стене. Рас-
Р
стояние от Робота до стен и длина стен
неизвестны.
Создать обстановку и написать программу. Файлы сохранить в своей папке.
Задание 2. Исполнитель Робот находится
где-то внутри ограниченной квадратной области. Длина стороны квадрата неизвестна.
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные на диагонали квадрата из правого верхнего в левый
нижний угол.
Создать обстановку и написать программу.
Файлы сохранить в своей папке.
Задание 3. Перевести исполнитель из клет-
ки А в клетку В, закрасив при этом отмеченные клетки.
Длина стен и расстояние между ними неизвестны.
Создать обстановку и написать программу. Файлы сохранить в своей папке.
-9-
Задание 4. Необходимо перевести Робота из начального положения (◊) в точку A, закрашивая
при этом указанные клетки поля. Размеры стен и
расстояние между ними могут быть произвольны.
Задание 5. На бесконечном поле есть ле-
сенка. Количество ступенек может быть
любым. Нижняя горизонтальная стена
продолжается бесконечно влево, верхняя
горизонтальная стена уходит бесконечно
вправо. Робот находится где-то над нижней горизонтальной стеной. Закрасить
клетки, расположенные вдоль вертикальной части ступенек (см. рис.). Конечное
положение Робота любое.
Создать обстановку и написать программу. Файлы сохранить в своей папке.
Каждая ступенька имеет размер: 2 клетки по
горизонтали и 2 клетки по вертикали.
Урок 5. Разветвляющиеся алгоритмы.
Команда «если _ то _ иначе _ все»
Общий вид команды:
если условие
то действия 1
иначе действия 2
все
Структура команды: после проверки условия выполняются действия 1, если условие истинно, в противном случае – действия 2. После этого выполняются команды, записанные после слова все.
Ветка иначе может
отсутствовать (неполное ветвление). В этом случае команда
имеет вид:
если условие
то действия
все
Если условие не соблюдается, то сразу выполняются команды, записанные после служебного слова все.
Пример 1. Создать программу, проводящую Робота через коридор произвольной длины. По пути
Робот должен закрасить все клетки, у которых
снизу нет стены. Количество отверстий неизвестно.
- 10 -
Пример 2. Перевести Робота в точку Б и закрасить
клетки, отмеченные точкой. Длина стены и количество «тупиков» неизвестно.
использовать Робот
алг На Базу
нач
нц пока справа свободно
вправо
если сверху свободно
то
вверх
закрасить
вниз
все
кц
вниз
кон
Пример** Подсчитать, сколько в коридоре закрашенных клеток (для выполнения надо разобрать дополнительно конструкции:
цел сч
| описание переменной целого типа
сч:=сч+1 | увеличение переменной на 1
вывод сч | вывод значения переменной на экран
Самостоятельная работа на компьютере:
Создать обстановку и решить задачу.
Задание 1. Составить алгоритм для прохождения роботом обстановки:
Задание 2. Составить программу, в которой
Робот преодолевает любое количество препятствий и доходит до стены. Препятствия
можно располагать где угодно.
- 11 -
Задание 3. Закрасить клетки, отмеченные точками.
использовать Робот
алг На Базу
нач
закрасить
нц пока справа свободно
вправо
если сверху свободно
то вверх; закрасить; вниз
иначе закрасить
все
кц
вниз
кон
Задание 4.
Составить
алгоритм,
закрашивающий
все клетки,
находящиеся между двумя стенами. Какая стена
находится левее неизвестно.
использовать Робот
алг между_стенами
нач
нц пока (не сверху свободно) или (не снизу
свободно)
вправо
если
(не сверху свободно) и (не снизу свободно)
то
закрасить
все
кц
кон
Задание 5. Закрасить клетки, расположенные рядом
со стенами.
использовать Робот
алг уч5
нач
вправо
нц пока не снизу свободно
закрасить; вправо
кц
закрасить; вниз
нц пока слева свободно
закрасить; влево
кц
нц пока не слева свободно
закрасить; вниз
кц
закрасить; влево; закрасить; вверх;
нц пока сверху свободно
закрасить; вверх
кц
нц пока не сверху свободно
закрасить; влево
кц
кон
Задание 6**. Робот находится в начале коридора. В коридоре имеются тупики сверху и снизу неизвестной длины, но их расположение не бывает напротив друг друга. Длина коридора также неизвестна. Написать алгоритм закрашивания всех тупиков и выхода из коридора.
- 12 -
использовать Робот
алг тупики
нач
. нц пока (сверху стена) или (снизу стена)
. . вправо
. . если (сверху свободно) и (снизу стена)
. . . то
. . . . нц пока сверху свободно
. . . . . вверх; закрасить
. . . . кц
. . . . нц пока снизу свободно
. . . . . вниз
. . . . кц
. . все
. . если (снизу свободно) и (сверху стена)
. . . то
. . . . нц пока снизу свободно
. . . . . вниз; закрасить
. . . . кц
. . . . нц пока сверху свободно
. . . . . вверх
. . . . кц
. . все; . кц; кон
Команды, выделенные красным
цветом необходимы, чтобы остановиться при выходе из коридора.
Урок 6. Практическая работа №2. Циклические и разветвляющиеся алгоритмы для Робота. Решение заданий с использований КИМ ГИА.
Замечание. При составлении алгоритмов задачу необходимо решить в общем виде, т.е. вид
фигуры определен, но длины сторон, количество ступенек и другие параметры могут меняться. Программа должна работать для любой фигуры похожего вида!
Задача 1. Создайте обстановку и напишите алгоритм, закрашивающий все клетки, находящиеся правее вертикальных
участков стены.
использовать Робот
алг задача 1
нач
вниз; вправо
. нц пока сверху свободно
. . вверх
закрасить
. кц
. нц пока не сверху свободно
. . вправо
. кц
. вверх
. нц пока не слева свободно
. . закрасить; вверх
. кц
кон
- 13 -
использовать Робот
алг задача 2
нач
. нц пока справа свободно
. . вправо
. кц
. нц пока не справа свободно
. . вверх
. кц
. вправо
. нц пока не справа свободно
. . закрасить
вверх; вправо
. кц
кон
Высота каждой ступени
одна клетка, ширина – 2
клетки.
Задача 2. Напишите алгоритм, закрашивающий все клетки , находящиеся над ступеньками.
Задача 3. Закрасить все клетки,
находящиеся над ступенями лестницы, спускающейся слева
направо.
использовать Робот
алг задача 3
нач
. нц пока снизу свободно
. . вниз; влево; влево
. кц
. нц пока не слева свободно
. . закрасить; вправо
. . закрасить; вправо
. . вниз
. кц
кон
Задача 4. Закрасить клетки лабиринта.
использовать Робот
алг Лабиринт
нач
. вправо
. нц пока справа стена
. . закрасить; вверх
. . закрасить; вверх
. . закрасить; вправо
. . закрасить; вниз
. . закрасить; вниз
. . закрасить; вправо
. кц
кон
Задача 5** Исполнитель находится в произвольной клетке, но обязательно напротив стены
(рисунок сверху). В результате необходимо закрасить клетки так, как показано на рисунке снизу.
- 14 -
использовать Робот
алг Выход
нач
. нц пока справа свободно
вправо;
. кц
. нц пока справа стена
вниз;
. кц
. вправо; вверх
. нц пока (слева стена и сверху свободно) или
(сверху стена и справа свободно) или
(справа стена и снизу свободно) или
(снизу стена и слева свободно)
. . если (слева стена) и (сверху свободно)
. . . то . закрасить; вверх
. . все
. . если (сверху стена) и (справа свободно)
. . . то . .
закрасить; вправо
. . все
. . если справа стена и снизу свободно
. . . то . . закрасить; вниз; . . все
. . если снизу стена и слева свободно
. . . то . . . закрасить; влево; . . все ;
. кц;
кон
Урок 7. Вспомогательные алгоритмы
При решении некоторых задач удобно разбить их на более мелкие подзадачи, каждую
из которых можно оформить как самостоятельный алгоритм. В этом случае сначала составляется так называемый основной алгоритм, в котором для решения подзадач используются
вызовы вспомогательных алгоритмов, которые дописываются позднее.
Такой способ решения называется методом последовательного уточнения. Он позволяет работать над проектом группе программистов, каждый при этом решает свою подзадачу.
Команда выполнения вспомогательного алгоритма называется вызовом и записывается
в теле основного алгоритма.
В алгоритмическом языке сначала записывается основной алгоритм, ниже подряд записываются вспомогательные.
Пример 1. Рассмотрим обстановку из урока
№1. Робота надо перевести в клетку, обозначенную точкой.
использовать Робот
алг Коридор
нач
обход; обход; обход; обход; обход
кон
алг обход
нач
вверх; вверх; вправо
вниз; вниз; вправо
кон
- 15 -
Обратите внимание – первая строка повторяется 5 раз. В таком случае рационально использовать вспомогательный алгоритм.
Пример 2. Необходимо закрасить все поле
Робота, начиная с левого верхнего угла.
Алгоритм Коридор 5 раз вызывает вспомогательный алгоритм обход. Алгоритм Коридор в
этом случае - основной, обход - вспомогательный.
использовать Робот
алг Поле
нач
нц пока снизу свободно
. . ряд; обратно; вниз
кц
ряд
кон
алг ряд
нач
Второй вариант основного алгоритма:
использовать Робот
алг Поле
нач
нц пока справа свободно
если снизу свободно
то ряд; обратно; вниз
иначе ряд
все
кц
кон
Пример 3. Исполнитель находится в произвольной клетке, но обязательно напротив стены. В
результате необходимо закрасить клетки так, как
показано на рисунке снизу.
нц пока справа свободно
. . закрасить; вправо
кц
закрасить
кон
алг обратно
нач
нц пока слева свободно
. . влево
кц
кон
использовать Робот
алг пример_3
нач
путь; поле
кон
алг путь
нач
нц пока справа свободно
вправо
кц
нц пока справа стена
вниз; кц
вправо
нц пока сверху свободно
вверх; кц
кон
алг поле
нач
нц пока слева стена
нц пока справа свободно
закрасить; вправо; кц
закрасить
нц пока слева свободно
влево; кц
вниз
кц
кон
- 16 -
Самостоятельная работа на компьютере:
Создать обстановку и решить задачу.
Задание 1. Составьте программу рисования узора с использованием вспомогательного алгоритма. Начальное
положение Робота отмечено символом ◊.
Задание 2 . Составьте программу рисования узора с использованием вспомогательного алгоритма. Начальное положение Робота отмечено символом ◊.
Задание 3.Дано поле размером 10х16. Робот стоит в верхнем левом углу поля. Составить
программу, которая нарисует три квадрата со стороной в 4 клетки, вложенных друг в друга.
Для рисования следующего квадрата Робот смещается на две клетки вправо и две клетки
вниз от предыдущей верхней левой вершины квадрата.
использовать Робот
алг тупики
нач
. нц 3 раз
. . квадрат
. . вниз; вниз
. . вправо; вправо
. кц
кон
| вспомогательный алгоритм
алг квадрат
нач
. нц 4 раз
. . нц 4 раз
. . . закрасить;вправо
. . кц
. . нц 4 раз
. . . закрасить;вниз
. . кц
. . нц 4 раз
. . . закрасить;влево
. . кц
. . нц 4 раз
. . . закрасить;вверх
. . кц
. кц
кон
- 17 -
Урок 8. Практическая работа №3.
«Решение задач с использованием вспомогательных алгоритмов».
Создать обстановку и составить программу.
Задача 1. Робот стоит в верхней левой клетке
поля. Необходимо закрасить клетки, отмеченные на рисунке.
Для закрашивания фигуры использовать вспомогательный алгоритм.
Задача 2. Робот стоит в верхней левой
клетке поля. Необходимо закрасить клетки, отмеченные на рисунке.
Использовать вспомогательные алгоритмы.
Задача 3. Необходимо найти начальное, оптимальное положение исполнителя и написать
программу, результатом выполнения которой
будут закрашенные клетки (так, как показано на
рисунке).
Использовать вспомогательные алгоритмы.
Задача 4.
Робот стоит в верхней левой клетке поля.
Необходимо закрасить клетки, отмеченные на рисунке.
Для закрашивания фигуры использовать
вспомогательный алгоритм.
Задача 5. Робот находится в верхнем левом
углу поля. Стен и закрашенных клеток нет. Составьте алгоритм, который закрашивает в шахматном порядке квадрат 8 х 8. Конечное положение Робота может быть произвольным.
- 18 -
Урок 9. Контрольная работа
Вариант 1
Задание 1. Исполнитель Робот находится
где-то внутри огороженного пространства, имеющего форму прямоугольника.
Размеры прямоугольника неизвестны.
Составьте алгоритм, закрашивающий
все клетки, расположенные под верхней и
над нижней сторонами прямоугольника и
прилегающие к стене. Например, для
приведенного выше рисунка Робот должен закрасить следующие клетки.
Задание 2. Составить алгоритм, который переместит Робота из начального положения в клетку, отмеченную звездочкой. Задачу решить для
конкретного рисунка, применяя команду цикл N
раз.
.
Задание 3. Создать орнамент, используя
вспомогательные алгоритмы.
Задание 4. Перевести исполнитель из клетки А в
клетку В, закрасив при этом отмеченные клетки.
Длина стен и расстояние между стенами неизвестны.
Задание 5**. Провести Робота по ступенькам. Длина и высота ступенек, а
также их количество неизвестны.
- 19 -
Вариант 2
Задание 1. Исполнитель Робот находится
где-то внутри огороженного пространства,
имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Напишите
для Робота алгоритм, закрашивающий все
клетки, расположенные у боковых сторон
прямоугольника и прилегающие к стене.
Задание 2. Составить алгоритм, который переместит Робота из начального положения в клетку, отмеченную звездочкой. Задачу решить для
конкретного рисунка, применяя команду цикл N
раз.
Задание 3. Создать орнамент, используя
вспомогательные алгоритмы.
Задание 4. Перевести исполнитель из клетки А
в клетку В, закрасив при этом отмеченные клетки. Длина стен и расстояние между стенами неизвестны.
Задание 5**. Провести Робота по ступенькам. Длина и высота ступенек, а также их количество неизвестны.
Дополнительно. Робот движется вдоль стены, профиль которой показан на рисунке, от начального положения (◊) до конца стены. Необходимо закрасить все внутренние углы стены,
как показано на примере. Размеры стены могут быть произвольны.
а)
б)
- 20 -
Задания ГИА прошлых лет
Задание 1.
Использовать Робот
алг
нач
нц пока справа свободно
вправо
кц
нц пока не справа свободно
вниз
кц
нц пока справа свободно
вправо
кц
нц пока снизу свободно
вниз
кц
кон
Задание 2.
Использовать Робот
алг
нач
вниз; влево; вверх
нц пока не справа свободно
закрасить; вверх
кц
вправо
нц пока не снизу свободно
вправо
кц
вниз
нц пока не слева свободно
закрасить; вниз
кц
кон
Задание 3.
Использовать Робот
алг
нач
закрасить
нц пока не слева свободно
вверх
кц
вниз; закрасить
нц пока справа свободно
вправо
кц
закрасить
кон
Задание 4.
Использовать Робот
алг
нач
закрасить
нц пока сверху свободно
вверх
кц
вправо
нц пока не сверху свободно
закрасить; вправо
кц
кон
- 21 -
Задание 5.
Использовать Робот
алг
нач
нц пока сверху свободно
вверх
кц
нц пока не сверху свободно
влево
кц
вверх
нц пока не снизу свободно
вправо
кц
вниз; закрасить
нц пока не слева свободно
вниз
кц
вверх
закрасить
кон
Задание 6.
Использовать Робот
алг
нач
нц пока слева свободно
влево
кц
нц пока не слева свободно
закрасить; вверх
кц
нц пока слева свободно
вверх
кц
нц пока не слева свободно
закрасить; вверх
кц
влево; вниз
нц пока не справа свободно
закрасить; вниз
кц
нц пока справа свободно
вниз
кц
нц пока не справа свободно
закрасить; вниз
кц
кон
Задание 7.
Количество ступеней неизвестно.
Использовать Робот
алг
нач
влево; вниз;
нц 3 раз
вправо
кц
нц пока сверху свободно
вверх; вверх
закрасить; вправо
закрасить; вправо
кц
кон
Размеры ступеней: 2х2.
- 22 -
Задание 8.
Использовать Робот
алг
нач
нц пока не снизу свободно
закрасить; вправо
кц
нц пока снизу свободно
вправо
кц
нц пока справа свободно
закрасить; вправо
кц
нц пока не справа свободно
закрасить; вверх
кц
нц пока справа свободно
вверх
кц
нц пока не справа свободно
закрасить; вверх
кц
кон
Задание 9.
На бесконечном поле имеется стена, состоящая из 5 последовательных отрезков, расположенных змейкой: вправо, вниз, влево, вниз, вправо. Все отрезки неизвестной длины. Робот
находится в самой левой клетке непосредственно под верхней горизонтальной стеной. На
рисунке показан один из возможных способов расположения стен и Робота(обозначен буквой Р).
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные ниже первого и
левее второго отрезков стены и левее четвертого и ниже пятого отрезков стены.
Конечное расположение робота может быть произвольным. Алгоритм должен решать задачу
для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.
Использовать Робот
алг
нач
нц пока справа свободно
закрасить; вправо
кц
нц пока снизу свободно
закрасить; вниз
кц
закрасить
нц пока не снизу свободно
влево
кц
вниз
нц пока не справа свободно
закрасить; вниз
кц
закрасить; вправо
нц пока не сверху свободно
закрасить; вправо
кц
кон
- 23 -
Справочная литература:
1. Учебники А.Г. Кушниренко и соавторов:
http://publ.lib.ru/ARCHIVES/K/KUSHNIRENKO...
http://www.niisi.ru/kumir/books.htm
2. Материалы Д. Кириенко:
http://server.179.ru/wiki/?page=DenisKirienko/Kumir
3. Материалы К. Полякова:
http://kpolyakov.narod.ru/school/kumir.htm
4. Сборник задач Т. Удаловой
http://www.licey.net/kumir/
5. Материалы Т. Прищепа
http://ido.tsu.ru/other_res/school2/osn/metod/prog/index.html
6. А.К. Звонкин, С.К. Ландо, А.Л.Семенов Информатика: алгоритмика: учебник для 6
кл. общеобразоват. Учреждений. – М.: Просвещение, 2006
- 24 -
Download