![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Задание, посчитать интеграл, а потом построить график, по отдельности пашет, а вместе нет, у меня даже предположений нет почему, для графиков использовал шаблон Олег_З'а.
Исходный код uses crt,graph; const { OPTIONS } shag=0.0001; lgr = 3; pgr = 10; zcrtX=320; zcrty=240; mtrX=10; mtrY=10; colorG=15; colorOXY=4; OXYminX=-200; OXYmaxX=200; OXYminY=-200; oxymaxY=200; Var grDriver : Integer; grMode : Integer; x,y,dx,x1,x2,e,i : extended; L : integer; f : Text; function Fx(x:real):real; begin Fx:=(exp(3*ln(x))+2*x+3)/(x+sqrt(x)); {Zdes' podintegralnoe virajenie.} end; procedure CountViaBar; var xx1,xx2:real; c:longint; begin writeln('------------------------------------------------'); writeln('-->Metod srednih pramougolnikov.'); writeln('Vsego iteracii : ',round(abs(x2-x1)/e)); i:=0; for c:=1 to round(abs(x2-x1)/e) do begin write('iteraciaя ',c,chr(13)); xx1:=Fx(x1+c*e); xx2:=Fx(x1+c*e+e); i:=i+abs(xx1+xx2)/2*e; end; writeln('------------------------------------------------'); writeln('Integral=',i:3:6); end; procedure CountViaTrap; var xx1,xx2,xx3:real; c:longint; begin writeln('------------------------------------------------'); writeln('-->Metod trapecii.'); writeln('Vsego iteracii:',round(abs(x2-x1)/e)); i:=0; for c:=1 to round(abs(x2-x1)/e) do begin write('Iteraciaя ',c,chr(13)); xx1:=Fx(x1+c*e); xx2:=Fx(x1+c*e+e); if xx2>xx1 then xx3:=xx1 else xx3:=xx2; i:=i+abs(xx2-xx1)*e+abs(xx3)*e; end; writeln('------------------------------------------------'); writeln('Integral=',i:3:5); end; begin clrscr; writeln('------------------------------------------------'); writeln('-=Programma vi4islenia opredelennogo integrala=-'); writeln('Vvedite ishodnie zna4eniyaя:'); write('Na4alnoe zna4enie x (x1)=');Readln(x1); write('Konexnoe zna4enie x (x2)=');Readln(x2); write('To4nost vi4isleniyaя (e)=');Readln(e); CountViaBar; CountViaTrap; writeln('------------------------------------------------'); writeln('Najmite lubuy klavishu ...'); repeat until keypressed; grDriver:=Detect; InitGraph(grDriver, grMode, ''); for L:=OXYminX to OXYmaxX do putpixel(zcrtX+L,zcrty,colorOXY); for L:=OXYminY to OXYmaxY do putpixel(zcrtX,zcrty-L,colorOXY); x:=lgr; assign(f,'OutFile'); {*} rewrite(f); while x<=pgr do begin y:=(x*x*x+2*x+3)/(x+sqrt(x)); putpixel(zcrtx+trunc(x*mtrX),zcrty-trunc(y*mtrY),colorg); x:=x+shag; writeln(f,'x=',x:1:2,' y=',y:1:2); end; close(f); readkey; closegraph; END. заранее спасибо. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата(klem4 @ 29.04.05 7:23) Задание, посчитать интеграл, а потом построить график, по отдельности пашет, а вместе нет, у меня даже предположений нет почему В чем именно заключается неправильная работа программы? Хммм... Попробую догадаться: ты не видишь график, правда? Причина: writeln('Najmite lubuy klavishu ...'); ... и естественно, ждать следующей клавиши никто не собирается... ![]() Есть 2 выхода: 1. writeln('Najmite lubuy klavishu ...'); 2. writeln('Najmite klavishu <ENTER>...'); |
klem4 |
![]()
Сообщение
#3
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Спасибо.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:26 |