Програмування для початківців: робот і блоки
Складіть програму з блоків і дивіться, як робот виконує її на сітці крок за кроком. Поруч із блоками та сама програма записана на Python. Рівні проведуть вас крізь послідовності, цикли, умови, цикли while і функції.
Нове поняття
Програма — це список інструкцій. Робот виконує їх одну за одною, згори вниз, і робить саме те, що в них написано: нічого не вгадує. Тому порядок має значення. Біля кожного блока є його рядок на Python: «йти вперед» — це move(), «повернути ліворуч» — це turn_left().
У Python
move()
move()
turn_left()
move()Завдання
Приведіть робота до прапорця. Торкніться «йти вперед» у меню блоків: блок додасться до програми. Коли програма готова, натисніть «Запустити».
Підказка
Порахуйте клітинки між роботом і прапорцем. Кожне «йти вперед» переміщує робота на одну клітинку в напрямку зеленої стрілки.
Карта
Складіть програму й натисніть «Запустити».
Програма з блоків
Меню блоків
Натисніть на блок, щоб додати його біля зеленої лінії. Блоки також можна перетягувати мишею.
Клавіатура: новий блок вставляється після вибраного; вибраний блок переміщується клавішами Alt + стрілка, видаляється клавішею Delete; Ctrl + Z скасовує останню зміну.
Та сама програма на Python
Це ваша програма у вигляді тексту. Команди на кшталт move() і turn_left() належать цій грі; for, while, if і def — це справжній Python.
Поки що тут порожньо. Коли ви додасте блоки, тут з’являться їхні рядки.
Навчальна гра; ваша програма й прогрес залишаються у вашому браузері. Як це розраховується і звідки дані
Чого ви тут навчитеся
Програма — це точний перелік інструкцій. Комп’ютер нічого не вгадує: він робить саме те, що написано в програмі, навіть коли це очевидно безглуздо. Тож програмування — це насамперед уміння розбити завдання на дрібні, однозначні кроки та розставити їх у правильному порядку. Це логіка програмування, і вона однакова в усіх мовах.
Послідовність: команди виконуються одна за одною, згори вниз. Порядок має значення: «вперед, ліворуч» приведе робота в інше місце, ніж «ліворуч, вперед».
Цикли: замість шести однакових блоків «вперед» досить одного блока «повторити 6 разів» з одним кроком усередині. У Python це цикл for i in range(6):. Цикли можна вкладати один в один: чотири рази «зробити три кроки й повернути» — це обхід квадрата.
Умови: блок «якщо» виконує свої блоки лише тоді, коли умова справджується, наприклад «якщо я стою на монеті, підбери її». Блок «якщо – інакше» обирає один із двох шляхів. Програма з умовами працює і на карті, якої ви наперед не знаєте, тому на цих рівнях кілька карт.
Цикли while: блок «доки» повторює свої блоки, доки умова справджується, наприклад «доки шлях попереду вільний, іди вперед». На відміну від «повторити N разів», ви наперед не знаєте, скільки разів він виконається. Якщо умова ніколи не перестане справджуватися, вийде нескінченний цикл — одна з найпоширеніших помилок.
Функції: іменований шматок програми, який можна використовувати знову й знову. Коли ви раз зробили «розвернутися», один блок викликає її. Програма стає коротшою й читабельнішою, а виправлення в одному місці діє всюди.
Налагодження (дебагінг): кожен програміст помиляється; уміння в тому, щоб помилки знаходити. Запустіть програму покроково й стежте, де робот робить щось інше, ніж ви очікували. Блок, що спричинив помилку, підсвічується, а повідомлення пояснює, що сталося.
Чому блоки, а поруч Python: у блоках не можна зробити описку чи забути дужку, тож ви зосереджуєтеся лише на логіці. Python поруч показує, що це та сама програма, записана текстом: блоки всередині циклу в коді мають відступ, а рядок над ними закінчується двокрапкою.
Що далі: коли робот перестане вас дивувати, спробуйте самі писати на Python, наприклад за офіційним підручником на python.org, який починається з тих самих for, while, if і def. Якщо ви радше хочете робити ігри й анімації, продовжуйте зі Scratch, де використовуються такі самі блоки.
Поширені запитання
З якого віку діти можуть вчитися програмувати?
Ця гра розрахована приблизно на дітей від десяти років і підійде також дорослим початківцям. Молодші діти впораються з першими розділами за допомогою дорослого; достатньо вміти читати. Усі рівні відкриті, тож той, хто знає основи, може переходити далі.
Це безкоштовно й чи потрібен обліковий запис?
Це безкоштовно й без реєстрації. Браузер запам’ятовує ваш прогрес, тож на тому самому пристрої ви можете повернутися до рівня.
Що таке Python?
Python — одна з найпоширеніших мов програмування. Її використовують в аналізі даних, науці, веб-сайтах, автоматизації та штучному інтелекті, а початківці люблять її за те, що вона легко читається. Програма поруч із блоками — справжній Python; лише команди робота, як-от move(), належать цій грі.
Чим це відрізняється від Scratch?
Scratch — це відкритий майданчик, де з блоків ви будуєте власні ігри та анімації з персонажами. Тут ви розв’язуєте головоломки з чіткою метою, які крок за кроком знайомлять із такими ідеями, як цикли, умови й функції, а поруч із блоками бачите ту саму програму на Python. Одне чудово доповнює інше.
Що робити, коли я пройду всі рівні?
Спробуйте самі писати на Python: офіційний підручник на python.org починається з тих самих if, for, while і def, які ви знаєте з блоків. Якщо вам подобається творити, продовжуйте зі Scratch. І спробуйте проходити рівні з меншою кількістю блоків.
Чи надсилається моя програма кудись?
Ні. Програма виконується у вашому браузері й зберігається лише в його сховищі, щоб ви знайшли її наступного разу. Вона нікуди не надсилається, і ніхто інший її не бачить.
Як це розраховується і звідки дані
Як розраховується результат
- Програма складається з блоків. Кожному блоку відповідає один або кілька рядків Python, які створюються поруч, тож під час виконання програми блок і його рядок підсвічуються разом.
- Робот живе на сітці не більше ніж 8 × 8 клітинок. Клітинка може бути вільною, стіною, монетою або метою з прапорцем; край сітки — це стіна. Робот стоїть на одній клітинці й дивиться в один із чотирьох напрямків.
- Коли ви натискаєте «Запустити», увесь хід виконання спершу обчислюється, а потім відтворюється. Кожна виконана команда — це крок, так само як і кожна перевірена умова («Чи вільний шлях попереду? Так»). Та сама програма на тій самій карті завжди виконується однаково.
- Рівень пройдено, коли програма завершується без помилки, робот стоїть на меті (якщо вона є на карті) і не лишилося жодної монети. Деякі рівні мають дві або три карти, і програма має пройти всі: карта на екрані виконується наочно, решту перевіряють непомітно, а якщо якась із них не проходить, гра перемикається на неї й показує причину.
- Виконання зупиняється з помилкою на блоці, який її спричинив: робот вдарився б об стіну, підібрав би монету там, де її немає, або програма порожня. Після 1000 кроків виконання зупиняється як нескінченний цикл, а функція, що викликає сама себе глибше ніж на 50 рівнів, зупиняється як нескінченний виклик.
- Деякі рівні дозволяють лише обмежену кількість блоків. Рахується кожен блок, зокрема й ті, що всередині циклів, умов і функцій; блок, у якому лежать інші блоки, рахується один раз.
- Програма, над якою ви працюєте на кожному рівні, і список пройдених рівнів зберігаються лише у сховищі вашого браузера.
Припущення та обмеження
- Робот знає лише 4 команди (йти вперед, повернути ліворуч, повернути праворуч, підібрати монету) і 5 умов (шлях вільний попереду, ліворуч і праворуч, стоїть на монеті, перебуває на меті), кожну з яких можна й заперечити.
- Немає змінних, обчислень із числами та власних функцій із параметрами. Рівень сам задає кожну функцію (її назву й призначення); ви будуєте лише те, що вона робить.
- Python доступний лише для читання: він показує, як програма виглядає у вигляді тексту, але вводити його поки що не можна. Команди на кшталт move() чи path_ahead() — це функції цієї гри, а не частина Python, тож сам по собі код поза грою не запрацює.
- Імена в Python англійські (move, turn_left, pick_coin…), як у справжніх програмах; блоки відображаються мовою сторінки.
- Робот робить саме те, що написано в програмі; він нічого не вгадує й не виправляє. Це не вада: це головне, чого тут навчаються.
Карти й рівні ми придумали самі як вправи; це не дані. Ідея робота, якого програма веде сіткою, походить від Karel the Robot, якого Richard E. Pattis описав у 1981 році як перший урок програмування.
Джерела даних і період, якого вони стосуються
Кожне число, з якого калькулятор починає або на основі якого рахує, походить з одного з джерел нижче. Назви рядів наведено так, як їх називає видавець. У кожному рядку вказано період, до якого належать дані, і, де ми це фіксуємо, день завантаження. Офіційні дані на момент публікації можуть бути місячної давності, тому перед рішенням перевірте актуальне значення.
- Офіційні
- Оприлюднено центральним банком, статистичною службою, Європейським Союзом або іншим публічним органом.
- Наукові або галузеві дані
- Набір даних університету, постачальника індексів, галузевої асоціації або постачальника даних.
- З преси
- Показник офіційного органу, який ми знаємо лише з преси і не перевіряли в першоджерелі. Сприймайте його як приблизний.
- Приклад
- Наше кругле число, а не статистика. Замініть його своїм.
Основи програмування та мова Python
| Джерело | Період | Вид |
|---|---|---|
Python Software FoundationThe Python Tutorial, 4. More Control Flow Tools (if, for, range, def) | чиннезавантажено 2026-10-19 | Наукові або галузеві дані |
Python Software FoundationThe Python Language Reference, 8. Compound statements (if, while, for, function definitions) | чиннезавантажено 2026-10-19 | Наукові або галузеві дані |
Richard E. PattisKarel the Robot: A Gentle Introduction to the Art of Programming (John Wiley & Sons, 106 pages) | 1981завантажено 2026-10-19 | Наукові або галузеві дані |
Текст методики востаннє перевірено 2026-10-06. Дані востаннє завантажено 2026-10-19. Як ми працюємо з даними та джерелами