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

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

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

> Не правильно работает курсовая работа, не правильно считает значение
Kalipsoo
сообщение 18.12.2007 13:38
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

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


mega_chok.gif
Добрый всем день. Как любой студент в зачётную сессию сдаю курсовую работу, но вот беда... я её сделал и проверил на "эталонном примере" sin(x), в результате получил правильный ответ,чем был очень доволен. Но вот на защите преподаватель попростил найти интеграл от x с нижней границей интегрирования 1 и верхней 4, в реузьтате ответ шокировал, получилось 3.5 хотя должно быть 7.5. Помогите пожалуйста, ибо уже не знаю, что и где нужно поправить, чтобы получить точное значение.

Значит
Курсовая работа "Нахождение определённого интеграла методом Чебышева"
Program itsabeatifullife;
uses crt;
const n=5;
k=-0.832498; {polucheni iz tabl}
l=-0.374541;
z=0.0;
type aa=array[1..n] of real;
var x,y:aa;
f:text;
a,b,h,int:real;
{zapolnenie Xov v massive x[5]}
procedure vvod(var a,b:real; var c:aa);
var i:integer;
t:aa;
Begin
t[1]:=k;
t[2]:=l;
t[3]:=z;
t[4]:=l;
t[5]:=k;
For i:=1 to n-1 do
c[i]:=((b+a)/2+(b-a)/2*t[i]); {zapolnenia po etoi forule}
For i:=n-1 to n do
c[i]:=1 - c[n+1-i]; {a 4 and 5 po formule 1-x}
end;

{Zapolnenie Yov d massive y[5]}
procedure Raschet(var a,b:real; var x:aa; var y:aa; var int:real);
var i:integer; h:real;
Begin
int:=0;
for i:=1 to n do
y[i]:=sin(x[i]); {fucntion}
h:=(b-a)/n;
For i:=1 to n do
int:=int+y[i]*h;
end;

BEGIN
clrscr;
writeln('Kursovay rabota- Raschet integrala methodom Chebisheva ');
writeln('Nachalo ');
writeln('VVedite granichy integrorivania a,b');
readln(a,b);
vvod(a,b,x);
Raschet(a,b,x,y,int);
{Delaem zapis v file}
Assign(f, 'p1.txt');Rewrite(f);
writeln(f,int);
close(f);
writeln(int);
readkey;
end.


А мой преподователь просит найти интеграл от х( нижней границей интегрирования 1 и верхней 4), то есть если вспомнить математику получаем x*x/2. Затем подставляем границы, получается (4*4/2)-(1*1/2)=8-1/2=7.5 .
А по моей програме получается, что заменяя y[i]:=sin(x[i]) на y[i]:=x[i] и затем вводя a=1 b=4 получается значение 3.5 ((
Что делать с этим я не знаю....

Сообщение отредактировано: Kalipsoo - 18.12.2007 18:37
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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