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

Для роботи з ресурсом достатньо перейти за посиланням robozzle.com/beta/, або ж завантажити відповідний додаток з магазину додатків для вашого мобільного пристрою.

Нагадаємо, що основною метою гри є збір виконавцем зірок за допомогою програмного коду.

Минулого разу ми познайомилися з деякими командами виконавця і розглянули систему завдань, яку можна використати для “плавного” знайомства учнів з ресурсом RoboZZle.

Зокрема, були розглянуті особливості побудови послідовних алгоритмів, алгоритмів з використанням допоміжних функцій, а також рекурсія.

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

Для побудови розгалужень використовуються спеціальні команди:

Використовуючи їх, ми фактично превіряємо умову “Чи знаходиться виконавець на клітинці певного кольору” і можемо виконати якусь дію при істинності цієї умови.

Наприклад, розгалуження потрібно використати для вирішення такого завдання:

По-перше, оскільки функція F1 має місце фактично лише для трьох блоків, то у рішенні має використовуватися рекурсія.

По-друге, не важко помітити, що на синій клітинці виконавець має повернути направо.

Тому рішення може бути таким:

Якщо прочитати цей алгоритм у словесній формі, то матимемо такі вказівки виконавцю:

  • ЯКЩО бачиш синій ТО поверни направо.
  • Рух вперед на одну клітинку.
  • Розпочни все спочатку за рахунок рекурсивного виклику функції.

І, хоча розглянуте нами завдання можна вирішити ще в один спосіб, а саме:

необхідно чітко слідкувати за порядком команд, щоб отримати правильний результат.

Наприклад, вирішуючи таке завдання:

послідовність команд

є неправильною і не дозволить виконавцю зібрати всі зірки. Для вирішення необхідно скористатися такою послідовністю команд:

Тобто до вирішення кожного завдання необхідно підходити індивідуально, чітко все проаналізувавши!

Остання команда в системі команд виконавця: перефарбування комірок у вибраний колір

Наприклад, при вирішенні завдання

робот очевидно має повернути наліво на зеленій клітинці. Не важко переконатися, що в такому разі відбудеться “зациклення” дій виконавця і він буде постійно рухатися по сторонам квадрата. Щоб цього не трапилося – окрім повороту наліво, необхідно додатково перефарбувати клітинку в інший колір. Зрештою, матимемо таке рішення:

Традиційно, ми пропонуємо вашій увазі блок завдань, які на нашу думку, можна використати для знайомства учнів зі структурою розгалуження.

У цьому та попередньому огляді ми познайомилися з основними можливостями сервіса RoboZZle. Звісно ж все не обмежується розглянутими прикладами та завданнями – на ресурсі є дуже багато завдань різного рівня складності та цікавості.

Окрім всього, зареєструвавшись на сервісі, користувачі мають змогу “помірятися силами” з іншими користувачами у вирішенні завдань! Якщо ж вдасться вирішити понад 40 завдань, то можна навіть створювати власні завдання, а це вже інший рівень!