Задачи

Задача 1: «Потерянный носок» (Линейный поиск)

Сюжет: У тебя есть список вещей, разбросанных по комнате. Тебе нужно проверить каждую вещь и сказать, на каком месте лежит «носок».

Условие: Создай список из 5-7 разных предметов. Напиши программу, которая перебирает список и, когда находит «носок», пишет: «Нашел! Он под номером Х».

Чему учит: Простой перебор элементов, работа с индексами.

items = ["книга", "игрушка", "носок", "ручка", "тетрадь"]
find_item = "носок"

Задача 2: «Больше-Меньше» (Логика бинарного поиска)

Сюжет: Это игра, где компьютер загадал число, а ты пытаешься его угадать. Это лучший способ понять, как работает деление диапазона пополам.

Условие: Компьютер загадывает число от 1 до 100. Ты вводишь свое число, а компьютер отвечает: «Слишком много» или «Слишком мало». Тебе нужно угадать за минимальное количество шагов (максимум за 7).

Чему учит: Пониманию того, что эффективнее проверять середину диапазона, а не гадать наугад.

Задача 3: «Поиск в алфавитном списке» (Сортировка + Поиск)

Сюжет: Представь, что ты библиотекарь. У тебя есть список имен учеников, которые сдали книги. Тебе нужно быстро проверить, есть ли в списке «Emily».

Условие: Дан список: ["Alice", "Bob", "Charlie", "David", "Emily", "Frank"].

Проверь, стоит ли список по алфавиту? (Если нет, бинарный поиск не сработает).

Попробуй найти имя вручную, а потом напиши код, который делит этот список пополам, чтобы найти «Emily».

Чему учит: Важности сортировки данных перед поиском.