На главную страницу сайта К. Полякова
Преподавание, наука и жизнь.
 
главная школа вуз наука delphi программы походы автор
 Лента новостей Новости Блог Блог 

 

Учебная среда «Исполнители»

Исполнители

Робот–Blockly

Что это?

Робот-Blockly — это версия исполнителя Робот из системы Исполнители, программа для которого составляется из готовых блоков, как в Scratch. Это избавляет учеников от синтаксических ошибок, которые неминуемо возникают при ручном наборе текстовой программы. Программа подходит для вводного курса алгоритмизации в 5-6 классах.

Автор благодарит А.С. Башлакова (www.klyaksa.net) за полезные замечания и предложения по улучшению среды Робот-Blockly.

Публикации

Новости теперь и в Telegram-канал К. Полякова Telegram-канале

22 октября 2020 г.
    Добавлены рейтинги решений (от 3 до 5 «звёзд»).

20 октября 2020 г.
    Добавлена возможность сохранять и загружать программы в виде файлов.

18 октября 2020 г.
    Область программы теперь автоматически изменяет свой размер.

16 октября 2020 г.
    Размещена инструкция по созданию новых наборов задач.

15 октября 2020 г.
    Добавлены задачи на процедуры с параметрами.

6 октября 2020 г.
    Опубликована первая версия Робот–Blockly.

Лицензия

Учебная среда Робот-Blockly и методические разработки распространяются по принципу «Как есть» — «As Is». Это означает, что вы используете их на свой страх и риск и автор не несет никакой ответственности за ущерб, причиненный вам лично и вашему компьютеру в результате использования полученных на этом сайте программ и методик.

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

Без письменного согласия автора ЗАПРЕЩАЕТСЯ:
  1. 1) публикация материалов в любой форме, в том числе размещение материалов на других Web-сайтах;
  2. 2) распространение неполных или измененных материалов;
  3. 3) включение материалов в сборники на любых носителях информации;
  4. 4) получение коммерческой выгоды от продажи или другого использования материалов.

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

Робот-Blockly

Онлайн-версия Робот-Blockly состоит из нескольких страниц, каждая из которых содержит по 10-12 задач (уровней) возрастающей сложности. На сегодняшний день доступны разработки по следующим темам:

На скриншоте показана одна из задач по теме «Циклы ПОКА».

Слева вы видите поле Робота, справа — окно для составления программы из блоков. Над окном Blockly показано, сколько блоков ещё можно добавить в программу (количество блоков на каждом уровне ограничено).

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

Скорость анимации при движении Робота регулируется движком . Кнопка позволяет выполнять программу в пошаговом режиме.

В верхней части экрана показаны ссылки на все уровни: . Зелёными точками отмечены пройденные уровни, а серыми — уровни, на которых программа запускалась, но задача не была решена. Прохождение уровней, а также программы, написанные на каждом из них, запоминаются в пределах сессии. Это значит, что при новом запуске браузера эта информация будет удалена.

Программа, составленная из блоков, автоматически переводится на один из поддерживаемых языков: Python, JavaScript, PHP, Dart, Lua. Это позволяет интересующимся детям увидеть, как выглядят программы на «серьезных» языках программирования.

Сохранение и загрузка программ

Для сохранения программы щелкните по кнопке , которая находится справа от выпадающего списка языков программирования. Вам будет предложено ввести имя файла и выбрать место его сохранения. Программа сохраняется в формате XML среды Blockly.

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

Оффлайн-версия

Существует оффлайн-версия Робот-Blockly, которую можно запускать на компьютерах без подключения к Интернету.

Скачать! Оффлайн-версия Робот-Bloclky (архив ZIP, 6 669 Кб)  22.10.2020

Создание новых наборов задач

В оффлайн-версии учитель может строить свои собственные наборы задач (см. инструкцию).Для этого нужно внести правки в файл данных соответствующей темы.

Если у вас получился удачный набор задач и вы готовы поделиться им с коллегами, присылайте архив с файлами на электронный адрес kpolyakov@mail.ru с пометкой Робот-Blockly.

Файлы данных размещены в каталоге js и имеют имена robot_<название темы>.js. Например, файл robot_linear.js содержит задания к теме 1 (линейные алгоритмы). Он подключается в заголовке веб-страницы robot_linear.html.

Карта, описывающая поле Робота для каждой задачи, задана как массив из 10 символьных строк, каждая из которых содержит по 10 символов. Например, для редактирования задачи уровня 1 нужно найти в начале файла данных слова Level 1 и исправить строки карты.

...
['..........',  // Level 1
 '..........',
 '.......b..',
 '..........',
 '..........',
 '..........',
 '..........',
 '..0.......',
 '..........',
 '..........' ],
...

Точка обозначает пустую клетку, w — стену, x — грядку, p — клумбу с цветами. Положение Робота задаётся цифрой, которая зависит от направления: 0 — Робот смотрит на север, 2 — Робот смотрит на восток, 4 — Робот смотрит на юг, 6 — Робот смотрит на запад. Буква X (заглавная) обозначает Робота, который стоит на грядке и смотрит на север.

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

var BlockLimit = [0, // Level 0 unused
 // 1  2  3   4   5   6   7   8   9  10
    3, 6, 9, 10, 14, 15, 15, 16, 15, 16 ];

Кроме того, можно ограничить коичество используемых блоков каждого типа. Для этого используется массив объектов someBlocksLimit:

var someBlocksLimit = [ {}, // Level 0 unused
  {  }, // Level 1
  {  }, // Level 2
  { 'robot_plant': 1 }, // Level 3
  { 'robot_plant': 2 }, // Level 4
  { 'robot_plant': 2 }, // Level 5
  { 'robot_plant': 3, 'controls_whileUntil': 1 }, // Level 6
  { 'robot_plant': 5 }, // Level 7
  { 'robot_plant': 4 }, // Level 8
  { 'robot_plant': 3 }, // Level 9
  { 'robot_plant': 3 }, // Level 10
];

В данном случае на 3-10 уровнях ограничивается количество используемых блоков посади (с кодом robot_plant). Кроме того, на уровне 6 можно использовать не более одного блока повторять, пока (с кодом controls_whileUntil). Приведём коды некоторых блоков:

вперёдrobot_forward_once
вперёд(n)robot_forward
назадrobot_back_once
назад(n)robot_back
поверни налевоrobot_left
поверни направоrobot_right
посадиrobot_plant
повторить N разcontrols_repeat_ext
повторять, покаcontrols_whileUntil
если, то выполнитьcontrols_if
процедураprocedures_defnoreturn
вызов процедурыprocedures_callnoreturn

Ссылки

  1. developers.google.com/blockly — среда Blockly для созданий визуальных редакторов программ (сайт разработчиков);
  2. github.com/google/blockly — репозиторий разработчиков Blockly на GitHub;
  3. github.com/google/blockly/releases — версии Blockly для скачивания;
  4. blockly-demo.appspot.com — примеры, демонстрирующие возможности среды Blockly;
  5. blockly.games — игры на Blockly;
  6. groups.google.com/g/blockly — форум разработчиков на Blockly;
  7. github.com/google/blockly-games — репозиторий Blockly Games на GitHub;
  8. github.com/google/blockly-samples — репозиторий Blockly Samples (примеры) на GitHub;
  9. github.com/google/blockly-devtools — репозиторий Blockly DevTools (инструменты для разработчиков) на GitHub;
  10. github.com/google/blockly-android — репозиторий Blockly для Android на GitHub;
  11. github.com/google/blockly-ios — репозиторий Blockly для iOS на GitHub;
  12. blockly.ru — образовательный портал для будущих программистов: программирование на основе Blockly;
  13. think.cs.vt.edu/blockpy — среда, которая позволяет программировать на языке Python как в блочной, так и в текстовой форме;
  14. neil.fraser.name/blockly — документация по Blockly (автор — Neil Fraser);
  15. neil.fraser.name/software/JS-Interpreter — интерпретатор JavaScript (автор — Neil Fraser);
  16. www.youtube.com/watch?v=s2_xaEvcVI0 — инструмент Block Factory для создания новых блоков (автор — Neil Fraser);
  17. blocklycodelabs.dev — сайт Blockly Codelabs (статьи по разработке в Blockly);
  18. www.youtube.com/watch?v=bKMRhUoM0Uc — пример создания нового блока (автор — Ruth Leopold);
  19. www.youtube.com/watch?v=lPVJjQbEeN0 — руководство по Blockly, часть 1 (автор — Ruth Leopold);
  20. www.youtube.com/watch?v=YjGoDh-Qqkg — руководство по Blockly, часть 2 (автор — Ruth Leopold);
  21. www.youtube.com/watch?v=wDJua9hgyZM — как использовать блоки Blockly в своем приложении (инструкции от Google);
  22. www.youtube.com/watch?v=nXP7OKDCk4Y — Tips for Creating a Block Language with Blockly;
  23. developers.google.com/blockly/reference — подробный справочник по Blockly;
  24. www.youtube.com/watch?v=1w3SwzWrWnk — Blockly on Mobile Devices.
  25. oucc.uk — The Oxford University Computing Challenge: инструкции по Blockly.
  26. Blockly learning 1: work area, block, toolbox (www.programmersought.com).
  27. Blockly development 2: create workspace (www.programmersought.com).
  28. Blockly Development 3: create toolBox (www.programmersought.com).

Valid XHTML 1.0 Transitional

© 2000-2020 К. Поляков
 

В Контакте