Задача 1: «Потерянный носок» (Линейный поиск)
Сюжет: У тебя есть список вещей, разбросанных по комнате. Тебе нужно проверить каждую вещь и сказать, на каком месте лежит «носок».
Условие: Создай список из 5-7 разных предметов. Напиши программу, которая перебирает список и, когда находит «носок», пишет: «Нашел! Он под номером Х».
Чему учит: Простой перебор элементов, работа с индексами.
items = ["книга", "игрушка", "носок", "ручка", "тетрадь"]
find_item = "носок"
Задача 2: «Больше-Меньше» (Логика бинарного поиска)
Сюжет: Это игра, где компьютер загадал число, а ты пытаешься его угадать. Это лучший способ понять, как работает деление диапазона пополам.
Условие: Компьютер загадывает число от 1 до 100. Ты вводишь свое число, а компьютер отвечает: «Слишком много» или «Слишком мало». Тебе нужно угадать за минимальное количество шагов (максимум за 7).
Чему учит: Пониманию того, что эффективнее проверять середину диапазона, а не гадать наугад.
Задача 3: «Поиск в алфавитном списке» (Сортировка + Поиск)
Сюжет: Представь, что ты библиотекарь. У тебя есть список имен учеников, которые сдали книги. Тебе нужно быстро проверить, есть ли в списке «Emily».
Условие: Дан список: ["Alice", "Bob", "Charlie", "David", "Emily", "Frank"].
Проверь, стоит ли список по алфавиту? (Если нет, бинарный поиск не сработает).
Попробуй найти имя вручную, а потом напиши код, который делит этот список пополам, чтобы найти «Emily».
Чему учит: Важности сортировки данных перед поиском.