Задание: Вычислить таблицу значений и построить график функций 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 -