Ответы на вопрос:
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.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
АнгелінаL24.09.2020 18:44
-
Лейла004405.12.2020 17:56
-
Аделя666109.12.2021 22:33
-
карыч1911.04.2023 08:26
-
Znv25060515.05.2022 23:18
-
semenovdima7523.08.2020 11:37
-
Tustik77723.07.2022 03:29
-
Den91027.04.2023 23:34
-
danilf99918.12.2021 16:59
-
olyaevdokimova24.03.2023 12:16
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.