Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2011, 23:40   #1
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
Вопрос Исправить ошибки в программе по теме Интегралы

1. Составить программу, подсчитывающую с точностью значение определенного интеграла по формуле. Для достижения заданной точности использовать метод двойного пересчета. Результат сравнить со значением интеграла, подсчитанным с помощью первообразной F(x) по формуле Ньютона-Лейбница: .
Метод должен быть запрограммирован с помощью процедуры. Отрезок интегрирования, точность вычисления вводятся с клавиатуры, подынтегральная функция описывается с помощью функции пользователя.
Распечатать: отрезок интегрирования, точность вычисления, приближенное значение определенного интеграла, значение интеграла, подсчитанное по формуле Ньютона-Лейбница.

Метод: центральных прямоугольников:

1) \int_{0}^{1}{}2^{3^{x}}dx, e=10^{-3}, F(x)=\frac{1}{3ln2}(2^{3x}-1)
Если непонятно задание по этим формулам то посмотрите вложение, т.к. я не умею здесь выставлять картинки.

Исправьте ошибки в программе и напишите функцию, если я что-то написал не в том порядке то исправьте. Спасибо...

function I(fn:TIntFunc;a,b,e:real):real;
var
s0,s,w,xi:real;
j,n:integer;
begin
n:=1000;
if a>b then begin s:=a; a:=b; b:=s; end;
repeat
s0:=s;
s:=0; w:=(b-a)/n;
for j:=0 to n-1 do begin
xi:=a+(2*j+1)*(b-a)/2/n;
s:=s+w*fn(xi);
end;
inc(n,10);
until (n>12) and (abs(s-s0)<=e);

I:=s;

end;

var
a,b,e:real;

begin

{Zadacha 1}

write('Input A B E (separated by space):');
readln(a,b,e);
writeln('I=',I(f1,a,b,e):15:5);
writeln('Checking:');
writeln('I=',FF1(b)-FF1(a):15:5);
writeln;

writeln('I=',I(f2a,0,3,1E-3):15:5);
writeln('I=',I(f2b,3,4,1E-2):15:5);

end.
Вложения
Тип файла: doc задание по интегралам.doc (20.5 Кб, 6 просмотров)
Anton94.by вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить ошибки в программе по теме " Интегралы" Anton94.by Помощь студентам 0 04.12.2011 15:35
Исправить ошибки в программе по теме " Интегралы" Anton94.by Помощь студентам 0 02.12.2011 16:50
Ошибки в программе, как исправить? zoomok Помощь студентам 2 22.06.2011 12:12
исправить ошибки в программе на Delphi Андрюха из ПХТТ Помощь студентам 1 04.11.2009 14:13
Помогите Исправить Ошибки в Программе Maxim_Burea Помощь студентам 5 26.09.2009 22:54