Задачу ділимо на кроки

Модуль 1Урок 2 з 34Безкоштовний модуль

Перед тим як писати код, варто зупинитися й подумати: а що саме треба зробити? Великі задачі лякають, поки їх не розбити на прості кроки. Програміст рідко «вигадує все одразу» — він будує план, як повар за рецептом або як інструкція зі збирання меблів.

Рецепт замість хаосу

Уявіть борщ. Якщо сказати «зроби борщ» — незрозуміло, з чого почати. А якщо записати кроки: почистити овочі, нарізати, обсмажити, залити водою, варити сорок хвилин — задача стає керованою. Програма працює так само: кожен рядок — маленький крок, а разом вони дають результат.

Приклад

Треба напоїти кота. Кроки: знайти миску → налити свіжої води → поставити біля миски з їжею → перевірити, що вода не пролилась. Жоден крок не складний; важливо не пропустити порядок — спочатку миска, потім вода.

Що таке алгоритм

Алгоритм — скінченна послідовність чітких кроків, які ведуть від вхідних даних до результату. Слово звучить науково, але сенс простий: «роби А, потім Б, якщо умова — роби В, інакше — Г». Алгоритм має закінчуватися — нескінченне «вари ще трохи» без умови зупинки не підходить.

Хороший алгоритм не залишає двозначностей. «Додай трохи солі» для людини зрозуміло, для компʼютера — ні. «Додай одну чайну ложку солі» — уже можна записати в код. Чим точніший крок, тим легше його перенести в програму.

Порада

Перед написанням коду спробуйте пояснити задачу вголос другу або записати кроки на папері. Якщо друг не зрозумів — крок ще занадто розмитий. Це дешевша перевірка, ніж години дебагу.

Послідовний алгоритм: кожен крок виконується зверху вниз, поки не дійдемо до кінця.

Від плану до коду

Спочатку — словами: що на вході, що на виході, які проміжні дії. Потім — переклад у мову програмування. Наприклад, «порахувати суму двох чисел» стає: отримати перше число, отримати друге, додати, показати результат. У наступних уроках ці кроки перетворимо на рядки Python.

Якщо кроків забагато — групуйте їх у підзадачі. «Приготувати сніданок» можна розбити на «зварити каву» і «підсмажити хліб», а кожну підзадачу — на ще дрібніші дії. Так само в коді: велика функція пізніше розкладеться на кілька маленьких, кожна з яких робить одну річ добре.

Увага

План без перевірки країв — слабкий план. Запитайте себе: що якщо число відʼємне? Що якщо користувач нічого не ввів? Навіть на етапі блок-схеми варто позначити такі гілки — потім їх легше перенести в умови if.

Що запамʼятати

Складну задачу ділять на прості кроки. Алгоритм — скінченний упорядкований план без двозначностей. Чіткий план полегшує код; код без плану часто переписують з нуля.

Перевірка

4 питання

Кілька питань за матеріалом уроку. Спроб — скільки завгодно.

1.Навіщо розбивати велику задачу на кроки?
2.Що таке алгоритм?
3.Чому фраза «додай трохи солі» погана для програми?
4.Яка аналогія з уроку найкраще ілюструє алгоритм?