построить график функции в паскале
Добавлено: 05 июл 2008, 15:54
нужно построить график функции y=ln(x)/x. у меня что то не выходит а понять где не могу
Код: Выделить всё
program graffunc;
uses Graph,dos,crt;
var
x1,x2,y1,y2,x,y:real;
dx,mx,my:real;
l,b,w,h,x0,y0:integer;
st:string;
grdriver:integer;
grmode:integer;
errcode:integer;
function f(x:real):real;
begin
f:=(ln(x))/x;
end;
begin
writeln('grafik fynction1');
grdriver:=vga;
grmode:=vgahi;
initgraph(grdriver,grmode,'e:\tp\bgi');
errcode:=graphresult;
if errcode<>grok then halt(1);
l:=40;
b:=400;
h:=200;
w:=200;
x1:=0;
x2:=25;
dx:=0.01;
y1:=f(x1);
y2:=f(x2);
x:=x1;
repeat
y:=f(x);
if y<y1 then y1:=y;
if y>y2 then y2:=y;
x:=x+dx;
until (x>=x2);
my:=h/abs(y2-y1);
mx:=w/abs(x2-x1);
x0:=l;
y0:=b-abs(round(y1*my));
line(l,b,l,b-h);
line(x0,y0,x0+w,y0);
str(y2:5:1,st);
outtextXY(l+5,b-h,st);
str(y1:5:1,st);
outtextXY(l+5,b,st);
x:=x1;
repeat
y:=f(x);
putpixel(x0+round(x*mx),y0-round(y*my),15);
x:=x+dx;
until (x>=x2);
readln;
closegraph;
end.