Построить график функции F(x,y)=x^3-27(x-y)^2=0 - Pascal ABC

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

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

Можете помочь переделать функцию на паскаль АВС... F(x,y)=x^3-27(x-y)^2=0 Построить график указанной функции.

Решение задачи: «Построить график функции F(x,y)=x^3-27(x-y)^2=0»

textual
Листинг программы
program EvgeniiSp;
uses GraphABC, Events;
 
//------- Solution ------//
 function Solution(x: real): real;
  begin
   result:=-(sqrt(power(x,3)/27)-x);  // åñëè Гµn - îòðГ*öèòåëåГ*, ГІГ® ГЎГ°Г*ГІГј abs(x);
  end;
 
//-------- Drawing_graph ------//
 procedure Drawing_graph(color: integer);
  const
   dx = 0.1; xn = 1; xk = 50;
  var
   ww,wh,xs,ys: integer;
   x,y,ymax,xmax: real;
 
 //------- Conversion_y ------//
  function LogicToScreen_y(y: real): real;
   begin
    result:=(wh div 2)*y/ymax;
   end;
 
 //------- Conversion_x ------//
  function LogicToScreen_x(x: real): real;
   begin
    result:=(ww div 2)*x/xmax;
   end;
 
  begin
   y:=0;
   SetPenWidth(1);
   ww:=WindowWidth;
   wh:=WindowHeight;
   SetPenColor(clGray);
   TextOut((ww div 2)-10,(wh div 2)+4,'0');
   moveTo(0,wh div 2);
   lineTo(ww,wh div 2);
   TextOut(ww-12,(wh div 2)+3,'X');
   moveTo(ww div 2,0);
   lineTo(ww div 2,wh);
   TextOut((ww div 2)+5,3,'Y');
//-------------------------
   x:=xn;
   ymax:=0;
   xmax:=0;
   while x <= xk do
    begin
     y:=Solution(x);
     if abs(y) > ymax then ymax:=abs(y);
     if abs(x) > xmax then xmax:=abs(x);
     x:=x+dx;
    end;
//-------------------------
   x:=xn;
   SetPenWidth(1);
   SetPenColor(color);
   while x <= xk do
    begin
     y:=Solution(x);
     ys:=Round(LogicToScreen_y(y));
     xs:=Round(LogicToScreen_x(x));
     if x = xn then moveTo((ww div 2)+xs,(wh div 2)-ys)
        else lineTo((ww div 2)+xs,(wh div 2)-ys);
     x:=x+dx;
    end;
   Redraw;
  end;
 
//-------- Resize ------//
 procedure Resize;
  begin
   ClearWindow;
   Drawing_graph(clRed);
   Redraw;
  end;
 
begin
 SetWindowCaption('ГѓГ°Г*ГґГЁГЄ ГґГіГ*êöèè.');
 SetWindowSize(700,500);
 LockDrawing;
 CenterWindow;
 Drawing_graph(clRed);
 OnResize:=Resize;
end.

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

7   голосов , оценка 3.429 из 5
Похожие ответы