uses graphabc;
type fun = function (x: real): real;
function f(x: real): real; begin f: =0.5*x*cos(2*x); end;
// l (logical) - логические координаты// s (screen) - координатыprocedure drawgraph(x1,x2,y1,y2: real; f: fun); var xl,xl0,wl,yl,yl0,hl: real; xs0,ws,ys0,hs: integer; function ltosx(xl: real): integer; begin result: =round(ws/wl*(xl-xl0)+xs0); end; function ltosy(yl: real): integer; begin result: =round(hs/hl*(yl-yl0)+ys0); end; function stolx(xs: integer): real; begin result: =wl/ws*(xs-xs0)+xl0; end; var xi: integer; begin // drawgraph xs0: =0; ys0: =windowheight; ws: =windowwidth; hs: =windowheight; xl0: =x1; yl0: =y1; wl: =x2-x1; hl: =-(y2-y1); moveto(xs0,ltosy(f(stolx(; for xi: =xs0+1 to xs0+ws do lineto(xi,ltosy(f(stolx(; end;
begin // program setwindowcaption('график функции'); drawgraph(-12,12,-23,23,f); end.
Популярные вопросы