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

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

Найти область определения функции D(f), ее нули, экстремумы и множества значений W(f). Построить график функции, нарисовав и разметив оси координат. (В паскале). y=1/(1+x^2)

Код к задаче: «Построить график функции - Pascal (80634)»

textual
uses graphABC;
function f(x:real):real;
begin
f:=1/(1+x*x);
end;
const
x1=-5;//начало и конец графика в реальных значениях
x2=5;
var mx,my,x,dx:real;
    x0,y0,i:integer;
begin
x0:=Window.Width div 2;//начало координат в центре экрана
y0:=Window.Height-50;
mx:=(x0-20)/x2;//масштаб по Х
my:=y0-20;//масштаб по Y
line(0,y0,2*x0,y0); //оси
line(x0,0,x0,y0);
for i:=1 to 10 do //максимальное количество засечек в одну сторону
 begin
  line(x0-3,y0-round(i*my/10),x0+3,y0-round(i*my/10));//засечки на оси У
  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);
  //подпись оси У
  textout(x0-25,y0-round(i*my/10),floattostr(i/10));//оответственно засечкам
  //подпись оси Х}
  textout(x0+round(i*mx),y0+10,inttostr(i));
  textout(x0-round(i*mx),y0+10,inttostr(-i));
 end;
//центр
textout(x0+5,y0+10,'0');
//подписи концов осей
textout(2*x0-20,y0-20,'X');
textout(x0+5,10, 'Y');
dx:=0.1;
//график
Pen.Color:=clBlue;
x:=x1;
while x<=x2 do
 begin
  if x=x1 then moveto(x0+round(x*mx),y0-round(f(x)*my))
  else lineto(x0+round(x*mx),y0-round(f(x)*my));
  x:=x+dx; //наращиваем х
 end;
Font.Color:=clBlue;
Font.Size:=12;
textout(20,20,'ОДЗ вся числовая ось');
textout(20,50,'Нулей функции нет');
textout(20,80,'Максимум в точке х=0 y=1');
textout(20,110,'Множество значений (0..1]');
end.

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

14   голосов, оценка 4.286 из 5


СОХРАНИТЬ ССЫЛКУ