График функции - Pascal ABC (16841)

Формулировка задачи:

1 . Очистить экран монитора и при необходимости установить желаемый цвет фона. 2 . Выбрать размещение системы координат в соответствии с левым и правым интервалом и в соответствии с минимальным и максимальным значением функции , которые могут быть достигнуты на этом интервале .(Левый интервал 0,правый интервал 2П) 3 . Построить горизонтальную и вертикальную координатные оси. 4 . Подписать названия координатных осей . 5 . Построить на координатных осях масштабные метки . 6 . Подписать числовые значения масштабных меток . 7 . Построить координатную сеть. 8 . Построить непосредственно сам график функции . Функция 10sin(x)sin(5x)

Код к задаче: «График функции - Pascal ABC (16841)»

textual
uses graphABC;
function F(x:real):real;
begin
F:=10*sin(x)*sin(5*x);
end;
var xn,xk,x,mx,my,dx,max:real;
    x0,y0,i:integer;
    s:string;
begin
x0:=50;//начало координат
y0:=windowheight div 2;
xn:=0;xk:=2*pi;//интервал по Х
x:=xn;
mx:=(windowwidth-2*x0)/xk;{масштаб по Х}
my:=(y0-20)/10;//max;{по У}
line(0,y0,windowwidth,y0);{оси}
line(x0,0,x0,windowheight);
for i:=1 to 10 do{максимальное количество засечек в одну сторону}
  begin
    line(x0+round(i*pi*mx/2),y0-3,x0+round(i*pi*mx/2),y0+3); {засечки на оси Х}
    line(x0+3,y0-round(i*my),x0-3,y0-round(i*my)); {засечки на оси Y}
    line(x0+3,y0+round(i*my),x0-3,y0+round(i*my));
    {подпись оси Х}
    textout(x0+round(mx*pi/2)-15,y0+10,'pi/2');
    textout(x0+round(pi*mx),y0+10,'pi');
    textout(x0+round(3*pi*mx/2),y0+10,'3pi/2');
    textout(x0+round(2*pi*mx),y0+10,'2pi');
    {подписи по оси Y}
    str(i,s);
    textout(x0-25,y0-round(i*my),s);
    textout(x0-30,y0+round(i*my),'-'+s);
  end;
{центр}
textout(x0+5,y0+10,'0');
{подписи концов осей}
textout(windowwidth-15,y0-15,'X');
textout(x0+10,10, 'Y');
{графики}
x:=xn;
dx:=0.001;
while x<=xk do
 begin
  x:=x+dx; {наращиваем х}
  setpixel(x0+round(x*mx),y0-round(F(x)*my),clBlue);
 end;
setfontsize(12);
setfontcolor(clBlue);
textout(x0+200,10,'y=10*sin(x)*sin(5*x)');
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

12   голосов, оценка 4.583 из 5


СДЕЛАЙТЕ РЕПОСТ