profile
Опубликовано 5 лет назад по предмету Информатика от Kukujuli

ДАЮ 50 баллов!!! Написать программу на языке pascal для графика y=2x в квадрате

  1. Ответ
    Ответ дан archery
    //PascalABC.NET версия 3.3.1590 от 03.12.2017
    //Если программа не запускается, то обновите версию

    uses GraphABC;
    const
        x_min = -15.0;
        x_max = 15.0;
        dx = 0.01;

    function f(x: real): real;
    begin
        f := 2*x;
    end;

    begin
        //настраиваем размер окна под график, влияет на маштаб
        Window.Width := 1000;
        Window.Height := 300;
        
        Window.IsFixedSize := True; // фиксируем размеры окна
        Coordinate.Origin := Window.Center; //выставляем начало координат в центр окна
        Coordinate.SetMathematic; //выставляем направление осей как в математике принято
        var scale := Window.Width / (x_max - x_min); // вычисляем маштаб
        
        var x := x_min;
        var y_max := f(x_max); // подставляем реальные значения
        var y_min := f(x_min); // подставляем реальные значения
        
        repeat
            try
                var y := f(x);
                if y > y_max then y_max := y;
                if y < y_min then y_min := y;
            finally
                x := x + dx;
            end;
        until x > x_max;
        
        //  оси координат, стрелочки сами если надо
        Pen.Color := clSilver;
        Line(round((x_min - 1) * scale), 0, round((x_max + 1) * scale), 0);
        Line(0, round((y_min - 1) * scale), 0, round((y_max + 1) * scale));
        Circle(0, round(1 * scale), 1); //единичная метка
        Circle(round(1 * scale), 0, 1); //единичная метка
        
        x := x_min;
        repeat
            try
                var y := f(x);
                PutPixel(round(x * scale), round(y * scale), clBlueViolet);
            finally
                x := x + dx;
            end;
        until x > x_max;
    end.
Самые новые вопросы