Напишите функцию которая вычисляет максимальное из трех чисел
Перейти к содержимому

Напишите функцию которая вычисляет максимальное из трех чисел

  • автор:

 

Напишите функцию , которая вычисляет сразу максимальное и минимальное из 3 чисел . (используйте изменяемые параметры ) срочно . паскаль

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

Сколькими способами можно разделить 15 одинаковых монет между 7 нумизматами так, чтобы каждому досталось хотя бы по монете

Буксирный теплоход тянет равноускоренно две баржи водоизмещением 500 т и 300 т. Сила сопротивления воды для первой баржи равна 15 кН, для второй 12 кН. Найти натяжение троса между баржами, если сила тяги буксира 50 кН. (20,6 кН)

Нахождение наибольшего числа из трех

Найти наибольшее число из трех. Если числа равны, то вывести любое из них.

Входные данные

В единственной строке входного файла INPUT.TXT записано три числа через пробел. Все числа целые, не меньше -10000 и не больше 10000.

Выходные данные

В файл OUTPUT.TXT выведите единственное число.

Пример

INPUT.TXT OUTPUT.TXT
4 7 5
-10 -1000 -100
8 8 8
7
-10
8

Решение

В очередной раз я упростил задачу за счет того, что при равенстве чисел можно вывести любое из них. Как и в задаче "Нахождение наибольшего числа из двух" возможно несколько вариантов решения. Здесь будет рассмотрено два из них.

Первый способ решения задачи основан на использовании дополнительной переменной. Т.е. кроме трех перемененных (например а, b , с) используются дополнительная переменная (например с именем " max) для хранения наибольшего значения. Это пример привожу лишь по той причине, что порой, он оказвается проще для понимания.

Решение задачи на Паскале.

Как видно из блок-схемы приведенной ниже, использовать дополнительную переменную нет никакой нужды. Отказавшись от полного ветвления при проверке первого условия, удалось уменьшить и код программы. Обратите внимание, что для использования неполного ветвления надо проверять условие a<b , а не a>b .

 

Решение на Паскале.

В книге С. Окулова "Основы программирования " , для решения этой задачи предлагается использовать составные условия. Вот как будет выглядеть текст программы в этом случае:

Как найти максимальное из чисел?

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

Аналогичные функции можно написать для поиска минимального из чисел. Для этого достаточно сменить знак сравнения в функции с двумя аргументами(в первой из рассмотренных).

Для реализации сначала нужно написать функцию, которая находит максимальное из двух чисел.

Функция определения максимального из двух чисел

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

Функция поиска наибольшего из трех чисел

А что если нужно сравнить четыре, пять и больше чисел, и найти максимальное из них?

Без проблем, мы можем писать столько перегруженных функций, сколько нам нужно.

Максимум из четырех чисел

Эта функция использует вызов двух предыдущих.

Программа для поиска и вывода максимальных чисел

все приведенные выше функции должны быть размещены в том же порядке над телом основной программы

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

Если предполагается сравнивать много чисел, то лучше всего представить их в виде массива, и искать минимальный или максимальный элемент в массиве.

Задача 2. Функция максимума

Юра пишет различные полезные функции для Питона, чтобы остальным программистам стало проще работать.
Он захотел написать функцию, которая будет находить максимум из перечисленных чисел. Функция для нахождения максимума из двух чисел у него уже есть. Юра задумался: может быть, её можно как-то использовать для нахождения максимума уже от трёх чисел?

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

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *