Урок 42. Лінійний пошук
Урок 42. Лінійний пошук
Section titled “Урок 42. Лінійний пошук”Тривалість: 45–60 хв
Рівень: Algorithm Explorer
🎯 Місія
Section titled “🎯 Місія”Реалізуй пошук елемента без .index().
🧠 Ключова ідея
Section titled “🧠 Ключова ідея”for i in range(len(items)): if items[i] == target: print("Found:", i) break💡 Пояснення простою мовою
Section titled “💡 Пояснення простою мовою”Лінійний пошук — це як шукати ключ у кишенях пальта: перевіряєш кишеню за кишенею, поки не знайдеш. Список перевіряється елемент за елементом зліва направо.
🧩 Розбираємо по рядках
Section titled “🧩 Розбираємо по рядках”for i in range(len(items))— проходимо по кожному індексу (0, 1, 2, …)if items[i] == target— чи цей елемент той, що шукаємо?print("Found:", i)— якщо так — друкуємо його позиціюbreak— зупиняємося, бо знайшли!
Приклад: шукаємо число 4
Section titled “Приклад: шукаємо число 4”items = [7, 2, 9, 4, 1]target = 4
for i in range(len(items)): print(f"Перевіряю items[{i}] = {items[i]}") if items[i] == target: print("Found:", i) break# Вивід: items[0]=7, items[1]=2, items[2]=9, items[3]=4 → Found: 3graph LR
A["[7, 2, 9, 4, 1]"] --> B{"7 == 4?"}
B -- Nie --> C{"2 == 4?"}
C -- Nie --> D{"9 == 4?"}
D -- Nie --> E{"4 == 4?"}
E -- Так --> F["Found: index 3"]
style F fill:#4caf50,color:#fff
✏️ Основні завдання
Section titled “✏️ Основні завдання”- Знайди число.
- Поверни індекс.
- Оброби Not found.
- Порахуй перевірки.
🙋 Підказка до завдання 3: якщо цикл закінчився, а target не знайдений — поверни -1 або виведи повідомлення.
⭐ Challenge
Section titled “⭐ Challenge”Напиши find_item(items, target) без .index().
🧪 Перед запуском
Section titled “🧪 Перед запуском”Хоча б раз за урок спробуй передбачити результат коду до запуску. Після запуску порівняй прогноз із реальністю.
🐞 Debug Mission
Section titled “🐞 Debug Mission”Навмисно зламай одну частину програми. Прочитай traceback або спостережи неправильну поведінку, знайди причину й виправ її.
✅ Урок завершено, якщо Марко може
Section titled “✅ Урок завершено, якщо Марко може”- пояснити головну ідею своїми словами;
- виконати основні завдання без копіювання готового рішення;
- змінити програму під нову вимогу;
- знайти й виправити хоча б одну власну помилку.
🏠 Домашня місія
Section titled “🏠 Домашня місія”Покращ Challenge однією власною ідеєю. Перед кодом сформулюй її одним реченням.
💡 Підказка для дорослого
Section titled “💡 Підказка для дорослого”Не виправляйте код одразу. Краще запитайте: «Що ти очікував? Що сталося? Який рядок за це відповідає? Що можна перевірити?»