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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2013, 23:18   #1
Flur
 
Регистрация: 02.12.2008
Сообщений: 8
По умолчанию задача по методам прямоугольника и трапеции

Никак не могу понять почему не совпадают ответы при решении по методу треугольника и трапеции. подскажите пожалуйста где ошибка.
Код:
program integrirov;
uses crt,GRAPH;
const
a=1;
b=4;
var
dr,md:integer;
hs,hsp,hspp:real;
n:integer;
integral:real;
pramoyg:real;
trap:real;
sch,snch:real;
x:real;
i:integer;
x0,y0,mx,my,px,py,px2,py2,pysr,pxsr:integer;
y,y2,ysr,dx,m,ap,bp:real;
s:string;
          function Fx(g:real):real;
          begin
          Fx:=((ln(x)*ln(x))/x);
          end;
begin
clrscr;
dr:=detect;
writeln('Metod pramoygolnikov');
writeln('Vvedite chislo razbienii');
readln(n);
Hsp:=(b-a)/n;
hspp:=a+Hsp/2;
x:=a;
for i:=1 to n-1 do begin
x:=hspp+i*hsp;
pramoyg:=pramoyg+Fx(x)*hsp;
end;
writeln('Chislennoe znachenie po metody pramoygolnikov=',pramoyg);
writeln('Chislennoe znachenie po metody trapessi=');
writeln('Chislo rozbienii=',n);
Hs:=(b-a)/n;
sch:=0;
for i:=1 to n-1 do
sch:=sch+fx(a+hs*i);
trap:=hs*((fx(a)+fx(b))/2+s);
writeln('Chislennoe znachenie po metody Trapesii=',trap);
writeln('Nacmite enter');
readln;
initGraph(dr,md,'');
mx:=100; {masshtab po X}
my:=100; {masshtab po Y}
x0:=10;
y0:=getmaxY-2;
line(x0,0,x0,y0+2);
line(0,y0,getmaxX-1,y0);
for i:=1 to 10 do begin
line(x0+i*mx,y0-3,x0+i*mx,y0+3); {zasechki po osi OX}
str(i,s);
outtextXY(x0+i*mx,y0+10,s);
line(x0-3,y0-(i*my),x0+3,y0-(i*my)); {zasechki po osi OY}
str(i,s);
outtextXY(x0+10,y0-i*my,s);
end;
{grafic}
x:=a;
dx:=0.001;
while x<=b do begin
x:=x+dx;
px:=x0+round(x*mx);
y:=Fx(x);
py:=y0-round(y*my);
putpixel(px,py,10);
end;
{razbienie na pramoygolniki}
x:=a;
while x<=b do begin
px:=x0+round(x*mx);
y:=Fx(x+hsp/2);
py:=y0-round(y*my);
if x<b then begin
px2:=x0+round((x+hsp)*mx);
pxsr:=x0+round((x+hsp/2)*mx);
ysr:=Fx(x+hsp/2);
y2:=Fx(x+hsp);
pysr:=y0-round(ysr*my);
py2:=y0-round(y2*my);
end;
if (x=a) or (y=b) then
line(px,y0,px,py) else line(px,y0,px,pysr);
line(px,pysr,px2,pysr);
x:=x+hsp;
end;

{closeGraph;}
readln;
end.


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

Последний раз редактировалось Serge_Bliznykov; 13.02.2013 в 10:06.
Flur вне форума Ответить с цитированием
Старый 13.02.2013, 20:03   #2
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Ответы по идеи должны совпадать с некоторой погрешностью. Возьмите линейную функцию a*x+b, ответы по идеи должны быть близки. Еще можно проверить, уменьшая шаг (например, в 10 раз), если ответы начинают совпадать значит - хорошо.
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 13.02.2013, 21:26   #3
Flur
 
Регистрация: 02.12.2008
Сообщений: 8
По умолчанию

СПАСИБО всем кто думал над задачей!!! сегодня сдал зачет.
Flur вне форума Ответить с цитированием
Старый 13.02.2013, 22:06   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я не думал. У меня с математикой отношения натянутые.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача по численным методам Kalina) Фриланс 4 15.11.2012 13:57
задача про координаты прямоугольника tata7393 Помощь студентам 5 29.10.2012 11:53
задача про трапеции Lady_Makbet Помощь студентам 0 10.07.2012 12:43
Программа, которая находит площадь трапеции, квадрата и прямоугольника по введённым длинам сторон (на Delphi) orange_wot Помощь студентам 3 10.04.2012 16:42
Задача о разрезании прямоугольника Ильнар70 Помощь студентам 3 25.10.2010 17:42