Знаходження значення функції за побудованим графіком засобами Delphi: Приклад 2

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

Ілюстрація функції графічно

Виходячи з того, що для рішення даної задачі буде використовуватись об'єктно-орієнтована мова програмування Delphi, то, на першому кроці, відкриємо середовище Delphi 7 та створимо новий проект. Після цього, на головній формі розмістимо наступні компоненти: Memo1 типу TMemo, Button1 типу TButton і Chart1 типу TChart. Далі, докладно проаналізувавши побудований графік бачимо, що його доцільно розбити на п'ять частин і розглядати кожну з них окремо. І в залежності від того, яке значення приймає аргумент, обчислювати для відповідної функції.

Отже, перейдемо до обробника події OnClick кнопки «Обчислити», і в тілі процедури Button1Click запишемо код, з допомогою якого і будуть обчислюватись значення функцій в необхідних точках. Відмітимо, що на подію OnClick кнопки Button1, також реалізується і вивід обчислених значень у компоненті TChart. Дану побудову було реалізовано для зручності аналізу результатів роботи програми.

procedure TForm1.Button1Click(Sender: TObject);
var
x, y: real;
begin
// Здійснюємо очищення рядків компонента TMemo і готуємо його до виводу результатів
Memo1.Clear;
Memo1.Lines[0]:=' x | y ';
Memo1.Lines.Add('-------------------');
// Змінній Х присвоюємо початкове значення
x := −3;
while (x <= 5) do
begin
// Якщо X міститься в проміжку [-3, -2) то для обчислення значення функції використовується рівняння прямої y = -x - 2
if (x >= -3) and (x < -2) then
y := -x - 2
else
// Якщо X міститься в проміжку [-2, -1) то для обчислення значення функції використовується рівняння кола, радіус якого дорівнює 1 з центром в точці (-1, 0)
if (x >= -2) and (x < -1) then
y := Sqrt(-2 * x - x * x)
else
// Якщо X міститься в проміжку [-1, 1) то для обчислення значення функції використовуємо рівняння прямої y=1
if (x >= -1) and (x <= 1) then
y := 1
else
// Якщо X міститься в проміжку [1, 2) то для обчислення значення функції використовуємо рівняння прямої y=-2*x + 3
if (x >= 1) and (x < 2) then
y := -2 * x + 3
else
// Якщо X міститься в проміжку [2, 5] то для обчислення значення функції використовуємо рівняння прямої y=-1
y := −1;
// Виводимо значення аргумента X та відповідне йому значення функції Y у нововму рядку компонента TMemo
Memo1.Lines.Add(floattostrf(x, fffixed, 5, 2) + ' | ' + floattostrf(y, fffixed, 5, 2));
// Будуємо точку (X, Y) у компоненті TChart
Series1.AddXY(x, y);
// Збільшуємо значення аргументу
x := x + 0.25;
end;
end;

Після того, як з програмним кодом розібрались, збережемо, відкомпілюємо та запустимо delphi-проект на виконання. Далі, у вікні що появиться, скористаємось копкою «Обчислити». В результаті виконання даного кроку, у компоненті Memo1, будуть виведені значення функції , де значення змінюються від -3 до 5 з кроком 0.25 .

znachennja_funkcii_za_pobudovanym_grafikom241

Знаходження значення функції за побудованим графіком засобами Delphi

Скачати delphi-проект Значення функції за побудованим графіком.

Матеріал був корисним, поділись в соціальних мережах:
Якщо тобі сподобалась дана тема, залиш свій коментар