Ответ:

Отчёт: сравнение алгоритмов поиска наибольшего числа

Цель работы: сравнить три алгоритма, решающие одну и ту же задачу.

Задача: по трём введённым целым числам вывести наибольшее. Поскольку исходное задание не задаёт конкретную задачу, это условный пример.

Алгоритм 1 — встроенная функция max.

a, b, c = map(int, input().split())
print(max(a, b, c))

Преимущество — краткость и наглядность. Сравнения выполняет встроенная функция. Этот вариант удобен, если применение max разрешено.

Алгоритм 2 — последовательные сравнения.

a, b, c = map(int, input().split())
maximum = a
if b > maximum:
    maximum = b
if c > maximum:
    maximum = c
print(maximum)

Переменная maximum хранит наибольшее из уже рассмотренных чисел. Алгоритм выполняет два сравнения и легко обобщается на любое количество чисел с помощью цикла.

Алгоритм 3 — вложенные условные операторы.

a, b, c = map(int, input().split())
if a > b:
    maximum = a
else:
    maximum = b
if c > maximum:
    maximum = c
print(maximum)

Сначала выбирается большее из первых двух чисел, затем оно сравнивается с третьим. Для трёх значений запись понятна, но для большего набора вложенные условия менее удобны.

Итоги сравнения. Все три программы находят наибольшее число, в том числе при равных значениях. Для трёх чисел каждая требует не более двух сравнений и постоянной дополнительной памяти. Встроенная функция обеспечивает краткую запись, а последовательные сравнения наглядно показывают принцип алгоритма и удобны для расширения.

Заключение: для учебной реализации, которую можно обобщить на произвольное количество чисел, наиболее подходящ алгоритм последовательных сравнений. Если важнее краткость и встроенные функции разрешены, следует выбрать max.