Урок 41. Алгоритми — що це таке?
Урок 41. Алгоритми — що це таке?
Section titled “Урок 41. Алгоритми — що це таке?”Тривалість: 45–60 хв
Рівень: Algorithm Explorer
🎯 Місія
Section titled “🎯 Місія”Зрозумій алгоритм як точну послідовність дій.
🧠 Ключова ідея
Section titled “🧠 Ключова ідея”numbers = [7, 2, 9, 4, 1]largest = numbers[0]for number in numbers: if number > largest: largest = number💡 Пояснення простою мовою
Section titled “💡 Пояснення простою мовою”Алгоритм — це як рецепт для піци: крок за кроком, без пропусків. Тут ми шукаємо найбільше число, обходячи список і порівнюючи кожне число з поточним чемпіоном.
🧩 Розбираємо по рядках
Section titled “🧩 Розбираємо по рядках”largest = numbers[0]— перше число стає “чемпіоном” (поки що найбільшим)for number in numbers— ми дивимося на кожне число по черзіif number > largest— якщо нове число більше за чемпіона…largest = number— …воно стає новим чемпіоном!
Приклад з кроками
Section titled “Приклад з кроками”numbers = [3, 8, 2, 9, 5]largest = 3 # чемпіон = 3# порівнюємо: 3<8 → чемпіон = 8# порівнюємо: 8>2 → чемпіон = 8# порівнюємо: 8<9 → чемпіон = 9# порівнюємо: 9>5 → чемпіон = 9print(largest) # 9graph TD
A["Початок: largest = numbers[0]"] --> B{"Є ще числа?"}
B -- Так --> C["Беремо наступне число"]
C --> D{"number > largest?"}
D -- Так --> E["largest = number"]
D -- Nie --> B
E --> B
B -- Nie --> F["Друкуємо largest"]
✏️ Основні завдання
Section titled “✏️ Основні завдання”- Максимум без
max(). - Мінімум без
min(). - Сума без
sum(). - Другий максимум.
🙋 Підказка до завдання 2: замість > використай <. Або спочатку скопіюй список і видаляй максимум!
⭐ Challenge
Section titled “⭐ Challenge”Знайди друге найбільше число без сортування.
🧪 Перед запуском
Section titled “🧪 Перед запуском”Хоча б раз за урок спробуй передбачити результат коду до запуску. Після запуску порівняй прогноз із реальністю.
🐞 Debug Mission
Section titled “🐞 Debug Mission”Навмисно зламай одну частину програми. Прочитай traceback або спостережи неправильну поведінку, знайди причину й виправ її.
✅ Урок завершено, якщо Марко може
Section titled “✅ Урок завершено, якщо Марко може”- пояснити головну ідею своїми словами;
- виконати основні завдання без копіювання готового рішення;
- змінити програму під нову вимогу;
- знайти й виправити хоча б одну власну помилку.
🏠 Домашня місія
Section titled “🏠 Домашня місія”Покращ Challenge однією власною ідеєю. Перед кодом сформулюй її одним реченням.
💡 Підказка для дорослого
Section titled “💡 Підказка для дорослого”Не виправляйте код одразу. Краще запитайте: «Що ти очікував? Що сталося? Який рядок за це відповідає? Що можна перевірити?»