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

Учебный исполнитель Робот на Python

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

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

Чем исполнитель Робот удобен на уроке

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Шаг за шагом

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

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

Ограничения видны в интерфейсе

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

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

Просмотр условий задач

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

Что можно посмотреть

  • тему и номер задачи;
  • текст условия;
  • все обстановки задания;
  • ограничения на команды и конструкции;
Средство просмотра задач: задание if3, панель выбора темы и номера, условие и поле.
Просмотр задач (if3).

Исполнитель Робот на уроке

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

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

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

Темы заданий

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

Команды исполнителя Робот

Можно подключить всё сразу через 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()
Закрасить текущую клетку.
printn(value)
Вывести целое число в текущей клетке.

Анализ обстановки

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

Локализация

Условия задач, окно исполнителя Робот и текст справки доступны на перечисленных ниже языках. Язык выбирается автоматически на основе языка интерфейса операционной системы.

Поддерживаемые языки

  • English
  • Čeština
  • Deutsch
  • Español
  • Français
  • Italiano
  • Magyar
  • Nederlands
  • Polski
  • Português
  • Română
  • Svenska
  • Türkçe
  • Беларуская
  • Русский
  • Українська
  • Ελληνικά
  • العربية
  • اردو
  • हिन्दी
  • বাংলা
  • 简体中文
  • 繁體中文
  • 日本語
  • 한국어

Как начать

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

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

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