IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Вычисление определенного интеграла, В который раз...
Murlika
сообщение 25.12.2005 13:30
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Женский
Реальное имя: Katia

Репутация: -  0  +


Ребят, помогите, пожалуйста, исправить программу.


f1(x)=x*exp(1/3*ln(1+x))

fi=exp(-x);
ksi=sqrt(x*x+1)/(x*x+3)

a1=9; b1=9

С использованием ЭВМ получить таблицу значений функции,вычисленных с точностью Е в точках t(i)=c+ih, где I=0..m, h=(d-c)/m, f2(t,x)= (t/1+x)+sx) (x).
В качестве результата на печать необходимо вывести значение I, число шагов N квадратурной формулы, последовательность значений t(i) и F(t(i)).

Формула трапеций

Цитата
program pr6;
uses crt;
{$f+}
const
a1=1; b1=9; e=0.00001;
s=0.01; a2=0.5; b2=1.5; c=2; d=3; m=10; e1=0.0001;
type func=function (t,x:real):real;
var
n,j,k,i:integer;
x1,x2,t,r:real;

function f1(t,x:real):real;
begin
f1:=x*exp(1/3*ln(1+x));
end;

function fi(x:real):real;
begin
fi:=exp(-x);
end;
function ksi (x:real):real;
begin
ksi:=sqrt(x*x+1)/(x*x+3);
end;

function f2 (t,x:real):real;
begin
f2:=fi(t/(1+x)+s*x)*ksi(x);
end;

procedure int (a,b,e:real; f:func; t:real;var sum:real; var sum1:real);
begin
repeat
k:=k+1;
n:=n*2;
sum1:=sum;
sum:=0;
for j:=1 to n do
begin
x1:=a+((b-a)/n)*(j-1);
x2:=a+((b-a)/n)*j;
sum:=sum+((f(t,x1)+f(t,x2))/2)*(b-a)/n;
end;
until abs(sum-sum1)<e;
end;

var s1,s2:real;
begin
clrscr;
n:=1;
k:=0;
s1:=((f1(t,b1)+f1(t,a1))/2)*(b1-a1);
int (a1,b1,e,f1,1,s1,s2);
writeln('I=',s2:2:6,' chislo shagov-',k,' proverka ',s2-s1:1:6);
writeln;

for i:=0 to m do
begin
t:=c+i*((d-c)/m);
s1:=((f2(t,b2)+f2(t,a2))/2)*(b2-a2);
n:=1;
k:=0;
int (a2,b2,e1, f2, t,s1,s2);
writeln('i=',i,' t(i)=',t:2:6,' F(t(i))=',s1:2:6,' chislo shagov-',k);
end;
readkey;
end.



Почему выделенная часть нерациональна????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:34
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"