|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.07.2008, 08:22 | #1 |
Пользователь
Регистрация: 01.07.2008
Сообщений: 11
|
Помогите с графиком PASCAL
|(100* x^2)-(400*y^2)|=2500
|
03.07.2008, 08:32 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
И что не получается? График нарисовать или выделить x,y?
I'm learning to live...
|
03.07.2008, 14:27 | #3 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Когда Вы преобразуете выражение и выразите у через х, то получите 4 графика, два из которых делятся на 2 ветки, т.е. Вам надо нарисовать 6 графиков. Имея формулы для них остается только выбрать точки начала и конца каждого графика, перевести реальные координаты в координаты экрана, подобрать масштабирование по осям и все. Что должно получиться, во вложении.
|
03.07.2008, 17:36 | #4 |
Пользователь
Регистрация: 01.07.2008
Сообщений: 11
|
он не выдаёт графика тоесть пустое окно
|
03.07.2008, 17:54 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
03.07.2008, 18:07 | #6 |
Пользователь
Регистрация: 01.07.2008
Сообщений: 11
|
program g;
Uses Graph,crt; const { OPTIONS } shag=0.001; lgr = -50; pgr = 150; zcrtX=320; zcrty=240; mtrX=1; mtrY=1; colorG=15; colorOXY=14; OXYminX=-200; OXYmaxX=200; OXYminY=-200; oxymaxY=200; Var k:byte; x,dx,x1,x2,y:real; mx,my,x0,y0,px,py:integer; graphdriver,graphmode:integer; s,path:string; procedure Grid(X1,Y1,X2,Y2:integer;k:real); var i:integer; Begin graphdriver:=detect; graphmode:=0; initgraph(graphdriver,graphmode,' '); if k>=8 then begin i:=X1+((X2-X1) div 2); repeat line(i,Y1,i,Y2); i:=i+round(k); until i>=X2; i:=X1+((X2-X1) div 2); repeat line(i,Y1,i,Y2); i:=i-round(k); until i<=X1; i:=Y1+((Y2-Y1) div 2); repeat line(X1,i,X2,i); i:=i+round(k); until i>=Y2; i:=Y1+((Y2-Y1) div 2); repeat line(X1,i,X2,i); i:=i-round(k); until i<=Y1; end; 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 y:=(sqrt(abs(-2500+(100)*(x*x)/400)) ); if abs(y) < MaxInt then putpixel(zcrtx+trunc(x*mtrX),zcrty-trunc(y*mtrY),colorg); x:=x+shag; end; end; begin readln; closegraph; end. |
03.07.2008, 18:54 | #7 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Поправил твой код, но рисует неизвестно что.
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с матрицей PASCAL | ANARHIST | Помощь студентам | 6 | 03.07.2008 18:12 |
Помогите с заданиями в PASCAL | LLIypLLIyH | Помощь студентам | 8 | 11.06.2008 11:51 |
проблема с графиком | Алёнка2 | Помощь студентам | 3 | 25.05.2008 09:44 |
Помогите с программой(Pascal) | And1mx | Помощь студентам | 3 | 05.04.2007 21:52 |