Задача 4. Поиск максимального из трех чисел
Условие задачи. Найти максимальное из трёх заданных чисел.
Часто бывает, что для решения одной задачи можно предложить сразу несколько вариантов действий. Задача о поиске максимального из трех значений – типичный тому пример. Рассмотрим два способа.
Способ 1. Сравним одно из введенных чисел с двумя другими, и если оно больше обоих, то максимум найден. Если это не так, значит, данное число можно «отбросить», а наибольшим будет одно из двух оставшихся чисел, которые надо сравнить в свою очередь.
Обозначим входные данные a, b, c, а наибольшее значение – max. Тогда алгоритм решения задачи может быть записан так.
Структурированная запись алгоритма 4.1
1. Ввести 3 числа: a, b и c.
2. Сравнить число a с числами b и c: если a > b и a > c, тогда max = a.
3. Если предыдущее условие не выполнилось, значит число a не является максимальным и нужно сравнить числа b и c: если b > c, тогда max = b, иначе max = c.
4. Вывести max.
Схема алгоритма
![](https://pdnr.ru/infopediasu/baza27/2738684379404.files/image035.jpg)
Программа на языке Си
С использованием условного оператора
#include <stdio.h>
int main (void)
{
double a, b, c, max;
printf (״Введите 3 числа”);
scanf (״%lf%lf%lf”, &a, &b, &c);
if (a>b && a>c)
max=a;
else if (b>c)
max=b;
else max=c;
printf(״max = %lf”, max);
return 0:
}
С использованием условной операции
#include <stdio.h>
int main (void)
{
double a, b, c, max;
printf (״Введите 3 числа”);
scanf (״%lf%lf%lf”, &a, &b, &c);
max = a>b && a>c? a: b>c? b: c;
printf(״max = %lf”, max);
return 0:
}
Программа на языке Паскаль
Program Pr_4_1;
Var a, b, c, max: real;
begin
writeln(ʹВведите 3 числа’);
readln(a, b, c);
if (a>b) and (a>c) then max:=a
else if b>c then max:=b
else max:=c;
writeln(ʹmax=’, max:5:1);
end.
Программа на языке Фортран
Program Pr_4_1
Implicit none
real a, b, c, max
print *, ʹВведите 3 числа’
read*, a, b, c
if (a>b.and.a>c) then
max=a
elseif (b>c) then
max=b
else
max=c
endif
print *, ʹmax=’, max
end
Программа на языке Python
С использованием условного оператора
# Использование "условного оператора"
print("Введите три числа:")
a = float(input())
b = float(input())
c = float(input())
if a > b and a > c:
max = a
else:
if b > c:
max = c
else:
max = c
print("max = ", max)
С использованием условной операции
# Использование "условной операции"
print("Введите три числа:")
a = float(input()); b = float(input())
c = float(input())
max = a if a > b and a > c else b if b > c else c
print("max = ", max)
Программа в системе Матлаб
a=input('a=');
b=input('b=');
c=input('c=');
if a>b && a>c
max=a;
elseif b>c
max=b;
else
max=c;
end
disp('max=');
disp(max);
Способ 2. Сравним сначала два числа, запомним большее из них. Затем сравним найденное большее из двух с третьим числом, если третье число не больше, значит, максимум уже найден, если третье число больше, значит, оно и является максимальным.
При тех же обозначениях входных и выходных данных получим следующий алгоритм решения задачи.
Структурированная запись алгоритма 4.2
1. Ввести 3 числа: a, b и c.
2. Сравнить числа a и b: если a > b, тогда max = a, иначе max = b.
3. Сравнить max и c: если c > max, тогда max = c.
4. Вывести max.
Схема алгоритма
![](https://pdnr.ru/infopediasu/baza27/2738684379404.files/image037.jpg)
Программа на языке Си
|