Для начинающих с нуля

Введение в программирование

Никакой язык программирования не требуется. Сначала вы наглядно освоите мышление программиста и алгоритмы, отдавая команды роботу. Затем выберете подходящее вам направление.

Начать
8 модулейРобот-исполнительСертификат
ЖИВОЕ ДЕМО

Какая команда нужна, чтобы робот добрался до звезды?

Верно! Робот добрался.
МОДУЛЬ 1

Что такое программа и как она работает

1

Как компьютер «думает»

Компьютер очень быстрый, но сам не думает. Он лишь точно выполняет заданную вами команду в том порядке, в котором вы её задали. Ничего не добавляет и не убавляет от себя.

Поэтому главная задача программиста — давать машине точные и пошаговые команды. Если сказать «возьми яблоко», она не поймёт. Нужно проговорить каждый шаг: «иди вперёд, иди вперёд, возьми яблоко».

Робот ниже работает точно как компьютер. Его программа (список команд) слева, выполнение — справа. Каждая команда по очереди подсвечивается и выполняется:

Главная мысль: программа — это последовательность точных команд, которые даются машине.
2

Алгоритм = последовательность шагов

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

Роботу нужны точно такие же шаги в правильном порядке. В следующем уроке вы сами напишете алгоритм для робота.
3

Ваша первая программа

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

Совет: следите, в какую сторону смотрит робот. Чтобы изменить направление, используйте команды «повернуть».

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

Тест модуля

Чтобы открыть следующий модуль, ответьте верно минимум на 3 из 4 вопросов.

Модуль 2 заблокированЗавершите модуль 1 (все три урока + тест), и этот модуль откроется.
МОДУЛЬ 2

Алгоритм и блок-схема

1

Разбиение задачи на шаги

Секрет решения любой большой задачи — разбить её на маленькие, точные шаги. И вывод робота из лабиринта, и создание сайта сначала разбиваются на этапы.

Программисты часто рисуют эти шаги в виде блок-схемы: каждое действие — отдельный блок, стрелки показывают порядок, а ромб задаёт условие (да или нет). Блок-схема ниже показывает, как шаги выполняются последовательно:

Блок-схема — способ визуально спланировать алгоритм до написания кода.
2

Составление плана для робота

Теперь лабиринт побольше. Чтобы довести робота до яблока, составьте план заранее: где идти прямо, а где поворачивать? Продумайте каждый поворот заранее — это и есть планирование алгоритма.

Вот как это выглядит в настоящем коде
Программа, которую вы дали роботу
Настоящий программист пишет так
И в длинной программе принцип тот же: разбейте задачу на шаги и выполняйте их по порядку.

Тест модуля

Чтобы открыть следующий модуль, ответьте верно минимум на 3 из 4 вопросов.

Модуль 3 заблокированЗавершите модуль 2, чтобы открыть этот.
МОДУЛЬ 3

Переменные

1

Хранение значения: коробка

Переменная — это именованная коробка, в которой хранится значение. В неё можно положить число, текст или значение да/нет (логическое), и менять его сколько угодно.

Попробуйте коробку «баллы» ниже. Когда вы нажимаете кнопки, значение внутри меняется, но имя коробки остаётся тем же:

В программе баллы = баллы + 1 означает: взять текущее значение коробки «баллы», прибавить 1 и вернуть его обратно в ту же коробку.
2

Робот считает яблоки

Теперь робот собирает несколько яблок. Каждый раз, когда он берёт яблоко, переменная яблоки увеличивается на 1, как счётчик. Научите робота собрать все три яблока и следите за счётчиком:

Вот как это выглядит в настоящем коде
Программа, которую вы дали роботу
При каждом «взять яблоко» счётчик растёт
Переменные дают программе память: она может что-то посчитать, запомнить и потом использовать.

Тест модуля

Чтобы завершить модуль, ответьте верно минимум на 3 из 4 вопросов.

Модуль 4 заблокированЗавершите модуль 3, чтобы открыть этот.
МОДУЛЬ 4

Условия (если...)

1

Робот принимает решение

До сих пор робот выполнял команды вслепую. Но настоящие программы умеют смотреть и принимать решения: «если что-то произошло, сделай это; иначе сделай другое». Это называется условием.

Повседневный пример — светофор: «если свет красный — стой; если зелёный — иди». Робот тоже «видит», что впереди, и в зависимости от этого выбирает путь. Ниже два случая подсвечиваются по очереди:

Условие даёт роботу возможность выбирать: в одном случае одно действие, в другом — другое.
2

Управление с помощью условия

Теперь робот может попасть в две разные ситуации, но заранее не знает, в какую именно. Составьте одну программу так, чтобы она работала в обеих ситуациях. Секрет: используйте условие «если впереди стена, поверни направо».

Переключайте случаи кнопкой «Ситуация A / B» выше. Одна программа (без изменений) должна решать оба.

Вот как это выглядит в настоящем коде
Программа, которую вы дали роботу
«if» = если
Одна программа, два случая. Благодаря условию робот приспособился к ситуации. В настоящем коде это называется if (если).

Тест модуля

Чтобы открыть следующий модуль, ответьте верно минимум на 3 из 4 вопросов.

Модуль 5 заблокированЗавершите модуль 4, чтобы открыть этот.
МОДУЛЬ 5

Повторение (циклы)

1

Одно действие много раз

Иногда одну команду приходится писать много раз подряд. Цикл (повторение) сокращает это: «повтори 6 раз: вперёд» означает выполнить «вперёд» 6 раз.

Ниже оба варианта дают одинаковый результат, но цикл гораздо короче:

Без цикла (6 команд)
вперёд вперёд вперёд вперёд вперёд вперёд
=
С циклом (1 блок)
повтори 6 раз: вперёд

Робот ниже идёт с помощью цикла. Счётчик цикла растёт с каждым повтором (например 1/5, 2/5 ...):

Цикл — секрет краткости кода: пишете меньше, делаете больше.
2

Управление с помощью цикла

Доведите робота до яблока, но путь длинный. Вместо того чтобы писать «вперёд» много раз, используйте цикл: нажмите кнопку «повтори» и подстройте число кнопками − / +.

Вот как это выглядит в настоящем коде
Программа, которую вы дали роботу
Цикл в настоящем коде: for
В настоящем коде цикл называется for или while. Идея та же: повторить блок заданное число раз.

Тест модуля

Чтобы завершить модуль, ответьте верно минимум на 3 из 4 вопросов.

Модуль 6 заблокированЗавершите модуль 5, чтобы открыть этот.
МОДУЛЬ 6

Функции

1

Давать командам имя

Иногда группу команд приходится использовать снова и снова. Если собрать их под одним именем, получается функция. Потом вы просто «вызываете» имя, и вся группа выполняется.

Повседневный пример: сказав «завари чай», вы запускаете все шаги сами собой. Ниже функция stupenka() даёт имя действию подъёма на одну «ступеньку»:

Определение функции
stupenka() = вперёд → повернуть налево → вперёд → повернуть направо

Робот ниже поднимается по ступенькам, вызывая stupenka(). При вызове блок функции подсвечивается:

Функция даёт имя группе команд: пишете один раз, вызываете много раз.
2

Управление с помощью функции

Роботу нужно подняться по лестнице. Каждая ступенька — одно и то же действие, то есть stupenka(). Вместо того чтобы каждый раз переписывать четыре команды, вызывайте функцию. Нажмите кнопку «stupenka()» несколько раз и заберите яблоко.

Определение функции
stupenka() = вперёд → повернуть налево → вперёд → повернуть направо
Вот как это выглядит в настоящем коде
Программа, которую вы дали роботу
Функция: определяется один раз через def
В настоящем коде функция определяется один раз через def, а затем вызывается по имени сколько угодно раз.

Тест модуля

Чтобы завершить модуль, ответьте верно минимум на 3 из 4 вопросов.

Модуль 7 заблокированЗавершите модуль 6, чтобы открыть этот.
МОДУЛЬ 7

Ошибки и отладка

1

Что такое ошибка и как её найти

Каждый программист допускает ошибки — это нормально. Если программа не работает или даёт неверный результат, значит в ней есть ошибка (по-английски «bug»). Процесс поиска и исправления ошибки называется отладкой (debugging).

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

Важный инструмент — кнопка «Шаг»: запуская программу по одной команде, вы увидите, на какой ИМЕННО команде робот ошибается.
2

Найдите и исправьте ошибку

В программе ниже есть ошибка: робот врезается в препятствие, не дойдя до яблока. Сначала посмотрите с помощью «Запустить», где он останавливается, при необходимости проверьте кнопкой «Шаг». Ошибка — одно лишнее «вперёд» в первой строке. Нажмите на лишнюю команду, чтобы удалить её, и запустите снова.

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

Тест модуля

Чтобы завершить модуль, ответьте верно минимум на 3 из 4 вопросов.

ИСПЫТАНИЕ ИЗ 10 УРОВНЕЙ

Постепенно усложняется

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

СВОБОДНЫЙ РЕЖИМ

Создайте свой лабиринт

Здесь нет ни оценок, ни ограничений. Сначала в режиме Создать лабиринт нажимайте на клетки, размечая стены, яблоки и место робота. Затем перейдите в режим Программирование и, используя все изученные команды, управляйте роботом и решите поле.

Сертификат заблокированЗавершите все 7 модулей и испытание из 10 уровней, чтобы открыть свой сертификат.
СЕРТИФИКАТ

За полное прохождение курса

Введите своё имя, посмотрите персональный сертификат о прохождении курса «Введение в программирование», включая испытание из 10 уровней, и скачайте его как изображение.