1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
я это видела, но что-то у меня не получается...он мне ошибку выдавал ошибочно арифметическое действие для ввода...в месте где я говорила с читать из файла.
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 dobeginif cos(fi0)<=(h/l) thenbegin
w1:=w0+(dt/sqr(l)/m)*(-c*fi0-m*g*sin(fi0)*l);
fi1:=fi0+w0*dt;
fi0:=fi1;
w0:=w1;
t:=t+dt;
endelsebegin
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 mod100000=0thenbegin
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:=1to 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:=1to n do
readln(e,z[i],u[i]);
{for i:=1 to n do writeln(z[i],u[i]); }
ymax:=y[1];
for i:=2to n doif y[i]>ymax thenbegin
ymax:=y[i];
end;
ymin:=y[1];
for i:=2to n doif y[i]<ymin thenbegin
ymin:=y[i];
end;
rectangle(xgmin,ygmin,xgmax,ygmax);
q:=0;
i:=30;
while q<1dobeginif frac((xgmax-xgmin)/i)=0then
q:=i else i:=i+1;
end;
xl:=xgmin;
while xl<xgmax dobegin
Line(xl,ygmin,xl,ygmax);
xl:=xl+q;
str(xl,s);
OutTextXY(xl-40,ygmin+110,s);
end;
q:=0;
i:=30;
while q<1dobeginif frac((ygmax-ygmin)/i)=0then
q:=i else i:=i+1;
end;
yl:=ygmin;
while yl<ygmax dobegin
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:=2to n dobegin
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.
вот две программы рисуется график, на нем же надо построить график по данным из второго файла, а внизу подписать значения...как это зделать..у меня нервов больше не хватает, помогите кто чем может..
Ну ты хоть напиши,что имено не работает,не запускается,выводин неправильно или что?плюс ты хотяб нашипи,что у тебя в файле то написано,или помогающим тебе угадать надо?
ну в программе видно, в файл f записывается t и w1(в данном случае это у меня время и скорость ), а в файл e записывается t и fi1(время и угол) . все работает, но пока написано только для построения одного графика по данным файла f. теперь нужно построить на том же графике, ну или на другом, по данным файла e.+ надо внизу и сбоку подписать значения...вот...у меня уже мозг перестал думать после всего что надумала, а сдавать в понедельник..
Дорогая Zopaa (кхм..), очень тебе не повезло с ником((. Кто тебе такой присоветовал? Плюнь ему в лицо - скажи, я просил. Очень он тебе вредит. Я много раз порывался тебе ответить, но как подумаю, с чем буду разговаривать - сразу желание пропадает. И, думаю, не один я так. Но вот, пересилил, вроде. Если в середине ответа вырвет - не обессудь, все усилия прилагаю, чтоб сдержаться..
Давай с начала. Прога, которая делает файлы, gjhg (тебе специально хочется, чтоб другие время тратили на хотя бы чтение таких названий??), вылетает у тебя по Range Check. Включи себе в опциях эту проверку и никогда не выключай, иначе годы потратишь, чтоб понять, почему у тебя вдруг программа не работает. Вылет в строке:
j:=j+1;
, и это естественно. Либо сделай j типа LongInt, либо (лучше) убери вообще j и сравнивай непосредственно t.
Дальше - зачем тебе в ней юнит Graph? Выброси, лишний. Все, больше не могу... извини... может, попозже... кто не спрятался - я не виноват!!
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой
Уважаемая Zopaa, объясни еще раз - чего ты хочешь? Извини, конечно, что прошу тебя тратить время не по прямому назначению, но не могла ли бы ты сказать поточнее, что тебе нужно? Вот твоя продукция (не решаюсь тут назвать нужным словом):
Что в нем не так? Все, вроде, подписано..
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой
В нем все так,но как я понял ей надо график на графике или график под графиком,только я не понимаю,если у нее строится для первого графика,почему не строится для втрого.А вообще чуть чуть не так(максимальные значения не выводятся а сразу пишуться названия осей),но это лиш как я понимаю,сам автор критериев вообще не дал.
во-первых я не могу сооброзить как построить второй график, другим цветом на том который сейчас(чтобы была вторая линия), во-вторых подписи под графиком(всмысле цифры) какие-то левые, я так думаю что мне надо те значения по которым строится...вобще мне надо как-то так сделать чтобы было красиво...
Вообще главная задача программы,чтобы работала,насчет красиво,тогда поясни,что в твоем понимании красиво.Цифры как раз те по которым стоится.
Максимальный номер цвета, воспринимаемый адаптером в текущем графическом режиме, может быть получен при помощи функции 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)
Какой второй график?Ты как раз и строиш второй график.Лап скрин привел даже с результатом,или тебе надо время от скорости?,а вообще я бы посовеловал создать процедуру начертания графиков и дальше в зависимости от параметров строить,в твоем слушае, как параменты, поменяются файлы и значения осей.
Это что за фигня? Нет мерцания в граф. режимах... Не надо путать Crt и Graph...
Цитата
во-первых я не могу сооброзить как построить второй график, другим цветом на том который сейчас(чтобы была вторая линия), во-вторых подписи под графиком(всмысле цифры) какие-то левые
Во-первых, не надо все сваливать в одну куче: оформила бы построение графика из файла отдельной процедурой - было бы по-человечески, и не надо копировать код для построения второго графика, и отлаживать надо один раз, а не 2. Ты же предпочла сделать все через ... рекурсию (Lapp, я не мог удержаться, извини ), привязать все к каким-то магическим цифрам, что ж ты хочешь теперь?
А во-вторых, по-хорошему файл, по которому ты строишь график, должен содержать всю необходимую информацию для его построения, и границы по оси абсцисс/ординат, и сами значения. А дело программы - только отобразить эти данные, а не вычислять их...
Lapp,ну знаеш ли,мой ник тоже не блещет красотой,а то из-за чего я его получил,это не моя внешность(дядя фреди был не шипко красивеньким),а некоторые события....Ну а ник создателя темы,взможно отражает ее состояние психологическое.....Ну типа сессия долги сдавать надо а тут полная....... да еще и задачу сделать не может тоже в ......пе,и причина по которой она пришла на форум это .....,а может она считает эту часть своего тела самой привлекательность и привликает к ней внимание.
скажите, при чем тут файлы, и что они должны содержать и в каком виде? раза 3 перечитал тему и не понял ни про файди ни вообще в чем проблема уважаемой .... объясните пожалуйста.
Ну как я понял она в первом куске вычисляет координаты точек и записывает их в 2 файла(первый скорость-время,второй угол время)ну и в общем ей надо их оба вывести один на другом,причем ее программа спокойно выводит один график,но ей надо чтобы КРАСИВО......и чтобы оба были друг на друге,либо друг под другом(по моему первый вариант даже бред(зачем зависимость угла и зависимость скорости от времени на одном графике рисовать.)