2 Dark что не работает.
Надо чтоб эта программа не тока считала но и рисовала график но с этим проблем меньше...........есть програама которая рисует один график:
Код
program gluk;
uses crt,graph;
var
grdr,grmod,i,y0,dy1,dy,dx1,dx:integer;
const ny=300;nx=400;
type func= function(x:real):real;
var a,b,hx, n,x,y,yg,scaly,ym,max,min:real;
stma,stmi:string;
const xmax=640;ymax=480;pi=3.14;t1=10;t2=2;t=3;
{$F+}
function f(x:real):real;
begin
f:=-x;
end;
{$F-}
procedure maxmin(var max,min:real;var y0:integer; a,b,hx:real;f:func);
begin
x:=a; min:=f(a); max:=min;
repeat
x:=x+hx;
y:=f(x);
if y>max then max:=y
else
begin
if y<min then min:=y;
end;
until x>b;
writeln('max=',max);
writeln('min=',min);
if (max>0) and (min<0) then
begin
yg:=max+abs(min);
scaly:=ny/yg;
y0:=dy+round(scaly*max);
end
else
begin
if(max>0) and (min>=0) then
begin
yg:=max;
y0:=ny+dy;
end
else
begin
yg:=abs(min);
y0:=dy;
end
end;
writeln('scaly=',scaly); scaly:=ny/yg;
end;
begin
a:=0; b:=20; hx:=(b-a)/nx;
dy:=round((ymax-ny)/2);
dx:=round((xmax-nx)/2);
dx1:=round(dx/2);
dy1:=round(dy/2);
maxmin(max,min, y0,a,b,hx,f);
grdr:=detect;
initgraph(grdr,grmod,'');
setcolor(129);
line(dx1,y0,xmax-dx1,y0);
line(dx,ymax-dy1,dx,dy1);
setcolor(5);
line(xmax-dx,y0+5,xmax-dx,y0-5);
line(dx+5,y0-round(max*scaly),dx-5,y0-round(max*scaly));
line(dx-5,y0-round(min*scaly),dx+5,y0-round(min*scaly));
line(xmax-dx1,y0,xmax-dx1-5,y0-5);
line(xmax-dx1,y0,xmax-dx1-5,y0+5);
line(dx,dy1,dx+5,dy1+5);
line(dx,dy1,dx-5,dy1+5);
str(max,stma);
str(min,stmi);
delete(stma,5,7);
delete(stmi,5,7);
OutTextXY (100,46 ,'y');
outtextxy (dx1+15,y0-10,'(0.0)');
outtextxy (dx-100,y0-round(max*scaly)-10,stma);
outtextxy (dx-100,y0-round(min*scaly)-10,stmi);
outtextxy (xmax-dx+55,y0+5,'x');
delay(2000);
for i:=0 to nx do
putpixel(dx+i,y0-round(scaly*f(a+i*hx)),2);
readln;
closegraph;
end.
но незнаю как сделать чтоб оба рисовала и считала точку пересечения........кто может помогите перделать
если что функции f1:=-x; f2:=sqr(x+4); при -4<=x<=0