Статья Автор: Корельская Елена Юрьевна

Теория

Линейный поиск — это алгоритм, который находит определённое значение в списке, проверяя все элементы по очереди. Он начинает с первого элемента, сравнивает его с искомым, а затем продолжает двигаться по списку, пока либо не найдёт искомый элемент, либо не достигнет конца списка. На сегодняшнем уроке мы рассмотрим прием использования вспомогательной переменной – флага.
Идея использования переменной-флага заключается в применении переменной логического типа, для передачи информации о состоянии вычислительного процесса. Переменная-флаг сигнализирует о результате выполнения определённой операции или условия. До выполнения проверки условия переменную-флаг устанавливают равной True (флаг поднят) или False (флаг опущен). Если условие выполняется, то переменная-флаг меняет свое значение на противоположное, если нет – значение остается прежним. Можно вместо значений True/False можно использовать числовые значения 1/0.
 

Задача 1.
Оксана обожает красный цвет и ассоциирует его со счастьем. Она верит, что если встретит хотя бы один автомобиль красного цвета с номером, оканчивающимся на цифру 7, то её ждёт удачный день. Определите, будет ли день Оксаны счастливым или обычным, основываясь на номерах автомобилей красного цвета, которые она встретила.
Входные данные: список номеров автомобилей красного цвета.
Выходные данные: «счастливый» - если встретился хотя бы один номер, у которого последняя цифра 7, «обычный» - в противном случае.
Пример
Входные данные Выходные данные
1234 2345 3456 4567 5678 6789 счастливый
1234 2345 3456 4568 5678 6789 обычный

Решение:
 


Попробуйте определить, в каких ситуациях программный код представленный ниже, может работать неправильно и объясните причины некорректной работы.

a = list(map(int, input().split()))
for x in a:
    if x % 10 == 7: 
        print('счастливый')
    else: 
        print('обычный')


Для сокращения количества итераций цикла и пропуска проверки следующих номеров используется оператор break. Это позволяет программе работать быстрее в определённых ситуациях.
 


Ещё одним подходом к решению задач со списками является применение дополнительных списков, в которые во время обхода основного списка записываются необходимые значения.

Задача 4.
Марина хочет стать отличницей и выписала свои средние баллы по всем предметам. Для получения пятёрки за четверть средний балл должен быть не меньше 4,5. Определите номера предметов (нумерация начинается с 1), по которым Марине нужно улучшить оценки, чтобы стать отличницей. Если таких предметов нет, выведите «ОТЛИЧНО!»
Входные данные: список средних баллов по предметам.
Выходные данные: список номеров предметов, по которым нужно улучшить оценки.
Пример
Входные данные Выходные данные
4.32 4.51 5 4.2 4.1 4.6 4.7 4.9 5 4.44 1 4 5 10
5 4.55 4.5 4.59 4.93 4.72 ОТЛИЧНО!

Печать