Алгоритмы, исполнители
Создание: 15.02.2013
Впервые за много лет преподавания информатики в профильных классах я начал изучение программирования не с «серьезного языка», а со среды исполнителя. А все дело в том, что я нашел замечательный исполнитель, который совмещает в себе простоту задачи (робот перемещается по прямоугольному полю и сажает «картошку») и замечательные языковые возможности.

Исполнитель, а также методические рекомендации к нему созданы питерским учителем Константином Поляковым.

На самом деле в одной программе прячется три исполнителя (робот-черепашка-чертежник). Особое спасибо автору за удобный интерфейс для создания собственных задач, двуязычный интерфейс программного кода.

При изучении темы ученики знакомятся:

  • со средой исполнителя, его системой команд;
  • линейными алгоритмами;
  • циклическими конструкциями;
  • условным оператором;
  • подпрограммами;
  • переменными (sic! исполнитель понимает четыре типа данных и может выполнять с ними произвольные преобразования);
  • диалоговыми программами.

При написании программ особое внимание уделялось:

  • универсальности программ (есть если в задаче сказано, что лабиринт произвольный, то будьте добры учесть все возможные ситуации);
  • красоте написанию программы (чем короче код, чем он выразительнее, тем лучше).

Примеры задач

Код для поля исполнителя, а также программный код для предложенных задач находится во вложении.

1.

Задача: Исполнитель находится на первой строчке произвольного поля. На верхней строчке находится база, куда нужно прийти. На пути робота произвольное количество стен, в каждой из которых есть хотя бы один проход. Напишите программу, которая проведет робота к базе.

пример программного кода:

программа  
  {
  пока(не база)
    {
    пока(впереди_свободно)
      {
      вперед(1);
      }
    направо;
    пока(впереди_свободно)
      {
      вперед(1);
      }
    кругом;
    пока(справа_стена и не база)
      {
      вперед(1);
      }
    направо;
    }
  }

2.

Задача: Робот находится на поле произвольного размера, где в произвольных местах находятся грядки. Робот должен дойти до базы, которая находится в правом верхнем углу и посадить цветы.

Поле для этой задачи создано учеником Городского классического лицея г. Кемерово Аксеновым Виталием.

пример программного кода:

Программа
  {
  пока(не база)
    {
    qqq;
    направо;
    вперед(1);
    направо;
    }
  qqq;
  }
qqq
  {
  пока(впереди_свободно)
    {
    вперед(1);
    }
  кругом;
  пока(впереди_свободно)
    {
    если(грядка)
      {
      посади;
      }
    вперед(1);
    }
  если(грядка)
    {
    посади;
    }
  }

P.S.

На каникулах ребята получили задание придумать свою сложную задачу для одноклассников, решить ее поле с задачей выложить на форуме в ЭЖ. На каникулах ветка форума была заполнена десятками причудливых задач. На первом уроке следующей четверти были выбраны «самая красивая задача» и «самая сложная».


скриншот ветки форума

Скачать материалы:

Исполнитель Робот
формат: zip, 0.68 МБ