uses graphabc;
function f(x: real): real;
begin
f := sin(x)
end;
var x, y: integer;
begin
SetWindowSize(640, 480);
// оси
line(0, 240, 640, 240);
line(320, 0, 320, 480);
// стрелка и подпись оси x
line(640, 240, 635, 235);
line(640, 240, 635, 245);
textout(635, 250, 'x');
// засечки на оси x
for x := 1 to 15 do
line(x * 40, 238, x * 40, 242);
// стрелка и подпись оси y
line(320, 0, 315, 5);
line(320, 0, 325, 5);
textout(330, 5, 'y');
// засечки на оси y
for y := 1 to 11 do
line(318, y * 40, 322, y * 40);
// график: y_экр = 240 - 40*f((x_экр - 320)/40)
moveto(0, trunc(-40 * f((0 - 320) / 40) + 240));
for x := 1 to 640 do
lineto(x, trunc(-40 * f((x - 320) / 40) + 240));
end.