Алгоритм — это план по шагам

Разбираемся, что такое алгоритм, на примере утреннего сбора в школу и рецепта какао.

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

Ты уже знаешь сотни алгоритмов!

Слово «алгоритм» звучит сложно, но ты пользуешься алгоритмами каждый день и даже не замечаешь. Алгоритм — это просто пошаговый план. Рецепт — это алгоритм. Инструкция к конструктору LEGO — это алгоритм. Даже то, как ты собираешься утром в школу, — это алгоритм!

Давай запишем алгоритм «приготовить какао» по шагам:

  1. Налить молоко в кружку.
  2. Добавить две ложки какао-порошка.
  3. Добавить ложку сахара.
  4. Размешать.
  5. Разогреть в микроволновке одну минуту.

Если выполнить эти шаги по порядку — получится вкусное какао. Это и есть алгоритм: список шагов, который ведёт к цели.

Почему порядок так важен

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

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

Надеть сначала носки, потом ботинки — нормально. А наоборот? Попробуй надеть носки поверх ботинок! Шаги те же, а порядок всё меняет.

Хороший алгоритм — понятный алгоритм

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

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

Попробуй сам

Давай запишем алгоритм утреннего сбора как программу. Каждый шаг — это команда print. Компьютер выполнит их по порядку — точно как ты делаешь утром.

print("Шаг 1: проснуться")
print("Шаг 2: умыться")
print("Шаг 3: одеться")
print("Шаг 4: позавтракать")
print("Шаг 5: взять рюкзак и идти в школу")

Вывод:

Шаг 1: проснуться
Шаг 2: умыться
Шаг 3: одеться
Шаг 4: позавтракать
Шаг 5: взять рюкзак и идти в школу

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

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

  • Пропустить шаг. Забыл налить молоко — какао не выйдет. В программе тоже: пропустишь шаг — и результат сломается. Это легко исправить, просто проверь по порядку.
  • Перепутать порядок. Шаги правильные, но стоят не в том порядке — и всё идёт наперекосяк. Всегда спрашивай себя: «А что должно идти раньше?»

Что мы узнали

  • Алгоритм — это пошаговый план, который ведёт к цели.
  • В алгоритме порядок шагов важен: те же шаги в другом порядке дадут другой результат.
  • Большую задачу надо делить на маленькие понятные шаги — так проще и тебе, и компьютеру.
Проверьте себя
1. Что такое алгоритм?
AСложная математическая формула
BНазвание компьютера
CПошаговый план, который ведёт к цели
DКнопка на клавиатуре
2. Почему в алгоритме важен порядок шагов?
AПорядок не важен, шаги можно делать как угодно
BЧтобы программа была длиннее
CЧтобы компьютеру было веселее
DТе же шаги в другом порядке могут дать совсем другой результат
3. Что значит «разбить задачу на части»?
AПоделить большую задачу на маленькие понятные шаги
BРазломать компьютер
CУдалить лишние шаги
DСделать задачу сложнее