Вывести на экран точечный график функции - Turbo Pascal
Формулировка задачи:
Написать программу, которая выводит на экран точечный график функции у =ctg7 x. Диапазон изменения аргумента — от -3 до 6, шаг аргумента — 0,1. График вывести на фоне координатных осей, точка пересечения которых должна находиться в центре экрана
Решение задачи: «Вывести на экран точечный график функции»
textual
Листинг программы
uses graph;
function F(x:real):real;
begin
F:=cos(x)/sin(x);
end;
var xn,xk,max,mx,my,dx,y1:real;
x:real;
x0,y0,i:integer;
s:string;
begin
x0:=0;
initgraph(x0,y0,'');
xn:=-3;xk:=6;{интервал по Х}
x0:=getmaxX div 3;
mx:=(x0-30)/-xn;{масштаб по Х}
y0:=getmaxY div 2;
my:=(y0-50)/10;{по У}
line(0,y0,getmaxX,y0);{оси}
line(x0,0,X0,getmaxY);
for i:=1 to 10 do{максимальное количество засечек в одну сторону}
begin
str(i,s);
if i mod 2=0 then
begin
line(x0-3,y0-round(i*my),x0+3,y0-round(i*my));{засечки на оси У}
line(x0-3,y0+round(i*my),x0+3,y0+round(i*my));
outtextXY(x0-35,y0-round(i*my),s);{подписи соответственно засечкам}
outtextXY(x0-35,y0+round(i*my),'-'+s);
end;
line(x0+round(i*mx),y0-3,x0+round(i*mx),Y0+3); {засечки на оси Х}
line(x0-round(i*mx),y0-3,x0-round(i*mx),Y0+3);
outtextXY(x0+round(i*mx),y0+10,s);
outtextXY(x0-round(i*mx),y0+10,'-'+s);
end;
{центр}
outtextXY(x0+5,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-10,y0-10,'X');
outtextXY(x0+5,10, 'Y');
{график}
x:=xn;
dx:=0.1;
setcolor(10);
setfillstyle(1,10);
while x<=xk do
begin
if abs(sin(x))>0.01 then
fillellipse(x0+round(x*mx),y0-round(F(x)*my),1,1);
x:=x+dx;
end;
{название}
outtextXY(x0+50,0,'Grafik functii y=ctgx');
outtextXY(x0+50,20,'na intervale [-3;6]');
readln
end.
Объяснение кода листинга программы
- Используется библиотека graph для создания точечного графика функции.
- Функция F(x) представляет собой косинус от x, деленный на синус x.
- Переменные xn, xk, max, mx, my, dx, y1 используются для настройки параметров графика.
- Переменные x0, y0, i, s используются для установки начальных значений x, y, номера засечек и подписи осей.
- Цикл while используется для построения графика функции от x = -3 до x = 6 с шагом dx.
- Если abs(sin(x)) больше 0.01, то строится эллипс на графике.
- Название графика выводится на экран с помощью функции outtextXY.
- Дополнительная информация выводится с помощью функции outtextXY.
- График функции y = ctgx будет построен на интервале [-3;6].