Карта курса → Модуль 1 → Урок 1.1

Что такое код

И почему ты уже программист, даже если не знаешь об этом.

Урок 1.1

🎣 Старт

Открой Minecraft. Скрафти каменную кирку.

Сделал? Окей. Ты только что выполнил программу. Нет, серьёзно.

Смотри:

1. Открой верстак
2. Положи 3 булыжника в верхний ряд
3. Положи 1 палку в центр
4. Положи 1 палку в нижний центр
5. Забери кирку

Пять шагов. Чёткая последовательность. Конкретный результат. Если поменяешь порядок или ингредиенты — получишь что-то другое или вообще ничего.

Это и есть программа — набор инструкций, которые выполняются по порядку и дают результат.

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

🧠 Теория: Алгоритм

Алгоритм — это последовательность шагов для решения задачи.

Ты используешь алгоритмы каждый день:

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

Пример: строим линию из 5 блоков

Словами:

Поставь блок. Сделай шаг вперёд. Поставь блок. Сделай шаг вперёд. Поставь блок. Сделай шаг вперёд. Поставь блок. Сделай шаг вперёд. Поставь блок.

Короче (с циклом — но это урок 4):

Повтори 5 раз: поставь блок, шагни вперёд.

На коде:

for i in range(5):
    поставь_блок()
    шаг_вперёд()

Пока не обязательно понимать каждую строку. Главное — видишь, как словесная инструкция превращается в код? Это один и тот же алгоритм, просто записанный по-разному.

Три свойства хорошего алгоритма

  1. Точность — каждый шаг однозначный. «Поставь блок» — понятно. «Сделай что-нибудь красивое» — нет.
  2. Порядок — шаги выполняются последовательно. Нельзя забрать кирку до того, как положил ингредиенты.
  3. Конечность — алгоритм заканчивается. Если твоя программа работает вечно — это баг.
🧩 Квиз +10 XP
Что такое алгоритм?
A Программа на Python
B Последовательность шагов для решения задачи
C Компьютерный вирус
D Название языка программирования

🔧 Практика: Напиши свой первый алгоритм

Задание: У тебя есть черепашка (turtle) в мире Minecraft. Она умеет:

Задача 1: Заполни пропуски, чтобы черепашка прошла букву «Г» (4 блока вперёд, поворот направо, 2 блока вперёд).

# Проведи черепашку буквой Г
вперёд()
вперёд()
вперёд()
вперёд()
()
вперёд()
()
💡 Подсказка

Буква Г — линия вверх, потом поворот направо и линия вправо. Какая команда поворачивает направо?

✅ Решение
вперёд()
вперёд()
вперёд()
вперёд()
вправо()
вперёд()
вперёд()

Задача 2: А теперь букву «П». Заполни повороты.

# Левая ножка (вверх)
вперёд()
вперёд()
вперёд()
# Перекладина (вправо)
()
вперёд()
вперёд()
# Правая ножка (вниз)
()
вперёд()
вперёд()
()
💡 Подсказка

Буква П — три линии: вверх, вправо, вниз. Нужны 2 поворота направо.

✅ Решение
# Левая ножка (вверх)
вперёд()
вперёд()
вперёд()
# Перекладина (вправо)
вправо()
вперёд()
вперёд()
# Правая ножка (вниз)
вправо()
вперёд()
вперёд()
вперёд()
🧩 Квиз +10 XP
Какое из этих НЕ является свойством хорошего алгоритма?
A Точность
B Конечность
C Красивость
D Последовательность

🏗️ Сборка: Черепашка в деле

Запускаем твой алгоритм в виртуальном мире. Черепашка выполняет твои команды и оставляет блоки.

Вот это и есть программирование: написал → запустил → увидел результат → исправил → запустил снова. Этот цикл называется debug loop, и ошибки — нормальная часть процесса.

🧩 Квиз +10 XP
Сколько блоков поставит этот код?
for i in range(5):
    place_block()
A 4
B 5
C 6
D Бесконечно
👹 Босс: Лабиринт +50 XP

Твоя черепашка 🐢 стоит в точке Н. Нужно провести её к выходу В. Она умеет: вперёд(), влево(), вправо().

Черепашка смотрит вправо →

┌──┬──┬──┬──┬──┐
│🐢│  │██│  │  │
├──┼──┼──┼──┼──┤
│██│  │██│  │██│
├──┼──┼──┼──┼──┤
│  │  │  │  │  │
├──┼──┼──┼──┼──┤
│██│██│██│  │🏁│
└──┴──┴──┴──┴──┘

🐢 = черепашка (старт, смотрит вправо)
🏁 = выход
██ = стена (нельзя пройти)
   = свободный проход

Заполни пропуски: какие команды нужны черепашке, чтобы дойти до выхода?

вперёд()          # вправо на 1
()          # поворачиваем вниз
вперёд()
вперёд()          # 2 клетки вниз
()           # смотрим вправо
вперёд()
вперёд()
()          # 3 клетки вправо
вправо()          # смотрим вниз
()          # дошли до 🏁!
💡 Подсказка

Путь: вправо 1, поворот вниз, вниз 2, поворот вправо, вправо 3, поворот вниз, вниз 1.

✅ Решение
вперёд()          # вправо на 1
вправо()          # теперь смотрим вниз
вперёд()
вперёд()          # прошли 2 клетки вниз
влево()           # смотрим вправо
вперёд()
вперёд()
вперёд()          # прошли 3 клетки вправо
вправо()          # смотрим вниз
вперёд()          # дошли до 🏁!

Бонусный вопрос: а есть ли другой путь? Если да — напиши его тоже. В программировании часто бывает несколько правильных решений.

💭 Итоги

Теперь ты знаешь:

  • ✅ Программа — это набор инструкций в определённом порядке
  • ✅ Алгоритм — это способ решения задачи по шагам
  • ✅ Хороший алгоритм — точный, последовательный и конечный
  • ✅ Ошибки нормальны. Debug loop — твой друг

В следующем уроке: мы научим черепашку запоминать вещи. Это называется «переменные» — и без них не работает ни одна программа в мире.