Пример программы, строящей функцию lg(x)
uses GraphABC;
type FUN = function (x: real): real;
function f(x: real): real;
begin
f:=x*sin(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(xs0))));
for xi:=xs0+1 to xs0+ws do
LineTo(xi,LtoSy(f(StoLx(xi))));
end;
begin // program
SetWindowCaption('График функции');
drawGraph(0,4*6.28,-23,23,f);
end.
Заключение
Изучена графическая часть среды программирования Pascal, освоены методы рисования фигур, графические примитивы, изучены свойства кистей, перьев и шрифтов. Освоена методика построения графиков различных функций: степенных, тригонометрических, логарифмических, изучена литература.
Литература
- В.В. Махно, С.С. Михалкович, М.В. Пучкин «Основы программирования
графики»
- Д.М. Ушакова, Т.А. Юркова «Паскаль для школьников»
- А.В. Копытин, Д.И. Соломатин, А.И. Другалев «Основы программирования в системе Pascal ABC »