Программа для построения графиков функций.
uses graph;
var gd,gm:integer;
function f(x:real):real; {задание функции}
begin
f:=x*x; {здесь может быть любая функция}
end;
procedure drawgrafik(a,b:real); {a,b – начальное и конечное значения x}
var x,dx,max,min,koef:real;
k,x0,y0:integer; {x0,y0 – положение осей координат}
begin
dx:=(b-a)/639; {определили шаг изменения х (640 точек на графике, а интервалов 639)}
x:=a; max:=f(a); min:=f(a);
for k:=1 to 640 do {определяем область значений f(x)}
begin
if f(x)>max then max:=f(x);
if f(x)<min then min:=f(x);
x:=x+dx;
end;
koef:=479/(max-min); {коэффициент по оси х}
x:=a;
moveto(0,round(479-koef*(f(a)-min))); {начальное значение указателя}
for k:=1 to 639 do {строим график}
begin
x:=x+dx;
lineto(k,round(479-koef*(f(x)-min)));
end;
x0:=round(639*a/(a-b));
line(x0,0,x0,479); {ось y}
y0:=round(479-479*(min/(min-max)));
line(0,y0,639,y0); {ось х}
end;
begin
gd:=detect; initgraph(gd,gm,'');
drawgrafik(-4,4);
readln;closegraph
end.