Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Pomogite Reshit Zadachu Po Termodynamike

Автор: makishev 18.10.2006 21:05

Izvinite za English.
Do ponedelnika nado sdelat progu.
Vruchnuu schitat neohota.
Formula s massivom.
Ishodniki v risunke prikreplennom.

TAM POseredine formula dlya Q

Vot ONA MNE I NUZHNA!!!!!!


UZHAS!!!!

2 cycla nado sdelat ne znau kak.


Pitalsya koe shto sdelat
Ya ponimau shto eto vse viglyadit uzhasno, no ya ne programist. Pitsaus vspomnit to shto uchil 5 let nazad.

Zagnal tablicu v massiv. ne znau kak dalshe bit...Mne nuzhna pomosh s formuloy Q, gde kak raz ves massive i ispolzuetsya.

POMOGITE LUDI DOBRIE...


program Project_2;   uses crt;                      
const c1: real = 1875.065; c2: real= 3229.12;
c3:REAL =-419.465; c4 : real=36.6649; c5: real =-20.5516;
c6:real=4.85233; c7:real= 46; c8:real= -1011.249; r:real=8.314;

aij:array[1..10,1..7] of real =( (29.492937, -5.198586, 6.8335354, -0.1564104, -6.3972405, -3.9661401, -0.69048554),
(-132.13917, 7.7779182,-26.149751,-0.72546108, 26.409282, 15.4531, 2.7407416),
( 274.64632,-33.301902, 65.326396, -9.2734289, -47.740374,-29.14247,-5.1028070),
(-360.93828,-16.254622,-26.181978, 4.312584, 56.32313,29.568796,3.9636085),
( 342.18431,-177.31074, 0, 0, 0,0,0),
( -244.50042, 127.48742, 0, 0, 0,0,0),
( 155.18535, 137.46153, 0, 0, 0,0,0),
( 5.972, 155.97836, 0, 0, 0,0,0),
( -410.30848, 337.31180,-137.46618, 6.7874983, 136.87317,79.847970,13.041253),
( -416.05860,-209.88866,-733.96848, 10.401717, 645.8188,399.17570,71.531353));

var s,F, T, ro, Q, F0,ro_aj, c, tau, A, v, tau_aj, tau_c: REAL;
i,j: integer;
BEGIN {clrscr }
WRITE ('INPUT T= '); readln (t);
write ('INPUT V= '); readln (v);
tau:=1000/t;
ro:=1/v;
i:=0; s:=0;
while i<7 do
begin i:=i+1;
if i=1 then c:=c1;
if i=2 then c:=c2;
if i=3 then c:=c3;
if i=4 then c:=c4;
if i=5 then c:=c5;
if i=6 then c:=c6;
F0:=©/(exp((i-1)*ln(tau)));

s:=s+f0;

end;
f:=s+(c7 * ln (T))+(c8 * (ln (t))/tau);
writeln ('F0=', f:4:4);
{computating q}
for j:=1 to 7 do
begin
for i:=1 to 10 do
begin
if j=1 then tau_aj:=tau_c;
if j>1 then tau_aj:=2.5;
if j=1 then ro_aj:=0.634;
if j>1 then ro_aj:=1;

q:=(tau-tau_c) * (exp((j-2)*ln(tau-tau_aj)));

writeln(q);
end;end;
writeln ('Press enter to escape');
readln;
end.



Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: мисс_граффити 18.10.2006 21:23

Если честно, не поняла, что надо сделать с массивом.
Можешь конкретно написать?

...а если главное - не программа, а полученный результат, лучше воспользуйся маткадом.

Автор: makishev 19.10.2006 0:10

Цитата(мисс_граффити @ 18.10.2006 9:23) *

Если честно, не поняла, что надо сделать с массивом.
Можешь конкретно написать?

...а если главное - не программа, а полученный результат, лучше воспользуйся маткадом.



DA nado bilo srazu v MATHCADE rabotat. tolko zhalko trud svoy.

A mne formulu nuzhno zagnat v cikl. formula dlya Q. tam ona vsu matricu ispolzuet.



formula na prikreplennom file.



Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: мисс_граффити 19.10.2006 0:41

Судя по формуле, речь идет о нескольких массивах (тау, ро, А).
а по тексту программы я вижу только А.
это как понимать?

Автор: makishev 19.10.2006 1:25

Цитата(мисс_граффити @ 18.10.2006 12:41) *

Судя по формуле, речь идет о нескольких массивах (тау, ро, А).
а по тексту программы я вижу только А.
это как понимать?

Prosti pozhaluysta. tau_c and tau_aj constanty. mne tolko nado pravilno A raspredelit po formule i cicle shto bi rabotal.

by the way, Thank you.




Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: мисс_граффити 19.10.2006 2:31

тогда типа так:

Код

q:=0;
for j:=1 to 7 do
  begin
  prom:=0; //промежуточная переменная для вычисления значения в скобке
  for i:=1 to 8 do
    prom:=prom+A[i,j]*(ro-ro_aj)^(i-1); //как реализовать возведение в степень - решай сам. так работать не будет. для простоты понимания записала
  for i:=9 to 10 do
    prom:=prom+e^(-E*ro)*A[i,j]*ro^(i-9);
  q:=q+(tau-tau_aj)^(j-2)*prom;
  end;
q:=q*(tau-tau_c);


вроде как-то так.
возможность проверить, к сожалению, нет sad.gif
но идея следующая:
вычисляем каждое слагаемое по j, которое по сути равно произведению prom (значение во внутренней скобке) на (tau-tau_aj)^(j-2), и добавляем к q, а потом умножаем на самую первую скобку.

Автор: makishev 19.10.2006 3:00

poprobuem.


Thanks

Автор: makishev 19.10.2006 3:47

A kak vozvesti exp v otricatelnuu stepen? standartnim sposobom? 1/exp((E*ro)*ln(exp))?

Автор: мисс_граффити 19.10.2006 3:50

ln(exp)=1 smile.gif))
достаточно
1/exp(E*ro)

Автор: makishev 20.10.2006 6:19

Plunul na vse i delau programmu v Maple.
NU NE DANO mne znat PASCAL.

Автор: lapp 20.10.2006 9:45

Цитата(makishev @ 20.10.2006 3:19) *

NU NE DANO mne znat PASCAL.

makishev, не сдавайся!!
Pascal forever!! Pascal rules at Iova!!
Тебе сама Мисс Граффити помогала... Не уходи с позором!
Ты это можешь!!
smile.gif smile.gif smile.gif

Автор: makishev 20.10.2006 21:04

Mne azh pryam neudobno wub.gif
Xorosho. kak podstrahovku budu delat pascal mad.gif

Автор: makishev 5.04.2007 8:30

Da...
Davno zdes ne byl.
Pascal brosil.
Matlab luchse vsex.