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

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

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

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

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

function Min(x1, x2 : integer) : integer;
begin
  if x1 < x2 then
    Min := x1
  else
    Min := x2;
end; 

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

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

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

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

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

Мінімум з чотирьох чисел

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

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

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

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

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

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

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

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