Задача 580 на Pascal
Написать программу, которая строит графики функций:
y=50*sin(0.09*x)
y=x2
y=10*x+5.
USES graph,crt;
VAR
x,y:integer;
{ Copyright Dos, 2003 } {********** выход из граф режима ************} PROCEDURE grafika_off;
BEGIN
closegraph;
END; {********** переход в граф режим ************} PROCEDURE grafika_on;
var
drv,mode:integer;
BEGIN
drv:=9; {VGA }
mode:=2; {VGAHi}
initgraph(drv,mode,'c:\bp\bgi');
END;
{********** построение графика **************} PROCEDURE put_grafik;
var
i,x1,y1,n,m:integer;
flag:boolean;
BEGIN
x1:=round(getmaxx/2); { точка пересечения } y1:=round(getmaxy/2); { осей координат } n:=-150; {начальная координата X} m:=150; {конечная координата X} setcolor(9); {цвет осей координат} line(0,y1,getmaxx,y1); line(x1,0,x1,getmaxy);
flag:=false;
setcolor(10); {цвет графика} for i:=n to m do
begin
x:=i;
y:=round(50*sin(0.09*x)); {любая формула для графика} if flag=false then moveto(x1+x,getmaxy-y1-y); flag:=true;
lineto(x1+x,getmaxy-y1-y);
delay(40); {задержка в цикле} end;
readln;
END;
{*********** основная программа *************} BEGIN
grafika_on;
put_grafik;
grafika_off; END. |
· переменная x,y - для построения графика;
· переменная x1,y1 - координаты точки пересечения осей координат;
· переменная n,m - для цикла.
Вся программа разбита на 3 части.
ЧАСТЬ I
Эта часть программы для перехода в графический режим.
ЧАСТЬ II
Процедура put_grafik - рисует график, который можно изменять: точку пересечения осей координат, цвет осей и графика, сам график.
ЧАСТЬ III
Выход из графического режима.
Графики y=x2 и y=10*x+5 или любой другой, можно с легкостью построить изменив нужным образом часть II.