![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
TP7.0 |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Здраствуйте! Помогите пожалуйсто, кто может подредактировать програму, она написана, но не запускается=(
Задание: Вычислить таблицу значений и построить график функций Y(x) на интервале 0<=x<=pi c шагом h=0,15 y=exp(-x/2)/(1-0,5sin3x) программа: Код Program Graphic; Uses crt, graph; const n=40; const P=3.1415926; var a,d,b,x,y,k:real; c,r,f:integer; sx,sy,sz:string; begin ClrScr; write ('Vvedite x, y, shag : '); initGraph(c,r,'c:\tp8\BGI'); setcolor(2); x:=a; f:=20; While b>=x do begin y:=Exp(-x/2)/(1-0.5*sin(3*x)); str(x:0:5,sx); str(y:0:5,sx); outtextxy(0,f,'X='+sx+' Y='+sy); f:=f+10; x:=x+d; end; setcolor(white); line(0,240,640,240); line(640,240,625,237); line(640,240,625,243); line(320,0,320,480); line(320,0,317,15); line(320,0,323,15); outtextxy(310,4,'Y'); outtextxy(631,220,'X'); outtextxy(325,243,'0'); settextstyle(2,0,2); x:=320; k:=0.2; while x<640-n*0.3 do begin x:=x+n*0.2; line(round(x),235,round(x),245); str(k:2:1,sz); outtextxy(round(x), 245,sz); k:=k+0.2; end; x:=a; x:=320; k:=-0.2; while x>n*0.3 do begin x:=x-n*0.2; line(round(x),235,round(x),245); str(k:2:1,sz); outtextxy(round(x)-5,245,sz); k:=k-0.2; end, y:=240; k:=0.2; while y>n*0.3 do begin y:=y-n*0.2; line(325,round(y),315,round(y)); str(k:2:1,sz); outtextxy(330,round(y),sz); k:=k+0.2; end; y:=240; k:=-0.2; while y<480-n*0.3 do begin y:=y+n*0.2; line(325,round(y),315,round(y)); str(k:2:1,sz); outtextxy(325,round(y),sz); k:=k-0.2; end; settextstyle(2,0,6); setcolor(4); outtextxy(340,100,'y:=Exp((-(x)/2)/(1-0.5*sin(3*x)'); outtextxy(450,135,'0<=x<=P); x:=a; y:=Exp(-x/2)/(1-0.5*sin(3*x)); moveto(322+round(x*1.1*n),240+round(y*1.1*n)); while b>=x do begin y:=Exp(-x/2)/(1-0.5*sin(3*x)); lineto(322+round(x*n),240+round(y*1.1*n)); x:=x+d; delay(1000); end; readkey; closegraph; end. Заранее пасибо=) Добавлено через 12 мин. Решение подобного задания Вычислить y=exp(1/3*ln(x+4)/exp(x), (где x в степени е) напечатать таблицу значений и построить график функции на интервале -4,4<=X<=4 c шагом ΔX=0,4 Программа: Код program grafik; uses crt,graph; var x,y,xn,xk,h:real; GD,GM,X0,Y0,dX,dY,ch:integer; s1,s2:string; Begin write(' Введите xn,xk,h: '); read(xn,xk,h); DetectGraph(GD,GM); InitGraph(GD,GM,'\bgi'); SetColor(15); SetBkColor(3); { Вывод таблицы значений } OutTextXY(10,10,' X Y'); x:=xn; dy:=20; while x<xk+0.01 do begin if x<-4.01 then y:=-exp(1/3*ln(abs(x+4)))/exp(x) else if x>-3.99 then y:=exp(ln(x+4)*1/3)/exp(x) else y:=0; str(x:4:1,s1); str(y:7:3,s2); OutTextXY(10,dy,s1); OutTextXY(50,dy,s2); dy:=dy+10; x:=x+h end; readkey; { Координатная плоскость } OutTextXY(350,100,'y=exp(ln(x+4)*1/3)/exp(x)'); outtextxy(350,120,'-4.4<=x<=4.0,h=0.4 '); settextstyle(2,0,2); X0:=GetMaxX div 2; Y0:=GetMaxY div 2; Line(0,Y0,GetMaxX,Y0); Line(X0,0,X0,GetMaxY); dx:=6;ch:=1; while x0+dx<getmaxX-10 do begin Line(x0+dx,Y0-1,x0+dx,Y0+1); Line(x0-dx,y0-1,x0-dx,y0+1); str(ch,s1);str(-ch,s2); OuttextXY(x0+dx-2,y0+5,s1); OuttextXY(x0-dx-6,y0+5,s2); ch:=ch+2; dX:=dX+12 end; dy:=6;ch:=1; while y0+dy<getmaxy-10 do begin Line(x0-1,y0+dy,x0+1,y0+dy); Line(x0-1,y0-dy,x0+1,y0-dy); str(ch:2,s1);str(-ch:3,s2); OuttextXY(x0-13,y0+dy-3,s2); OuttextXY(x0-10,y0-dy-3,s1); ch:=ch+2; dy:=dy+12 end; Line(X0,0,X0-3,5); Line(X0,0,X0+3,5); Line(GetMaxX,Y0,GetMaxX-5,Y0+3); Line(GetMaxX,Y0,GetMaxX-5,Y0-3); OutTextXY(GetMaxX-5,Y0+5,'X'); OutTextXY(X0-10,5,'Y'); { График } SetColor(6); x:=xn; moveto(x0+round(xn*6),y0-round(-exp(1/3*ln(abs(xn+4)))/exp(xn)*6)); while x<=xk do begin if x<-4.0 then y:=-exp(1/3*ln(abs(x+4)))/exp(x) else if x>-4.0 then y:=exp(ln(x+4)*1/3)/exp(x) else y:=0; lineto(X0+round(x*6),Y0-round(y*6)); x:=x+0.001;delay(50) end; readkey; CloseGraph End. Сообщение отредактировано: TP7.0 - 16.12.2007 0:48 Эскизы прикрепленных изображений ![]() |
![]() ![]() |
Гость |
![]()
Сообщение
#2
|
Гость ![]() |
А он пишет вот в этой строчке ошибка, что тут неправильно?
Код Program Graphic; Uses crt, graph; const n=40; const P=3.1415926; var a,d,b,x,y,k:real; c,r,f:integer; sx,sy,sz:string; begin ClrScr; write ('Vvedite x, y, shag : '); initGraph(c,r,'c:\tp8\BGI'); setcolor(2); x:=a; f:=20; While b>=x do begin y:=Exp(-x/2)*(1-0.5*sin(3*x)); str(x:0:5,sx); str(y:0:5,sx); outtextxy(0,f,'X='+sx+' Y='+sy); f:=f+10; x:=x+d; end; setcolor(white); line(0,240,640,240); line(640,240,625,237); line(640,240,625,243); line(320,0,320,480); line(320,0,317,15); line(320,0,323,15); outtextxy(310,4,'Y'); outtextxy(631,220,'X'); outtextxy(325,243,'0'); settextstyle(2,0,2); x:=320; k:=0.2; while x<640-n*0.3 do begin x:=x+n*0.2; line(round(x),235,round(x),245); str(k:2:1,sz); outtextxy(round(x), 245,sz); k:=k+0.2; end; x:=a; x:=320; k:=-0.2; while x>n*0.3 do begin x:=x-n*0.2; line(round(x),235,round(x),245); str(k:2:1,sz); [size=6] outtextxy(round(x)-5.245,sz); [/size] k:=k-0.2; end, y:=240; k:=0.2; while y>n*0.3 do begin y:=y-n*0.2; line(325,round(y),315,round(y)); str(k:2:1,sz); outtextxy(330,round(y),sz); k:=k+0.2; end; y:=240; k:=-0.2; while y<480-n*0.3 do begin y:=y+n*0.2; line(325,round(y),315,round(y)); str(k:2:1,sz); outtextxy(325,round(y),sz); k:=k-0.2; end; settextstyle(2,0,6); setcolor(4); outtextxy(340,100,'y:=Exp((-(x)/2)*(1-0.5*sin(3*x)'); outtextxy(450,135,'0<=x<=P); x:=a; y:=Exp((-(x)/2)*(1-0.5*sin(3*x)); moveto(322+round(x*1.1*n),240+round(y*1.1*n)); while b>=x do begin y:=Exp((-(x)/2)*(1-0.5*sin(3*x)); lineto(322+round(x*n),240+round(y*1.1*n)); x:=x+d; delay(1000); end; readkey; closegraph; end. |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 16:00 |