В інженерії пошук найбільшого або найменшого значення — це основа безпеки, енергоефективності та якості. Ось кілька ідей, як це працює в реальних системах:
Інженери відновлюваної енергетики використовують алгоритм пошуку максимуму для MPPT-контролерів (Maximum Power Point Tracking).
Контекст: Масив датчиків вимірює напругу на різних ділянках сонячної ферми.
Завдання: Програма має миттєво знайти точку з найвищою інтенсивністю світла, щоб розвернути панелі під ідеальним кутом.
Результат: Чим швидше працює алгоритм пошуку максимуму, тим більше безкоштовної енергії ми отримуємо.
Сучасні комп’ютери мають десятки термодатчиків під кришкою процесора.
Контекст: Масив значень температур знімається кожні кілька мілісекунд.
Завдання: Алгоритм шукає найбільше значення серед усіх датчиків («гарячу точку»).
Інженерне рішення: Швидкість вентилятора виставляється саме за максимальним значенням, а не за середнім. Якщо ми проігноруємо локальний максимум, процесор може розплавитися, навіть якщо середня температура в нормі.
Інженери міських комунікацій стежать за станом труб за допомогою датчиків тиску.
Контекст: Масив даних відображає тиск у різних вузлах мережі.
Завдання: Знайти найменше значення тиску.
Інженерне рішення: Аномально низький тиск у порівнянні з іншими вузлами сигналізує про ймовірний прорив труби. Пошук мінімуму в масиві дозволяє автоматиці перекрити потрібний клапан ще до того, як вулицю затопить.
При реалізації цих ідей важливо пам'ятати про "Еталонний вимір":
Правило першого кроку: В інженерних системах ми не можемо порівнювати дані з "нулем", бо мінімальна температура може бути від’ємною (-20°C), а тиск — дуже високим.
Рішення: Завжди приймайте значення першого отриманого датчика (A[0]) за початковий максимум або мінімум. Тільки після цього починайте порівняння з іншими.
Увага! Під час роботи з комп'ютером дотримуйтеся правил безпеки та санітарно-гігієнічних норм.
Повторіть правила безпечної роботи за комп’ютером.
Завантажте і встановіть: Середовище програмування Лазарус (для тих, хто не завантажив)
Контекст: Ви працюєте інженером з технічного нагляду на будівництві мосту. Спеціальний ультразвуковий сканер вимірює межу міцності (в мегапаскалях, МПа) для кожної сталевої балки з партії. Дані автоматично заносяться в одновимірний масив. Щоб гарантувати надійність конструкції, вам потрібно знайти найміцнішу балку в цій партії для встановлення її на центральну опору.
Розробити алгоритм пошуку максимального показника міцності серед результатів сканування партії металопрокату.
Інженерна логіка «Еталонного порівняння»:
Початкова гіпотеза: Візьміть показник міцності найпершої перевіреної балки в масиві та умовно прийміть його за «максимальний» (max_strength).
Послідовний контроль: Починаючи з другої балки, порівнюйте показник кожної наступної з вашим поточним еталоном (max_strength).
Якщо міцність поточної балки вища за ту, що зберігається в пам'яті, — оновіть значення max_strength, записавши туди новий показник.
Якщо міцність нижча або рівна — ігноруйте її та переходьте до наступного виміру.
Звіт: Після перевірки всієї партії (проходження всього масиву), значення, яке залишиться в змінній max_strength, буде офіційним максимумом міцності для цієї партії.
Procedure TForm1.Button1Click(Sender: TObject);
var a: array [0..9] of real; i: integer; max: real;
begin
for i := 0 to 9 do a[i] := StrToFloat(Memo1.Lines[i]);
max := a[0]; // вважаємо, що найбільше значення – значення першого елемента
for i := 1 to 9 do if a[i] > max then max := a[i]; // замінюємо найбільше значення
Label1.Caption := FloatToStr(max) + ‘ – найбільше значення’;
end;
Масив вимірів (МПа): [380, 415, 395, 420, 410]
Хід аналізу:
Припускаємо, що макс = 380.
415 > 380? Так. Новий еталон = 415.
395 > 415? Ні.
420 > 415? Так. Новий еталон = 420.
410 > 420? Ні.
Висновок: Найміцніша балка має показник 420 МПа.
Збережіть усі файли та скриншоти.
Завантажте їх у розділ Ваші роботи на платформі Google ClassRoom.
Робототехніка: Уявіть робота-пилососа, який має масив значень відстаней від датчиків до перешкод. Що йому важливіше знайти: мінімальну чи максимальну відстань, щоб не врізатися в стіну?
Авіація: Автопілот отримує дані про висоту від трьох незалежних систем. Чому інженери іноді вибирають середнє з двох найближчих або просто мінімальне значення для безпечної посадки?
"Інформатика, 9 клас" (Й.Я. Ривкінд та їнші):
Прочитайте та розберіть теоретичний матеріал пункту 5.2 (стор. 248-250), вправи 3, 4 (стор. 254).
Скриншот результату тесту прикріпіть у розділі Ваші роботи на платформі Google ClassRoom: