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

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

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

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

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

function Max(x1, x2 : integer) : integer;
begin
  if x1 > x2 then
    Max := x1
  else
    Max := x2;
end; 

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

Функція знаходження найбільшого з трьох значень

function Max(x1, x2, x3 : integer) : integer;
begin
  Max := Max(Max(x1, x2), x3);
end;

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

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

Максимум з чотирьох

function Max(x1, x2, x3, x4 : integer) : integer;
begin
  Max := Max(Max(x1, x2, x3), x4);
end; 

Ця функція використовує дві попередні.

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

всі наведені вище функції повинні бути розміщені, в тому ж порядку, над тілом основної програми

В залежності від кількості аргументів, компілятор вибирає, яку з функцій використовувати.

begin
  writeln(Max(1, 4));
  writeln(Max(9, 2, 7));
  writeln(Max(8, 3, 6, 5));
  readln;
end. 

Якщо послідовність чисел велика, то краще представити їх у вигляді масиву і шукати мінімальний, або максимальний елемент массиву.

Дивіться також: