Написать программу построения графика функции. Вывод графика осуществлять в созданном на экране окне , в другом окне выполнить вывод уравнения функции с конкретными значениями параметров. Выполнить смену 3-х экранов с различными значениями параметров. Цепная линия:
Добавлено через 4 мин. там наверное плохо видно формулу:
Lapp
17.05.2007 10:47
Глянь здесь: Построение любого графика Я не совсем понял про окна: это на одном экране? Если так, то можно использовать SetViewPort.
AlexSt
20.05.2007 22:37
Написать программу построения графика функции. Вывод графика осуществлять в созданном на экране окне , в другом окне выполнить вывод уравнения функции с конкретными значениями параметров. Выполнить смену 3-х экранов с различными значениями параметров. Цепная линия:
Гость
22.05.2007 15:08
ну может поможите?
Ozzя
22.05.2007 15:22
В ФАК'е Альтаир выкладывал код для построения графика любой ф-ции. Ищи.
volvo
22.05.2007 15:23
Ну а в чем проблема? Это у тебя обычный график, не параметрический...
Тему "Построение любого графика" видел? Подставляешь туда свою функцию, и она чертит тебе график... Если надо 3 штуки - в цикле...
Lapp
22.05.2007 17:05
!
ALexSt, дублировать темы - твое хобби? Оно не приветствуется тут..
AlexSt
26.05.2007 0:40
как записать эту формулу на паскале?
Tan
26.05.2007 0:49
y := A * (Exp(x/2) - Exp(-x/2)) / 2; Это гиперболический синус ?
AlexSt
26.05.2007 0:53
Спасибо, а вот про ГИПЕРсинус не имею никакого понятия, в задании ф-ция значится как цепная линия
AlexSt
26.05.2007 15:30
я подставил в задачку Альтаира по построению любой функции свою, получилась какая-то ерунда. Вот оно:
program grafshit;
Uses Graph,crt;
const shag=0.0001;
lgr = -50;
pgr = 50;
zcrtX=320;
zcrty=240;
mtrX=10;
mtrY=10;
colorG=15;
colorOXY=4;
OXYminX=-200;
OXYmaxX=200;
OXYminY=-200;
oxymaxY=200;
Var grDriver : Integer;
grMode : Integer;
x,y,a:real;{extended;}
i:integer;
function f(a,x:real):real;
begin y:=a*(exp(x/2)+exp(-x/2))/2end;
Begin
grDriver:=Detect;
InitGraph(grDriver, grMode, 'c:\bp\bgi\');
for i:=OXYminX to OXYmaxX do putpixel(zcrtX+i,zcrty,colorOXY); {}for i:=OXYminY to OXYmaxY do putpixel(zcrtX,zcrty-i,colorOXY); {}
x:=lgr; {}while x<=pgr do{}begin
readln(x);
readln(a);
f(a,x);;
if x<>2thenbegin y:=abs(x/(x-2))-1; {}
y:=f(a,x);
writeln(y:1:8); {}
putpixel(zcrtx+trunc(x*mtrX),zcrty-trunc(y*mtrY),colorg) end; {}
x:=x+shag;
end;
readkey;
closegraph;
end.
И, ещё может подскажите что такое A в формуле, как сделать три окна! на одном экране(lapp писал что через SetViewPort - но как?)&( я даже не пойму что именно должно в них быть), зачем делать смену экранов? Пожалуйста напишите в пустые фигурные скобки в проге что там происходит!
Ozzя
26.05.2007 17:06
Что-то рисует
program grafshit;
Uses Graph,crt;
const shag=0.0001;
lgr = -50;
pgr = 50;
zcrtX=320;
zcrty=240;
mtrX=10;
mtrY=10;
colorG=15;
colorOXY=4;
OXYminX=-200;
OXYmaxX=200;
OXYminY=-200;
oxymaxY=200;
Var grDriver : Integer;
grMode : Integer;
x,y,a:real;{extended;}
i:integer;
function f(a,x:real):real;
begin
y:=a*(exp(x/2)+exp(-x/2))/2;
f:=y;
end;
Begin
grDriver:=Detect;
InitGraph(grDriver, grMode, 'c:\bp\bgi\');
for i:=OXYminX to OXYmaxX do putpixel(zcrtX+i,zcrty,colorOXY); {}for i:=OXYminY to OXYmaxY do putpixel(zcrtX,zcrty-i,colorOXY); {}
x:=-5; {}{readln(x);}
readln(a);
while x<=5do{}begin{f(a,x);;}if x<>2thenbegin{y:=abs(x/(x-2))-1; {}
y:=f(a,x);
{writeln(y:1:8); {}
putpixel(zcrtx+trunc(x*mtrX),zcrty-trunc(y*mtrY),colorg) end; {}
x:=x+shag;
end;
readkey;
closegraph;
end.
AlexSt
27.05.2007 0:47
а то ли "рисует"? я не думаю что тут 3 "окна"!
volvo
27.05.2007 0:53
Про цикл никогда не слышал?
Что, большая проблема зациклить приведенный код, и изменять A внутри этого цикла? Все равно, НИКТО не сможет решить эту задачу именно так, как это нужно тебе... Потому что ВСЕГДА ты будешь недоволен: тут пиксель не в том месте зажегся, тут шрифт не тот, здесь окно должно быть не сверху, а снизу, ну и т.д.
AlexSt
27.05.2007 1:27
Ну, извините. Зачёт послезавтра, а мне нужно точное решение. Volvo, ты думаешь "3 окна" в условии это 3 варианта изменения параметра(я не знаю что имеется ввиду под тремя окнами).
Ozzя
29.05.2007 13:42
Цитата(AlexSt @ 26.05.2007 22:27)
Ну, извините. Зачёт послезавтра, а мне нужно точное решение. Volvo, ты думаешь "3 окна" в условии это 3 варианта изменения параметра(я не знаю что имеется ввиду под тремя окнами).
Графические окна - SetViewPort. Тебе же Lapp сказал уже.
Гость
4.06.2007 18:55
подскажите плииз! как в паскале степени и корни изображауться??