люди помогите построить график 1/x !
т.e. как его построить чтоб он выглядел по человечески ?
постоение графика 1/x
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
C учетом того, что сам график уходит в бесконечность как вдоль оси Х так и по У при Х >> 0 необходимо выбирать небольшой диапазон вблизи точки Х=0. Если чертим на экране, на плоскости, к примеру - 640х480 точек соотношение минимального и максимального значений функций не должно быть больше 480:1. Т.е. при максимальном Х = 10, и при шаге = 0.1 это соотношение равно (1/0.1) / (1/10) = 100:1 - считаю необходимым выбрать диапазон [-10:10] и шаг 0.1
Для помощи в написании программы нужно указать среду разработки.
Для помощи в написании программы нужно указать среду разработки.
It's a long way to the top if you wanna rock'n'roll
ну а как написать ето на паскале 

Неоптимальный вариант:
Инициализацию графического режима здесь объяснять не буду
Код: Выделить всё
var x:real;
begin
x:=0.01;
while x<5 do
begin
line(round(100*x),round(100/x),round(100*(x+0,01)),round(100/(x+0,01)));
x:=x+0,01
end;
end.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Если Паскаль, то:" писал(а):Для помощи в написании программы нужно указать среду разработки.
Код: Выделить всё
uses Graph, Crt;
Const
MaxX = 10;
Step = 0.05;
XRes = 640;
YRes = 480;
var
Driver, mode: Integer;
X, KX, KY: Real;
Value : Integer;
FirstStep : boolean;
begin
Driver := Detect;
Mode := 2;
InitGraph(Driver, Mode, '');
MoveTo(0, YRes div 2);
LineTo(XRes, YRes div 2);
MoveTo(XRes div 2, 0);
LineTo(XRes div 2, YRes);
FirstStep := true;
KY := YRes/(1/Step)/2;
KX := XRes/MaxX*2;
x := -MaxX;
While x<=10 do
begin
If round(x/step) = 0 then FirstStep := true
else begin
Value := trunc(1/x * KY);
If FirstStep then
begin
FirstStep := false;
MoveTo(XRes div 2 + trunc(X*KX), YRes div 2 - Value);
end else LineTo(XRes div 2 + trunc(X*KX), YRes div 2 - Value);
end;
X := X + step;
end;
Readkey;
CloseGraph;
end.
It's a long way to the top if you wanna rock'n'roll