Визначення площі між функціями інтегралом за методом трапеції на мові Pascal
Зміст
1. Постановка задачі
2. Математичний опис рішення задачі
3. Алгоритм програми
4. Лістинг програми
5. Контрольний приклад
Список використаної літератури
Постановка задачі
Скласти програму на мові Pascal розрахунку за методом трапецій площі між графіками функцій F1(x) = cos x2 + 1 i F2(x) = 2x^2 з точністю е = 0,0001.
2. Математичний опис рішення задачі
Розрахунок за методом трапецій площі між графіками функцій F1(x) = cos x2 + 1 i F2(x) = 2x^2 (рис.1) здійснюється вирішенням визначеного інтегралу > >, який саме і визначає площі під графіками. За властивістю інтегралів > > , тому в якості підінтегральної функції ми беремо функцію F(x) = cos x2 + 1 - 2x^2
Рис.1.
Саме метод трапеції реалізований на мові Pascal у наступному фрагменту програми, у якому для розрахунків використано цикл із заздалегідь визначеним числом повторень:
h:=(b-a)/n;
yp:=0;
x:=a;
for i:=1 to n-1 do
begin
x:=x+h;
yp:=yp+(cos(sqr(x))+1-exp(sqr(x)*ln(2)));
end;
yn:=cos(sqr(a))+1-exp(sqr(a)*ln(2));
yk:=cos(sqr(b))+1-exp(sqr(b)*ln(2));
s:=((yk+yn)/2+yp)*h;
де,
n – кількість відрізків, на які розбивається дільниця інтегрування;
i – допоміжна змінна циклу;
a – початкова межа інтегрування;
b – кінцева межа інтегрування;
h – довжина відрізку інтегрування;
yn – значення підінтегральної функції в початкової точці (точка а);
yk – значення підінтегральної функції в кінцевої точці (точка а);
yp – одне з проміжних значень підінтегральної функції;
s – потрібне значення визначеного інтегралу (площа) за методом трапецій.
3. Алгоритм програми
Алгоритм програми наведено на рис.2.
0100090000031602000002009601000000009601000026060f002203574d4643010000000000010015670000000001000000000300000000000000030000010000006c0000000000000000000000350000006f000000000000000000000089350000fa3f000020454d4600000100000300001000000002000000000000000000000000000000c0120000131a0000cb0000001b010000000000000000000000000000f818030078510400160000000c000000180000000a0000001000000000000000000000000900000010000000a60c00001d0f0000520000007001000001000000a4ffffff00000000000000000000000090010000000000cc04400022430061006c006900620072006900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100c09a110010000000249e1100a49b1100524f6032249e11001c9b1100100000008c9c1100089e1100244f6032249e11001c9b110020000000076f2e311c9b1100249e110020000000ffffffffec34ee00826f2e31ffffffffffff0180ffff01803fff0180ffffffff0000000000080000000800004300000001000000000000005802000025000000552e9001cc08020f0502020204030204ef0200a07b20004000000000000000009f00000000000000430061006c0069006200720000000000430065006e007400750072007900200047006f00509b1100ca39273108000000010000008c9b11008c9b1100087a253108000000b49b1100ec34ee006476000800000000250000000c00000001000000250000000c00000001000000250000000c00000001000000120000000c00000001000000180000000c0000000000000254000000540000000000000000000000350000006f0000000100000055558740a0ab87400000000057000000010000004c000000040000000000000000000000a60c00001d0f000050000000200000003600000046000000280000001c0000004744494302000000ffffffffffffffffa60c00001e0f0000000000004600000014000000080000004744494303000000250000000c0000000e000080250000000c0000000e0000800e000000140000000000000010000000140000000400000003010800050000000b0200000000050000000c0271020b02040000002e0118001c000000fb02f1ff0000000000009001000000cc0440002243616c6962726900000000000000000000000000000000000000000000000000040000002d010000040000002d010000040000002d0100000400000002010100050000000902000000020d000000320a0e00000001000400000000000b02720220ef09001c000000fb020300010000000000bc02000000cc0102022253797374656d0000000000000000000000000000000000000000000000000000040000002d010100040000002d010100030000000000
Рис.2. Алгоритм програми
4. Лістинг програми
Лістинг програми наведений нижче:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
Button2: TButton;
Image1: TImage;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a,b,s,h,x,yp,yn,yk:real; i,n:integer;
begin
a:=StrtoFloat(Edit1.Text);
b:=StrtoFloat(Edit2.Text);
n:=StrtoInt(Edit3.Text);
h:=(b-a)/n;
yp:=0;
x:=a;
for i:=1 to n-1 do
begin
x:=x+h;
yp:=yp+(cos(sqr(x))+1-exp(sqr(x)*ln(2)));
end;
yn:=cos(sqr(a))+1-exp(sqr(a)*ln(2));
yk:=cos(sqr(b))+1-exp(sqr(b)*ln(2));
s:=((yk+yn)/2+yp)*h;
Edit4.Text:=copy(FloattoStr(s),1,6)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close
end;
end.
5. Контрольний приклад
У перше поле вводимо початкове значення відрізку інтегрування, наприклад, 0;
у друге поле вводимо кінцеве значення відрізку інтегрування, наприклад, 0,5 (причому десяткову частину дробу відділяємо комою); кількість меж, на які буде розбито відрізок інтегрування вводимо у трете поле, наприклад, 10000 (чім більше, тім точніше результат); натискаємо кнопку Розрахувати. Розрахована площа фігури між лініями графіків, та межами 0 і 0,5 з’являється у четвертому останньому полі і дорівнюватиме 0,4664 (рис.3).
Рис.3.
Список використаної літератури
Фаронов В.В. Pascal. Начальный курс. Учебное пособие, - М.: Номидж, 1997, - 616 с.
Руденко В.Д., Макарчук О.М., Патланжоглу М.О. Практичний курс інформатики /За ред. В.М.Мадзігона. - К: Фенікс, 1997.
Інформатика та комп'ютерна техніка: Навч.-метод. посібник / За заг. ред. О.Д.Шарапова. – К.: КНЕУ, 2002. – 534 с.
Я.М. Глинський. Інформатика: Навч. посібник для загальноосвітніх навчальних закладів. – Львів: «Деол», 2002. – 256 с.