• ПОЖАЛУЙСТА!!! СРОЧНО НАДО СДЕЛАТЬ ПРОГРАММУ!!!
    Построить в паскале график функции y=x²-6x+9
    Использовать GraphABC

Ответы 6

  • а попроще никак?
    • Автор:

      shaunc3or
    • 5 лет назад
    • 0
  • без координатной плоскости и тд. а просто кривую
    • Автор:

      piggy8zhy
    • 5 лет назад
    • 0
  • давай так:
    • Автор:

      ashlyn
    • 5 лет назад
    • 0
  • program Grafik;uses GraphABC;var x0, y0, x1, y1, k: integer;x, y: real;beginSetWindowSize(640,400);x0:=320; y0:=200; k:=20;line(20,y0, 620,y0);line(x0,20, x0,380);setPenColor(clRed);x:=-15;While x<=15 dobeginy:=x*x-6*x+9;x1:=trunc(x0+x*k);y1:=trunc(y0-y*k);circle(x1,y1,2);x:=x+0.02end;end.
    • Автор:

      izzylu0i
    • 5 лет назад
    • 0
  • вот щас вообще отлично! СПАСИБО!!!
    • Автор:

      irvin
    • 5 лет назад
    • 0
  • uses

     graphABC; //Подключаем графический модуль

    const

     W = 800; H = 500;//Размеры графического окна

    function F(x: real): real;

    begin

     F :=x*x-6*x+9; //Функция

    end;

    var

     x0, y0, x, y, xLeft, yLeft, xRight, yRight, n: integer;

     a, b, fmin, fmax, x1, y1, mx, my, dx, dy, num: real;

     i: byte;

     s: string;

    begin

     SetWindowSize(W, H); //Устанавливаем размеры графического окна

     //Координаты левой верхней границы системы координат:

     xLeft := 50;

     yLeft := 50;

     //Координаты правой нижней границы системы координат:

     xRight := W - 50;

     yRight := H - 50;

     //интервал по Х; a и b должно нацело делится на dx:

     a := -2; b := 6; dx := 0.5;

     //Интервал по Y; fmin и fmax должно нацело делится на dy:

     fmin := -10; fmax := 20; dy := 2;

     //Устанавливаем масштаб:

     mx := (xRight - xLeft) / (b - a); //масштаб по Х

     my := (yRight - yLeft) / (fmax - fmin); //масштаб по Y

     //начало координат:

     x0 := trunc(abs(a) * mx) + xLeft;

     y0 := yRight - trunc(abs(fmin) * my);

     //Рисуем оси координат:

     line(xLeft, y0, xRight + 10, y0); //ось ОХ

     line(x0, yLeft - 10, x0, yRight); //ось ОY

     SetFontSize(12); //Размер шрифта

     SetFontColor(clBlue); //Цвет шрифта

     TextOut(xRight + 20, y0 - 15, 'X'); //Подписываем ось OX

     TextOut(x0 - 10, yLeft - 30, 'Y'); //Подписываем ось OY

     SetFontSize(8); //Размер шрифта

     SetFontColor(clRed); //Цвет шрифта

     { Засечки по оси OX: }

     n := round((b - a) / dx) + 1; //количество засечек по ОХ

     for i := 1 to n do

     begin

       num := a + (i - 1) * dx; //Координата на оси ОХ

       x := xLeft + trunc(mx * (num - a)); //Координата num в окне

       Line(x, y0 - 3, x, y0 + 3); //рисуем засечки на оси OX

       str(Num:0:1, s);

       if abs(num) > 1E-15 then //Исключаем 0 на оси OX

         TextOut(x - TextWidth(s) div 2, y0 + 10, s)

     end;

     { Засечки на оси OY: }

     n := round((fmax - fmin) / dy) + 1; //количество засечек по ОY

     for i := 1 to n do

     begin

       num := fMin + (i - 1) * dy; //Координата на оси ОY

       y := yRight - trunc(my * (num - fmin));

       Line(x0 - 3, y, x0 + 3, y); //рисуем засечки на оси Oy

       str(num:0:0, s);

       if abs(num) > 1E-15 then //Исключаем 0 на оси OY

         TextOut(x0 + 7, y - TextHeight(s) div 2, s)

     end;

     TextOut(x0 - 10, y0 + 10, '0'); //Нулевая точка

     { График функции строим по точкам: }

     x1 := a; //Начальное значение аргумента

     while x1 <= b do

     begin

       y1 := F(x1); //Вычисляем значение функции

       x := x0 + round(x1 * mx); //Координата Х в графическом окне

       y := y0 - round(y1 * my); //Координата Y в графическом окне

       //Если y попадает в границы [yLeft; yRight], то ставим точку:

       if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clGreen);

       x1 := x1 + 0.001 //Увеличиваем абсциссу

     end

    end.

  • Добавить свой ответ

Войти через Google

или

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

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

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