побудувати графк функц: f(x)=(6(6(x-2)))/(x+8 )в паскал

Побудувати графк функц: f(x)=(6(6(x-2)))/(x+8 )в паскал

Задать свой вопрос
1 ответ
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017
// Внимание! Если программка не работает, обновите версию!

uses graphABC;

function f(x:real):=6*Power(6*sqr(x-2),1/3)/(x*x+8);

begin
  (var w,var h):=(1000,600);
  SetWindowSize(w,h);
  // поле для графика в окне
  (var xLeft,var yLeft):=(50,50);
  (var xRight,var yRight):=(w-xLeft,h-yLeft);
  // интервалы по осям
  (var ax,var bx,var hx):=(-12.0,12.0,1.0);
  (var ay,var by,var hy):=(0.0,3.0,0.5);
  // масштабы по осям
  var mx:=(xRight-xLeft)/(bx-ax);
  var my:=(yRight-yLeft)/(by-ay);
  // точка начала координат графика
  var x0:=xLeft+Trunc(абс(ax)*mx);
  var y0:=yRight-Trunc(абс(ay)*my);
  // рисование координатных осей
  Line(xLeft,y0,xRight+10,y0);
  Line(x0,yLeft-10,x0,yRight);
  SetFontSize(12); SetFontColor(clBlue);
  TextOut(xRight+15,y0-10,'X');
  TextOut(x0-4,yLeft-30,'Y');
  SetFontSize(8); SetFontColor(clGreen);
  // рисование засечек
  var s:string;
  for var i:=1 to Round((bx-ax)/hx)+1 do begin
    var num:=ax+(i-1)*hx;
    var x:=xLeft+Trunc(mx*(num-ax));
    Line(x,y0-3,x,y0+3);
    if abs(num)gt;1E-15 then TextOut(x-TextWidth(s) div 2,y0+10,num.ToString)
    end;
  for var i:=1 to Round((by-ay)/hy)+1 do begin
    var num:=ay+(i-1)*hy;
    var y:=yRight-Trunc(my*(num-ay));
    Line(x0-3,y,x0+3,y);
    if abs(num)gt;1E-15 then TextOut(x0+7,y-TextHeight(s) div 2,num.ToString)
    end;
    TextOut(x0-10,y0+10,'0');
  // фактически график
  var xi:=ax;
  while xilt;=bx do begin
    var yi:=f(xi);
    var x:=x0+Round(xi*mx);
    var y:=y0-Round(yi*my);
    if (ygt;=yLeft) and (ylt;=yRight) then SetPixel(x,y,clRed);
    xi+=1e-3
    end
end.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт