iteln ('-> Метод середніх прямокутників. ');
writeln ('Всього ітерацій: ', round (abs (x2-x1)/e));
i: = 0;
for c: = 1 to round (abs (x2-x1)/e) do begin
write ('Ітерація ', C, chr (13));
xx1: = Fx (x1 + c * e);
xx2: = Fx (x1 + c * e + e);
i: = i + abs (xx1 + xx2)/2 * e;
end;
writeln ('----------------------------------------- ------- ');
writeln ('Інтеграл =', i);
end;
procedure CountViaTrap;
var
xx1, xx2, xx3: real;
c: longint;
begin
writeln ('----------------------------------------------- - ');
writeln ('-> Метод трапецій. ');
writeln ('Всього ітерацій: ', round (abs (x2-x1)/e));
i: = 0;
for c: = 1 to round (abs (x2-x1)/e) do begin
write ('Ітерація ', C, chr (13));
xx1: = Fx (x1 + c * e);
xx2: = Fx (x1 + c * e + e);
if xx2> xx1 then xx3: = xx1 else xx3: = xx2;
i: = i + abs (xx2-xx1) * e + abs (xx3) * e;
end;
writeln ('----------------------------------------- ------- ');
writeln ('Інтеграл =', i);
end;
begin
writeln ('----------------------------------------------- - ');
writeln ('- = Програма обчислення визначеного інтеграла = - ');
writeln ('Введіть вихідні значення: ');
write ('Початкове значення x (x1) = '); Readln (x1);
write ('Кінцеве значення x (X2) = '); Readln (x2);
write ('Точність обчислення (E) = '); Readln (e);
CountViaBar;
CountViaTrap;
writeln ('----------------------------------------------- - ');
writeln ('Дякуємо за використання програми; ^) ');
end.
В
Вихідні дані. Результати розрахунків і аналіз.
Нижче наведено результат роботи написаної і скомпільованій:
-------------------------------------------- ----
- = Програма обчислення певного інтеграла = -
Введіть вихідні значення:
Початкове значення x (x1) = 0
Кінцеве значення x (x2) = 10
Точність обчислення (e) = 0.01
-------------------------------------------- ----
-> Метод середніх прямокутників.
Всього ітерацій: 1000
-------------------------------------------- ----