Алгоритмы без множественного выбора (PascalABC.NET)

Материал из Информационная безопасностя
Версия от 19:25, 9 мая 2023; Безуглов Сергей (обсуждение | вклад) (Новая страница: «{{TOCRight}} == Поиск минимумов и максимумов == Найти минимальное из двух произвольных чисел. Е...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Поиск минимумов и максимумов

Найти минимальное из двух произвольных чисел.

Если сказано, что числа произвольные, выбираем для них тип real. Алгоритм поиска минимума среди чисел a и b следующий: если а < b, минимум равен a, иначе он равен b.

 1 ##
 2 var (a, b) := ReadReal2('Введите два числа:');
 3 
 4 if a < b then
 5   Print('Минимум равен', a)
 6 else
 7   Print('Минимум равен', b); 
 8 
 9 Println('Минимум равен', if a < b then a else b); 
10 
11 Println('Минимум равен', (a < b) ? a : b);

Найти максимальное из трех целых чисел.

Сначала найдем максимальное из первой пары чисел, а затем сравним результат с третьим числом.

1 ##
2 var (a, b, c) := ReadInteger3('Введите три целых числа;');
3 var m := if a > b then a else b;
4 m := if m > c then m else c;
5 Print('Максимум:', m);
Введите три целых числа; 4 7 2
Максимум: 7

Короткое альтернативное решение:

1 ##
2 var (a, b, c) := ReadInteger3('Введите три целых числа;');
3 Print('Максимум:', Max(a, b, c));
Даны четыре натуральных числа. Найти процент отклонения значения максимального из чисел от среднего значения всех чисел с точностью до двух знаков после запятой.
1 ##
2 var a, b, c, d: integer;
3 Write('Введите четыре целых числа: ');
4 Read(a, b, c, d);
5 var mx := Max(a, b, c, d);
6 var m := (a + b + c + d) / 4;
7 Write('Отклонение составляет ', (mx - m) / m * 100:0:2, '%');
Введите четыре целых числа: 29 31 32 31
Отклонение составляет 4.07%