Задачи повышенной сложности с решениями в среде графического исполнителя Кенгуренок

Разделы: Информатика


С понятиями “алгоритм” и “исполнитель” ученики нашей гимназии знакомятся в 3-м классе начальной школы. Базовое программное обеспечение в начальной школе, а по отдельным темам и в среднем звене – это программный комплекс “Хиты Роботландии”. В 6-7-х классах на уроках информатики ученики вновь возвращаются к понятиям “алгоритм” и “исполнитель”, но на новом витке дидактической спирали, на более высоком уровне работы с ними. Учебник для базового курса информатики [1] предлагает работу с разными графическими исполнителями: Кенгуренок, Пылесосик, Черепашка и др. Мы считаем необходимым изучать Кенгуренка и Пылесосика в 6-м классе, а Черепашку с ее дополнительными возможностями в 7-м классе.

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

  1. Так, Кенгуренок не умеет подсчитывать шаги, прыжки, количество повторов своих действий, не запоминает уже нарисованные линии. Из всех параметров рабочего листа он может четко контролировать только край листа.
  2. Лист команд вмещает ровно 150 строк. Конечно, для большинства задач этого количества строк хватает. Но есть задачи с таким количеством элементов в рисунке, что обычными командами Кенгуренка в эти строки не уложиться. Выход – максимально применить в программе процедуры.

Задачи, представленные в данной статье, являются задачами повышенной сложности. Они могут быть предложены в качестве самостоятельных или домашних заданий сильным ученикам, могут использоваться на факультативных занятиях в 6-7-х классах, на внутришкольных олимпиадах по информатике. Приводим также авторские решения задач. Начальное положение Кенгуренка указано стрелкой. Конечное положение – какое угодно, это может зависеть от способа решения задачи.

Задача 1

Задача 2

рис. 1

рис. 2

шаг

шаг

пока впереди не край, повторять

сделай переход

сделай две_черты

конец цикла

процедура переход

поворот

поворот

прыжок

поворот

прыжок

поворот

конец процедуры

процедура две_черты

шаг

поворот

прыжок

сделай правпов

шаг

конец процедуры

процедура правпов

поворот

поворот

поворот

конец процедуры

сделай две_линии

сделай правпов

сделай две_линии

сделай правпов

сделай две_линии

сделай правпов

сделай две_линии

процедура две_линии

шаг

шаг

пока впереди не край, повторять

сделай переход

сделай две_черты

конец цикла

конец процедуры

процедура переход

поворот

поворот

прыжок

поворот

прыжок

поворот

конец процедуры

процедура две_черты

шаг

поворот

прыжок

сделай правпов

шаг

конец процедуры

процедура правпов

поворот

поворот

поворот

конец процедуры

Задача 3

Задача 4

рис. 3

рис. 4

сделай линия_1

сделай переход1

сделай линия

сделай правпов

сделай линия_1

сделай переход1

сделай линия

процедура линия_1

пока впереди не край, повторять

сделай штрих

конец цикла

конец процедуры

процедура штрих

прыжок

если впереди не край, то

сделай шаг_после_возврата

конец ветвления

конец процедуры

процедура шаг_после_возврата

сделай переход1

поворот

шаг

конец процедуры

процедура переход1

поворот

поворот

прыжок

поворот

конец процедуры

процедура линия

пока впереди не край, повторять

шаг

конец цикла

конец процедуры

процедура правпов

поворот

поворот

поворот

конец процедуры

сделай линия_2

сделай переход

сделай линия_2

сделай переход

сделай линия_2

сделай переход

сделай линия_2

процедура линия_2

пока впереди не край, повторять

сделай штрих_2_1

конец цикла

конец процедуры

процедура штрих_2_1

прыжок

прыжок

если впереди не край, то

сделай возврат_шаг

конец ветвления

конец процедуры

процедура возврат_шаг

поворот

поворот

прыжок

прыжок

поворот

поворот

шаг

конец процедуры

процедура переход

поворот

поворот

прыжок

прыжок

поворот

конец процедуры

 

Задача 5

Задача 6

рис. 5

рис. 6

сделай линия

сделай правпов

сделай диаг

поворот

поворот

сделай линия

поворот

сделай линия

поворот

поворот

сделай диаг

сделай правпов

сделай линия

процедура линия

пока впереди не край, повторять

шаг

конец цикла

конец процедуры

процедура переход1

сделай правпов

прыжок

сделай правпов

конец процедуры

процедура правпов

поворот

поворот

поворот

конец процедуры

процедура диаг

пока впереди не край, повторять

сделай ступенька

конец цикла

конец процедуры

процедура ступенька

прыжок

сделай правпов

прыжок

если впереди не край, то

поворот

конец ветвления

конец процедуры

пока впереди не край, повторять

сделай дорожка

поворот

поворот

сделай дорожка

поворот

прыжок

конец цикла

процедура дорожка

шаг

пока впереди не край, повторять

сделай сдвиг

если впереди не край, то

шаг

конец ветвления

конец цикла

конец процедуры

процедура сдвиг

поворот

если впереди не край, то

прыжок

сделай правпов

конец ветвления

конец процедуры

процедура правпов

поворот

поворот

поворот

конец процедуры

Задача 7

Задача 8

рис. 7

сделай гориз

сделай правпов

сделай вертик

сделай правпов

сделай гориз

сделай правпов

сделай вертик

процедура гориз

сделай начало

пока впереди не край, повторять

сделай тройка

сделай переход

конец цикла

конец процедуры

процедура начало

сделай шаг2

сделай шаг2

сделай пов2

сделай пры2

прыжок

поворот

прыжок

поворот

сделай шаг2

поворот

прыжок

сделай правпов

прыжок

конец процедуры

процедура тройка

шаг

сделай спуск

шаг

сделай спуск

шаг

конец процедуры

процедура спуск

сделай пов2

сделай пры2

поворот

прыжок

поворот

конец процедуры

процедура переход

поворот

сделай пры2

сделай правпов

сделай пры2

конец процедуры

процедура вертик

сделай начало

сделай тройка

сделай переход

конец процедуры

процедура пры2

прыжок

прыжок

конец процедуры

процедура шаг2

шаг

шаг

конец процедуры

процедура пов2

поворот

поворот

конец процедуры

процедура правпов

поворот

поворот

поворот

конец процедуры

сделай сторона_лица

поворот

сделай сторона_лица

поворот

сделай сторона_лица

поворот

сделай верх_лица

поворот

сделай пры2

поворот

прыжок

сделай квад

поворот

сделай пры2

сделай квад

сделай пры2

сделай правпов

шаг

сделай пов2

шаг

сделай правпов

сделай пры2

сделай пры2

сделай пры5

сделай нога

сделай шаг2

сделай шаг_пов

сделай нога

поворот

поворот

прыжок

поворот

шаг

сделай бок

сделай правпов

шаг

сделай правпов

сделай шаг4

сделай шаг2

сделай правпов

сделай шаг4

сделай шаг2

шаг

сделай правпов

сделай шаг4

сделай шаг2

сделай правпов

шаг

сделай правпов

сделай бок

шаг

процедура сторона_лица

сделай шаг2

сделай правпов

сделай квад

сделай пов2

сделай шаг2

шаг

конец процедуры

процедура верх_лица

шаг

сделай правпов

сделай квад

сделай пов2

сделай шаг2

сделай правпов

сделай квад

сделай пов2

сделай шаг2

конец процедуры

процедура квад

сделай шаг_пов

сделай шаг_пов

сделай шаг_пов

шаг

конец процедуры

процедура правпов

сделай пов2

поворот

конец процедуры

процедура нога

сделай шаг4

поворот

сделай шаг2

поворот

сделай шаг4

поворот

сделай шаг2

конец процедуры

процедура бок

сделай шаг4

поворот

сделай шаг_пов

сделай шаг4

конец процедуры

процедура пры5

сделай пры2

сделай пры2

прыжок

конец процедуры

процедура шаг2

шаг

шаг

конец процедуры

процедура шаг4

сделай шаг2

сделай шаг2

конец процедуры

процедура пры2

прыжок

прыжок

конец процедуры

процедура пов2

поворот

поворот

конец процедуры

процедура шаг_пов

шаг

поворот

конец процедуры

 Литература:

  1. И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова. Базовый курс 7-9. М, Бином. Лаборатория знаний, 2003г.
  2. Л. Залогова, М. Плаксин, С. Русаков и др. Задачник-практикум. В 2 томах. т. 1. М., Лаборатория базовых знаний, 1999 г.
  3. Задачник Roo&Roby. Основы алгоритмизации. М, ЦНИТ, 1987 г.