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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2011, 00:55   #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)

Внизу вложен конец задания если непонятно по формулам.

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

Код:
program NV;
uses crt;
type TIntFunc=function ( x:real):real;
function F(fn: TIntFunc; a, b, e:real):real;
var
s0, s, i, w, xi:real;
j, n:integer;
const eps=0.001;
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
function f1(x:real):real;
far;
begin
f1:=exp(3*x*ln(2));
end;
function f2(x:real):real;
far;
begin
f2:=((1/3*ln*2*(exp(3*x-1)));
end;
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=',f2(b)-f2(a):15:5);
writeln
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.
Вложения
Тип файла: doc задание по интегралам.doc (20.5 Кб, 9 просмотров)

Последний раз редактировалось Serge_Bliznykov; 14.12.2011 в 08:46.
Anton94.by вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на паскале NewArtist Помощь студентам 0 15.06.2011 19:19
Задача на Паскале Веселина Помощь студентам 1 19.05.2011 22:25
задача на паскале REY-GAN Помощь студентам 7 15.09.2010 09:17
Задача на паскале Bariy47 Фриланс 12 25.08.2009 13:05