Предмет: Информатика, автор: mandarinkamarakyia

Здравствуйте, нужно написать программу в паскале.
9 уравнение.

Приложения:

Ответы

Автор ответа: qennu
1

Ответ:

var x:real;

begin

 readln(x);

 writeln(Abs(x/(x**2-1)));

end.


mandarinkamarakyia: ну программу 9 уравнения с условиями сверху
mandarinkamarakyia: вывод таблицы, и построение графика
qennu: а, тогда нет, это лишь только уравнение, без таблицы без графика
mandarinkamarakyia: а вы можете проверить, так или не так написана программа?
mandarinkamarakyia: uses
graphABC; //Подключаем графический модуль

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

function F(x: real): real;
begin
F := (abs(x/((x*x)-1))) ; //Функция
end;

var
x0, y0, x, y, xLeft, yLeft, xRight, yRight, n, p,i: integer;
a, b, fmin, fmax, x1, y1, mx, my, dx, dy, num, pp: real;
j: byte;
s: string;
mandarinkamarakyia: begin
read(a,b,n);
pp:=(b-a)/n;
for i:=0 to n do
writeln(a+i*pp,' ',f(a+i*pp));
SetWindowSize(W, H); //Устанавливаем размеры графического окна
//Координаты левой верхней границы системы координат:
xLeft := 50;
yLeft := 50;
//Координаты правой нижней границы системы координат:
xRight := W - 50;
yRight := H - 50;
//интервал по Х; a и b должно нацело делится на dx:
dx := 0.5;
//Интервал по Y; fmin и fmax должно нацело делится на dy:
fmin := -2; fmax := 2; dy := 0.2;
//Устанавливаем масштаб:
mandarinkamarakyia: 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
mandarinkamarakyia: SetFontSize(8); //Размер шрифта
SetFontColor(clRed); //Цвет шрифта
{ Засечки по оси OX: }
p := round((b - a) / dx) + 1; //количество засечек по ОХ
for j := 1 to p do
begin
num := a + (j - 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;
mandarinkamarakyia: { Засечки на оси OY: }
p := round((fmax - fmin) / dy) + 1; //количество засечек по ОY
for j := 1 to p do
begin
num := fMin + (j - 1) * dy; //Координата на оси ОY
y := yRight - trunc(my * (num - fmin));
Line(x0 - 3, y, x0 + 3, y); //рисуем засечки на оси Oy
str(num:0:1, s);
if abs(num) > 1E-15 then //Исключаем 0 на оси OY
TextOut(x0 + 7, y - TextHeight(s) div 2, s)
end;
mandarinkamarakyia: 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.
Похожие вопросы
Предмет: Математика, автор: сашакупер