Построить графики функций - Turbo Pascal (29831)
Формулировка задачи:
Построить графики функций в паскале:
В декартовых координатах | В параметрической форме | В полярных координатах |
Решение задачи: «Построить графики функций»
textual
Листинг программы
- uses graph;
- function F(x:real):real;
- begin
- if abs(x)<=1 then F:=1-x*x
- else F:=x*x-1
- end;
- var a,b,mx,my,min,max:real;
- x,x1,x2:real;
- x0,y0,i:integer;
- s,s1:string;
- begin
- x0:=0;
- initgraph(x0,y0,'');{инициализация графического режима}
- a:=-2;
- b:=2;{интервал по Х}
- x0:=getmaxX div 2;{начало координат по Х}
- mx:=(x0-30)/b;{масштаб по Х}
- y0:=getmaxY-50;{начало координат по Y}
- my:=(y0-40)/F(b);
- line(0,y0,getmaxX,y0);{оси}
- line(x0,0,x0,getmaxY);
- for i:=1 to 6 do{максимальное количество засечек в одну сторону}
- begin
- line(x0-3,y0-round(i*my/2),x0+3,y0-round(i*my/2));{засечки на оси У}
- {подпись оси У}
- str(i/2:0:1,s);
- outtextXY(x0-35,y0-round(i*my/2),s);{соответственно засечкам}
- line(x0+round(i*mx/2),y0-3,x0+round(i*mx/2),y0+3); {засечки на оси Х}
- line(x0-round(i*mx/2),y0-3,x0-round(i*mx/2),y0+3);
- {подпись оси Х}
- outtextXY(x0+round(i*mx/2)+5,y0+10,s);
- outtextXY(x0-round(i*mx/2)+5,y0+10,'-'+s);
- end;
- {центр}
- outtextXY(x0-15,y0+10,'0');
- {подписи концов осей}
- outtextXY(getmaxX-10,y0-10,'X');
- outtextXY(x0+5,10, 'Y');
- {график}
- x:=a;
- setcolor(14);
- while x<=b do
- begin
- if x=a then moveto(x0+round(x*mx),y0-round(F(x)*my))
- else lineto(x0+round(x*mx),y0-round(F(x)*my));
- x:=x+0.01;
- end;
- {название}
- outtextXY(100,10,'x=[-1..1] y=1-x^2');
- outtextXY(100,30,'else y=x^2-1');
- outtextXY(100,50,'int.[-2;2]');
- readln
- end.
Объяснение кода листинга программы
- Используется библиотека graph для создания графика.
- Функция F принимает на вход число real и возвращает число real.
- Объявлены переменные a, b, mx, my, min, max: real; x, x1, x2: real; x0, y0, i: integer; s, s1: string;
- Инициализируется графический режим с помощью функции initgraph.
- Переменная x0 инициализируется значением 0.
- Переменная y0 инициализируется значением getmaxY - 50.
- Переменная min и переменная max инициализируются значениями -2 и 2 соответственно.
- Переменная mx инициализируется значением (x0 - 30)/b.
- Переменная my инициализируется значением (y0 - 40)/F(b).
- Строка, которая выводит оси графика.
- Строки, которые выводят подписи осей.
- Строки, которые выводят засечки на оси У.
- Строки, которые выводят засечки на оси Х.
- Строки, которые выводят центр графика.
- Строки, которые выводят подписи концов осей.
- Строки, которые выводят график функции.
- Строки, которые выводят название графика.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д