Не пойму в чём ошибка

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Витек
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 25.02.2007 (Вс) 17:55

Не пойму в чём ошибка

Сообщение Витек » 25.02.2007 (Вс) 18:12

Доброе время суток народ, знаю что малость не по теме НЕ РЕГУЙТИСЬ БЛАГИМ МАТОМ но всётаки прога не на VB а на Pascal рискну задать немало интересующий меня вопрос..:))
Вот написал прогу но непойму в чом же проблема, вот листинг:

Program Prog;
var
n:real;
i:integer;
x,h,y:real;
begin
Writeln('Введите массив n:');
readln(n);
h:=(3-2)/n;
for i:=1 to n do
begin
x:=2+i*h;
y:=(1/x)*(Ln(x)+Ln(2));
end;
Writeln('Интеграл = ',y);
readln;
end.

смысол в том что нам нужно вычислить численный интеграл методом трапеции, при n=1 и n=4

Кто знает помоги, плиzzzzz.....

Заранее благодарен !

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 26.02.2007 (Пн) 2:12

контрольная завтра? или просто дз?

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 26.02.2007 (Пн) 4:54

Витек
n:real;

Зачем?
n:integer; - попробуй так! тут real не нужен!
#define ROFL 0xDDDD

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 27.02.2007 (Вт) 10:38

Нафига столько переменных объявлять?

И потом, я не понимаю конечно ничего в интегралах, но мне кажется что цикл тут абсолютно ненужен, потому что в Y в конце исполнения окажется просто, результат последнего прохода.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 27.02.2007 (Вт) 11:23

надо было суммировать, а автор переписывает значение. вот и траблы отсюда.

З.Ы. вообще пример кода мягко говоря странен... причем тут массив n? Разве это массив, вроде должно быть число участков разбиения?

З.З.Ы. собственно формула трапеции:

S = h*[(F(x0)+F(xn))/2 + Sum(F(xi))]

где h - шаг разбиения
x0 - начало участка
x1 - конец участка
F - подинтегральная функция
n - число подучастков
Sum(F(xi)) - сумма значений подинтегральной функции для всех промежуточных значений xi.

h = (x1 - x0)/n
xi = x0 + h*i
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

    TopList  
cron