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

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

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

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

Слово «алгоритм» звучит сложно, но ты пользуешься алгоритмами каждый день и даже не замечаешь. Алгоритм — это просто пошаговый план. Рецепт — это алгоритм. Инструкция к конструктору 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Сделать задачу сложнее
Поддержать проект