Компьютер делает ровно то, что написано

Понимаем, что компьютер выполняет ровно то, что написано, и учимся читать программу как «мысли» компьютера.

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

Компьютер всё понимает буквально

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

Давай потренируемся. Вот программа:

print("3")
print("2")
print("1")
print("Поехали!")

Прочитай её сверху вниз, как компьютер. Первая строчка напечатает «3», вторая — «2», третья — «1», четвёртая — «Поехали!». Получился обратный отсчёт перед стартом ракеты! Проверь себя — запусти:

Вывод:

3
2
1
Поехали!

Получилось так, как ты прочитал? Отлично — значит, ты уже умеешь думать как компьютер!

Машина не исправляет за тебя

А теперь хитрый момент. Что напечатает эта программа?

print("1")
print("3")
print("2")

Вывод:

1
3
2

Компьютер напечатал «1, 3, 2» — хотя по-человечески «правильно» было бы «1, 2, 3». Но машина не догадывается, что ты хотел по порядку! Она печатает ровно то, что написано, в том порядке, в каком написано. Если хочешь «1, 2, 3» — расставь команды в этом порядке сам.

Это не вредность компьютера. Наоборот — это его честность. Он всегда делает одно и то же, его поведение можно предсказать. А раз можно предсказать — значит, можно научиться им управлять.

Что такое «баг»

Когда программа делает не то, что ты задумал, говорят, что в ней баг (по-английски «жучок»). Это нормально! Баги бывают у всех программистов в мире, даже у самых лучших. Найти и исправить баг — это называется отладка, и это интересная игра-головоломка, а не повод расстраиваться.

Чтобы найти баг, программист делает то же, что и мы сейчас: читает программу глазами компьютера, строчка за строчкой, и ищет, где написано не то.

Попробуй сам

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

print("Шаг 1: достать хлеб")
print("Шаг 2: намазать масло")
print("Шаг 3: съесть бутерброд")

Вывод:

Шаг 1: достать хлеб
Шаг 2: намазать масло
Шаг 3: съесть бутерброд

Частые ошибки

  • Ждать, что компьютер «поймёт». Он не поймёт — он выполнит буквально. Это даже хорошо: значит, всё под твоим контролем.
  • Расстраиваться из-за бага. Баг — это не провал, а часть работы. Даже у создателей твоих любимых игр их тысячи. Лови баг как Покемона!

Что мы узнали

  • Компьютер делает ровно то, что написано, и в том порядке, в каком написано.
  • Полезно читать программу глазами компьютера — это помогает понять, что получится.
  • Баг — это ошибка в программе; искать и чинить баги (отладка) — нормальная часть работы.
Проверьте себя
1. Что напечатает программа: print("1"), затем print("3"), затем print("2")?
A1, 2, 3 — компьютер исправит порядок
B1, 3, 2 — ровно как написано
C3, 2, 1
DНичего
2. Что такое баг?
AНазвание команды в Python
BОшибка в программе, когда она делает не то, что задумано
CОчень быстрая программа
DКнопка запуска
3. Почему хорошо, что компьютер всё выполняет буквально?
AПотому что так программа работает медленнее
BПотому что его поведение можно предсказать и им можно управлять
CПотому что он умнее человека
DЭто плохо, а не хорошо
Поддержать проект