Для учителей информатики

Исполнитель Робот для уроков информатики

Учащиеся пишут небольшие программы на Python: двигают Робота по клетчатому полю, закрашивают клетки, проверяют стены и решают задания. Всё видно в окне исполнителя, а сервер не нужен — программа работает локально.

Окно Робота: наглядное поле с роботом, стенами и целью.
Окно Робота: поле, стены, цель задания и результат запуска программы.

Чем Робот удобен на уроке

Задания выглядят как небольшие задачи на клетчатом поле. Учащиеся тренируют последовательности команд, циклы, условия и функции, а результат сразу виден на экране.

  • Понятные задания на поле

    Стены, отмеченные клетки и цель задания видны сразу, поэтому ученику проще понять, что должна сделать программа.

  • Автоматическая проверка

    После запуска Робот проверяет результат. Учащийся сразу видит, прошло ли решение, и может сам исправить ошибку.

  • Несколько обстановок

    Во многих заданиях есть несколько обстановок. Одна программа должна пройти все варианты, поэтому приходится писать общий алгоритм, а не набор ходов для первой обстановки.

  • Обстановки можно посмотреть заранее

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

  • Пошаговое выполнение

    Программу можно запускать по одной команде в окне Робота. Это помогает найти ошибку и удобно для разбора у доски или на проекторе.

  • Ограничения под тему урока

    В некоторых заданиях есть лимиты на команды или конструкции. Они помогают вывести учащегося к нужной идее: циклу, условию или функции.

Окно Робота с заданием intro8: дойти до домика и закрасить отмеченные клетки.
Задание intro8: дойти до домика и закрасить отмеченные клетки.

Сразу видно, что решение прошло

Когда все обстановки пройдены, Робот показывает это в окне. Учащемуся не нужно ждать ручной проверки.

Окно Робота: успешное завершение, все обстановки для задания w45 пройдены.

Просмотр обстановок до решения

Через выбор обстановки можно посмотреть все варианты поля. Так проще заранее продумать решение, которое сработает везде.

Задание w49, обстановка 1: другая конфигурация стен.
Обстановка 1
Задание w49, обстановка 2: ещё один вариант поля.
Обстановка 2

Шаг за шагом

В пошаговом режиме видно, что делает каждая команда. Это удобно для самопроверки и для общего разбора.

Окно Робота в пошаговом режиме: выполнение остановлено после команды перемещения.

Лимиты видны в интерфейсе

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

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

Робот на уроке

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

Как это может выглядеть на уроке

  1. Вы объясняете тему: движение, цикл, условие или функцию.
  2. Даёте задание из нужной темы, например for12 или w25.
  3. Учащиеся запускают task("…") и дорабатывают программу, пока не пройдут все обстановки.
  4. Сложные ошибки разбираете в пошаговом режиме.

Темы заданий

Задания уже разложены по темам, поэтому их легко встроить в ход курса.

  • Первые шагиintro1intro24
  • Функцииfun1fun20
  • Цикл forfor1for28
  • for и функцииforfun1forfun9
  • Цикл whilew1w51
  • while и функцииwfun1wfun12
  • Конструкция ifif1if14
  • while с ifwif1wif13
  • if и elseifelse1ifelse12
  • Составные условияcompound1compound11

Команды Робота для учащихся

Команд немного, и их легко показать на первых занятиях. Можно подключить всё сразу через from robot import * или импортировать только нужные имена.

Минимальный пример

from robot import *

task("intro8")

move_down()
paint()
move_right()
paint()
move_up()
paint()
move_right()
paint()
move_down()

Задание или свободное поле

task("имя")
Открыть задание из набора.
field(width=8, height=6)
Открыть свободное поле без файла задания.

Движение

move_right()
На одну клетку вправо.
move_left()
На одну клетку влево.
move_up()
На одну клетку вверх.
move_down()
На одну клетку вниз.

Клетка и стены

paint()
Закрасить текущую клетку.
is_free_left()is_free_down()
True, если в этом направлении нет стены.
is_wall_left()is_wall_down()
True, если стена есть.
is_cell_painted()
True, если клетка закрашена.
is_cell_not_painted()
True, если не закрашена.

Значения и вывод

pol()
Значение загрязнения в текущей клетке (целое число).
printn(value)
Вывести целое число в текущей клетке.

Как начать

  1. Скачайте архив модуля на странице GitHub Releases.
  2. Распакуйте архив в рабочую папку учащегося.
  3. Положите файл с решением рядом с пакетом robot. Для старта можно взять sample_solution.py из архива.
  4. Чтобы выбрать другое задание, измените строку в вызове task(). Имена заданий перечислены в темах выше.

Требования: Python 3 и стандартная библиотека. Окно Робота использует tkinter; он входит в большинство настольных установок Python.

Скачать модуль GitHub