IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> !HELP! 2 графика по данным из файлов !HELP!, мозг кипит...помогите
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +



program gjhg;
uses graph;
const n=100;
h=10;
g=9.8;
m=4;
l=15;
v=10;
p=1000;
c=2;
k=3;
var driver,mode,i,,j:integer;
var tm,fi0,fi1,w1,w0,t,dt:real;
f,e:text;
begin
dt:=0.00001;
tm:=20;
fi0:=pi/6;
w0:=0;
assign(f,'dta');
rewrite(f);
assign(e,'atd');
rewrite(e);
while t<tm do
begin
if sin(fi0)<=(h/l) then
begin
w1:=w0+(dt/sqr(l)/m)*(-c*fi0-m*g*sin(fi0)*l);
fi1:=fi0+w0*dt;
fi0:=fi1;
w0:=w1;
t:=t+dt;
end
else begin
w1:=w0+(dt/m/sqr(l))*(-c*fi0-m*g*sin(fi0)*l-k*w0*sqr(l));
fi1:=fi0+w0*dt;
fi0:=fi1;
w0:=w1;
t:=t+dt;
end;
j:=j+1;
if j mod 1000=0 then
begin
writeln(e,t,fi1);
writeln(f,t,w1);
j:=0;
end;
end;
close(f);
close(e);
end.


далее нужно строить график, помогите разобраться...если можно то прям щас smile.gif blush.gif

Сообщение отредактировано: Zopaa -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

Репутация: -  4  +


График с файла
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


я это видела, но что-то у меня не получается...он мне ошибку выдавал ошибочно арифметическое действие для ввода...в месте где я говорила с читать из файла.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


А ты выложи весь код уже с графикой,а то каким образом люди могут помоч найти тебе ошибку,если ты ее не показываеш.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


я творила творила, и закрыла не сохроняя..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


 
program gjhg;
uses graph;
const n=100;
xgmin=100;
xgmax=480;
ygmin=200;
ygmax=300;
h=10;
g=9.8;
m=4;
l=15;
v=10;
p=1000;
c=2;
k=3;
var driver,mode,i,xg,yg,xl,yl,j:integer;
a,b,ymin,ymax:real;
x,y:array[1..n] of real;
s:string;
var tm,fi0,fi1,w1,w0,t,dt:real;
f,e:text;
begin
dt:=0.00001;
tm:=20;
fi0:=pi/6;
w0:=0;
assign(f,'dta');
rewrite(f);
assign(e,'atd');
rewrite(e);
while t<tm do
begin
if cos(fi0)<=(h/l) then
begin
w1:=w0+(dt/sqr(l)/m)*(-c*fi0-m*g*sin(fi0)*l);
fi1:=fi0+w0*dt;
fi0:=fi1;
w0:=w1;
t:=t+dt;
end
else begin
w1:=w0+(dt/m/sqr(l))*(-c*fi0-m*g*sin(fi0)*l-k*w0*sqr(l));
fi1:=fi0+w0*dt;
fi0:=fi1;
w0:=w1;
t:=t+dt;
end;
j:=j+1;
if j mod 100000=0 then
begin
writeln(e,t,' ',fi1);
writeln(f,t,' ',w1);
j:=0;
end;
end;
close(f);
close(e);
end.



program gjhg;
uses graph;
const n=30;
xgmin=100;
xgmax=480;
ygmin=200;
ygmax=300;
var driver,mode,i,xg,yg,xl,yl,q:integer;
a,b,ymin,ymax:real;
x,y,z,u:array[1..n] of real;
s:string;
w1,t:real;
f,e:text;
begin
a:=0;
b:=20;
driver:=detect;
Initgraph(driver,mode, 'D:\work');
ClearDevice;
assign(f,'dta');
reset(f);
for i:=1 to n do
readln(f,x[i],y[i]);
{for i:=1 to n do writeln(x[i],y[i]); }
assign(e,'atd');
reset(e);
for i:=1 to n do
readln(e,z[i],u[i]);
{for i:=1 to n do writeln(z[i],u[i]); }
ymax:=y[1];
for i:=2 to n do
if y[i]>ymax then
begin
ymax:=y[i];
end;
ymin:=y[1];
for i:=2 to n do
if y[i]<ymin then
begin
ymin:=y[i];
end;
rectangle(xgmin,ygmin,xgmax,ygmax);
q:=0;
i:=30;
while q<1 do
begin
if frac((xgmax-xgmin)/i)=0 then
q:=i else i:=i+1;
end;
xl:=xgmin;
while xl<xgmax do begin
Line(xl,ygmin,xl,ygmax);
xl:=xl+q;
str(xl,s);
OutTextXY(xl-40,ygmin+110,s);
end;
q:=0;
i:=30;
while q<1 do
begin
if frac((ygmax-ygmin)/i)=0 then
q:=i else i:=i+1;
end;
yl:=ygmin;
while yl<ygmax do
begin
Line(xgmin,yl,xgmax,yl);
yl:=yl+q;
str(yl,s);
OutTextXY(xgmin-25,yl-6,s);
end;
xg:=round(xgmin+(x[1]-a)/(b-a)*(xgmax-xgmin));
yg:=round(ygmax-(y[1]-ymin)/(ymax-ymin)*(ygmax-ygmin));
Moveto (xg,yg);
for i:=2 to n do
begin
xg:=round(xgmin+(x[i]-a)/(b-a)*(xgmax-xgmin));
yg:=round(ygmax-(y[i]-ymin)/(ymax-ymin)*(ygmax-ygmin));
Lineto (xg,yg);
end;
OutTextXY(ygmin-100,xgmin+80,'fi');
OutTextXY(ygmax+190,xgmax-180,'t');
readln;
closegraph;
end.


вот две программы рисуется график, на нем же надо построить график по данным из второго файла, а внизу подписать значения...как это зделать..у меня нервов больше не хватает, помогите кто чем может..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


ну кто-нибудь...ну не получается у меня...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Ну ты хоть напиши,что имено не работает,не запускается,выводин неправильно или что?плюс ты хотяб нашипи,что у тебя в файле то написано,или помогающим тебе угадать надо?

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


ну в программе видно, в файл f записывается t и w1(в данном случае это у меня время и скорость ), а в файл e записывается t и fi1(время и угол) .
все работает, но пока написано только для построения одного графика по данным файла f.
теперь нужно построить на том же графике, ну или на другом, по данным файла e.+ надо внизу и сбоку подписать значения...вот...у меня уже мозг перестал думать после всего что надумала, а сдавать в понедельник..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Дорогая Zopaa (кхм..), очень тебе не повезло с ником((. Кто тебе такой присоветовал? Плюнь ему в лицо - скажи, я просил. Очень он тебе вредит. Я много раз порывался тебе ответить, но как подумаю, с чем буду разговаривать - сразу желание пропадает. И, думаю, не один я так. Но вот, пересилил, вроде. Если в середине ответа вырвет - не обессудь, все усилия прилагаю, чтоб сдержаться..

Давай с начала.
Прога, которая делает файлы, gjhg (тебе специально хочется, чтоб другие время тратили на хотя бы чтение таких названий??), вылетает у тебя по Range Check. Включи себе в опциях эту проверку и никогда не выключай, иначе годы потратишь, чтоб понять, почему у тебя вдруг программа не работает.
Вылет в строке:
                j:=j+1;

, и это естественно. Либо сделай j типа LongInt, либо (лучше) убери вообще j и сравнивай непосредственно t.

Дальше - зачем тебе в ней юнит Graph? Выброси, лишний.
Все, больше не могу... извини... может, попозже... кто не спрятался - я не виноват!!


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Уважаемая Zopaa, объясни еще раз - чего ты хочешь?
Извини, конечно, что прошу тебя тратить время не по прямому назначению, но не могла ли бы ты сказать поточнее, что тебе нужно? Вот твоя продукция (не решаюсь тут назвать нужным словом):

Прикрепленное изображение

Что в нем не так? Все, вроде, подписано..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


В нем все так,но как я понял ей надо график на графике или график под графиком,только я не понимаю,если у нее строится для первого графика,почему не строится для втрого.А вообще чуть чуть не так(максимальные значения не выводятся а сразу пишуться названия осей),но это лиш как я понимаю,сам автор критериев вообще не дал.

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


во-первых я не могу сооброзить как построить второй график, другим цветом на том который сейчас(чтобы была вторая линия), во-вторых подписи под графиком(всмысле цифры) какие-то левые, я так думаю что мне надо те значения по которым строится...вобще мне надо как-то так сделать чтобы было красиво...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Вообще главная задача программы,чтобы работала,насчет красиво,тогда поясни,что в твоем понимании красиво.Цифры как раз те по которым стоится.

Максимальный номер цвета, воспринимаемый адаптером в текущем графическом режиме, может быть получен при помощи функции GetMaxColor : Word
На экране всегда различаются цвет фона и цвет пера. Все процедуры изображения фигур, если не содержат в себе явной установки цвета, рисуют эти фигуры цветом пера, который устанавливается процедурой SetColor(Color : Word).
Константа Число Цвет
Black 0 Черный
Blue 1 Синий
Green 2 Зеленый
Cyan 3 Голубой
Red 4 Красный
Magenta 5 Фиолетовый
Brown 6 Коричневый
LightGray 7 Ярко-серый
DarkGray 8 Темно-серый
LightBlue 9 Ярко-синий
LightGreen 10 Ярко-зеленый
LightCyan 11 Ярко-голубой
LightRed 12 Ярко-красный
LightMagena 13 Ярко-фиолетовый
Yellow 14 Желтый
White 15 Белый
Захочеш фон поменять.SetBkColor( Color :Word)

Какой второй график?Ты как раз и строиш второй график.Лап скрин привел даже с результатом,или тебе надо время от скорости?,а вообще я бы посовеловал создать процедуру начертания графиков и дальше в зависимости от параметров строить,в твоем слушае, как параменты, поменяются файлы и значения осей.

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Гость






Цитата
Blink 128 Мерцание
Это что за фигня? Нет мерцания в граф. режимах... Не надо путать Crt и Graph...

Цитата
во-первых я не могу сооброзить как построить второй график, другим цветом на том который сейчас(чтобы была вторая линия), во-вторых подписи под графиком(всмысле цифры) какие-то левые
Во-первых, не надо все сваливать в одну куче: оформила бы построение графика из файла отдельной процедурой - было бы по-человечески, и не надо копировать код для построения второго графика, и отлаживать надо один раз, а не 2. Ты же предпочла сделать все через ... рекурсию (Lapp, я не мог удержаться, извини smile.gif ), привязать все к каким-то магическим цифрам, что ж ты хочешь теперь?

А во-вторых, по-хорошему файл, по которому ты строишь график, должен содержать всю необходимую информацию для его построения, и границы по оси абсцисс/ординат, и сами значения. А дело программы - только отобразить эти данные, а не вычислять их...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Цитата

Нет мерцания в граф. режимах... Не надо путать Crt и Graph...

Дадада,убрал,просто отаблицу самому было ленно писать скопировал,а последнюю стоку проглядел...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Krjuger @ 30.05.2009 17:17) *
насчет красиво,тогда поясни,что в твоем понимании красиво.
Krjuger, ты о чем вообще?.. smile.gif
Мне представляется, что автор как нельзя лучше изложила свою концепцию красоты, назвав себя ником Zopaa..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Lapp,ну знаеш ли,мой ник тоже не блещет красотой,а то из-за чего я его получил,это не моя внешность(дядя фреди был не шипко красивеньким),а некоторые события....Ну а ник создателя темы,взможно отражает ее состояние психологическое.....Ну типа сессия долги сдавать надо а тут полная....... да еще и задачу сделать не может тоже в ......пе,и причина по которой она пришла на форум это .....,а может она считает эту часть своего тела самой привлекательность и привликает к ней внимание. lol.gif blum.gif

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата(Krjuger @ 31.05.2009 10:56) *

привликает к ней внимание. lol.gif blum.gif
смайлы в тему, особенно второй! (извините);

скажите, при чем тут файлы, и что они должны содержать и в каком виде?
раза 3 перечитал тему и не понял ни про файди ни вообще в чем проблема уважаемой ....
объясните пожалуйста.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Ну как я понял она в первом куске вычисляет координаты точек и записывает их в 2 файла(первый скорость-время,второй угол время)ну и в общем ей надо их оба вывести один на другом,причем ее программа спокойно выводит один график,но ей надо чтобы КРАСИВО......и чтобы оба были друг на друге,либо друг под другом(по моему первый вариант даже бред(зачем зависимость угла и зависимость скорости от времени на одном графике рисовать.)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.11.2020 2:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name