• Помогите с пскалем. Один из графиков на выбор до вечера, прошу. Заранее спасибо

    question img

Ответы 1

  • Вариант 9 ("выпрямленная синусоида"). Потому что там была "птичка" )))// PascalABC.NET 3.2, сборка 1383 от 09.02.2017uses graphABC;const  w=1000;  h=600;function f(x:real):=abs(sin(x));begin  SetWindowSize(w,h);  // поле для графика в окне  var xLeft:=50;  var yLeft:=50;  var xRight:=w-xLeft;  var yRight:=h-yLeft;  // интервалы по осям  var ax:=-12.0;  var bx:=12.0;  var hx:=1.0;  var ay:=-0.25; // минимум f(x) с запасом  var by:=1.5;  var hy:=0.25;  // масштабы по осям  var mx:=(xRight-xLeft)/(bx-ax);  var my:=(yRight-yLeft)/(by-ay);  // точка начала координат графика  var x0:=xLeft+Trunc(abs(ax)*mx);  var y0:=yRight-Trunc(abs(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);    Str(num,s);    if abs(num)>1E-15 then TextOut(x-TextWidth(s) div 2,y0+10,s)    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);    Str(num,s);    if abs(num)>1E-15 then TextOut(x0+7,y-TextHeight(s) div 2,s)    end;    TextOut(x0-10,y0+10,'0');  // собственно график  var xi:=ax;  while xi<=bx do begin    var yi:=f(xi);    var x:=x0+Round(xi*mx);    var y:=y0-Round(yi*my);    if (y>=yLeft) and (y<=yRight) then SetPixel(x,y,clRed);    xi+=1e-3    endend.
    answer img
    • Автор:

      nemog8ik
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years