Урок 15 Вычисление определенного интеграла методом трапеций
Приложение вычисляет определенный интеграл функции y = 2 sin (x – 3) + 54 на отрезке [2, 10]. Этот отрезок разбивается на 10 000 частей. Таким образом площадь фигуры под графиком этой функции будет разбита на столько же элементарных трапеций. В цикле while (условие) do происходит последовательное вычисление элементарных площадей и их суммирование. На рисунке всего лишь четыре трапеции и произвольная функция.
unit Unit5;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm5 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
n: integer;
a, b, x, y1, y2, d, s: real;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
Label1.Caption := '';
s := 0; // обнуление суммы
a := 2; // ввод нижнего предела
b := 10; // ввод верхнего предела
n := 10000; // число разбиений
d := (b - a)/n; // вычисление шага передвижения
x := a + d/2; // начало передвижения
while (x < b) do // цикл ПОКА ДЕЛАЙ
begin
y1 := 2*sin(x - 3) + 54; //вычисление функции y1
y2 := 2*sin(x - 3) + 54; //вычисление функции y2
s := s + (y1 + y2)*d/2; //вычисление и суммирование площадей
x := x + d; //передвижение на шаг
end;
Label1.Caption := 'Интеграл = ' + FloatToStr (s); // вывод результата
end;
end.
Выбери лучшее! allbest |