Помощь - Поиск - Пользователи - Календарь
Полная версия: Pomogite Reshit Zadachu Po Termodynamike
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
makishev
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.
мисс_граффити
Если честно, не поняла, что надо сделать с массивом.
Можешь конкретно написать?

...а если главное - не программа, а полученный результат, лучше воспользуйся маткадом.
makishev
Цитата(мисс_граффити @ 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.
мисс_граффити
Судя по формуле, речь идет о нескольких массивах (тау, ро, А).
а по тексту программы я вижу только А.
это как понимать?
makishev
Цитата(мисс_граффити @ 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.

мисс_граффити
тогда типа так:
Код

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
poprobuem.


Thanks
makishev
A kak vozvesti exp v otricatelnuu stepen? standartnim sposobom? 1/exp((E*ro)*ln(exp))?
мисс_граффити
ln(exp)=1 smile.gif))
достаточно
1/exp(E*ro)
makishev
Plunul na vse i delau programmu v Maple.
NU NE DANO mne znat PASCAL.
Lapp
Цитата(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
Mne azh pryam neudobno wub.gif
Xorosho. kak podstrahovku budu delat pascal mad.gif
makishev
Da...
Davno zdes ne byl.
Pascal brosil.
Matlab luchse vsex.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.