ПОЖАЛУЙСТА!!! Безотлагательно Надобно СДЕЛАТЬ ПРОГРАММУ!!!Выстроить в паскале график функции

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

Задать свой вопрос
1 ответ

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(абс(a) * mx) + xLeft;

 y0 := yRight - trunc(абс(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 абс(num) gt; 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) gt; 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 lt;= b do

 begin

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

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

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

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

   if (y gt;= yLeft) and (y lt;= yRight) then SetPixel(x, y, clGreen);

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

 end

end.

Арсений Голосев
так трудно...
Толик
чем богаты :)
Maksimka
зато благовидное окошко выходит
Гена Набережный
если комменты выбросить будет буков гораздо меньше
Эмилия Мехед
а поординарнее никак?
Denchik
без координатной плоскости и тд. а просто кривую
Юрок Семяцкий
давай так:
Ярослава Скиданенко
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.
Глядеева Алёна
вот щас вообще отлично! СПАСИБО!!!
, оставишь ответ?
Имя:*
E-Mail:


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

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

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

Войти на сайт