Построить график функции - Turbo Pascal (29367)

Узнай цену своей работы

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

Построить график функции

Решение задачи: «Построить график функции»

textual
Листинг программы
uses graph;
function F(x:real):real;
var z,as:real;
begin
if x<=-3.5 then F:=4.95+cos(3*x)-sin(x)
else if x>1 then F:=4.95+x+4
else
 begin
  z:=(x+3.5)/5;
  if z=-1 then as:=-pi/2
  else if z=1 then as:=pi/2
  else as:=arctan(z/(1-z*z));
  F:=4.95+as;
 end;
end;
 
var a,b,mx,my,max:real;
    x:real;
    x0,y0,n,i:integer;
    s:string;
begin
x0:=0;
initgraph(x0,y0,'');{инициализация графического режима}
a:=-5;
b:=5;{интервал по Х}
x0:=getmaxX div 2;{начало координат по Х}
mx:=(x0-30)/b;{масштаб по Х}
y0:=getmaxY div 2;
max:=abs(F(a));
x:=a;
while x<=b do
 begin
  if abs(F(x))>max then max:=abs(F(x));
  x:=x+0.1;
 end;
writeln('max=',max:0:2);
my:=(y0-30)/max;
line(0,y0,getmaxX,y0);{оси}
line(x0,0,x0,getmaxY);
if max>b then n:=trunc(max)+1 else n:=trunc(b);
for i:=1 to n do{максимальное количество засечек в одну сторону}
 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));
  {подпись оси У}
  str(i,s);
  if i mod 2=0 then
   begin
    outtextXY(x0-25,y0-round(i*my),s);{соответственно засечкам}
    outtextXY(x0-30,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)+5,y0+10,s);
  outtextXY(x0-round(i*mx)+5,y0+10,'-'+s);
 end;
{центр}
outtextXY(x0+5,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-10,y0-10,'X');
outtextXY(x0+5,10, 'Y');
{график}
x:=a;
while x<=b do
 begin
  if abs(cos(x))>0.01 then putpixel(x0+round(x*mx),y0-round(F(x)*my),14);
  x:=x+0.0001;
 end;
{ассимптоты}
setcolor(10);
setlinestyle(1,0,1);
line(x0+round(-3.5*mx),0,x0+round(-3.5*mx),getmaxY);
line(x0+round(mx),0,x0+round(mx),getmaxY);
readln
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5