Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2009, 13:26   #1
ZOOMERID
Новичок
Джуниор
 
Регистрация: 16.05.2009
Сообщений: 2
Восклицание Помогите с паскалем [$$$]

Помогите написа программу а она показывает 205 ошибку (((
Цитата:
program integral;


var
S, S1, S1temp, H, E, A, S9, E9, T9, G, X: real;
i, N: integer;


function Power(number,top:real) : real;
begin
Power := exp(number*ln(top));
end;

function f(valx:real):real;
var
p :real;
begin
p := Power((S9/valx),12.0)-Power((S9/valx),6.0);
f := (1-exp(-4*E9/T9*p))*valx*valx;
end;

begin
writeln('Pervi parameter potenciala Lennarda-Jonsa');
write('Sigma:');
read(S9);
writeln('Vtoroi parameter potenciala Lennarda-Jonsa');
write('Epsilon/K Bolcmana:');
read(E9);
write('Temperatura B K:');
read(T9);

A := S9/1000;
E := S9*10;

write('Tochnost B %:');
read(G);

N := 4;
S1 := 0;

repeat
S := 0;
H :=(E-A)/N;
S :=f(A);

for i:=1 to (N-1) do begin
X := A+I*H;
S := S+4*f(x);
i:=i+1;
end;

for i:=2 to (N-2) do begin
X := A+I*H;
S := S+2*f(x);
i:=i+1;
end;

S := S+f(x);
S := S*H/3;

S := S*2*3.14159*6.022e-23*1e-24;

S1temp := S1;
S1 := S;
N := N*2;
until (abs(S-S1temp)<abs(S)*G/100);

if (N>2500) then begin
writeln('Trebuemaja tochnost ne mozet bit dostignuta');
writeln('Posledni integral:',S1,' ',S);
exit;
end;


writeln('Integral ot:', A, ' do:', E,' angsterm');
writeln('Pri:',N,' Chastichnih intervalah =',S);
writeln('Trebuemaya tochnost:', abs(G)*S/100);
writeln('Dostignutaja tochnost',abs(S-S1));

writeln('Sigma:', S9, ' angsterm');
writeln('Epsilon/K (bolts):', E9 );
writeln('Temperatura:', T9,' K');
writeln('Vtoroi virialni koof:',S,' sm^3/mol');

end.
ZOOMERID вне форума Ответить с цитированием
Старый 16.05.2009, 13:26   #2
ZOOMERID
Новичок
Джуниор
 
Регистрация: 16.05.2009
Сообщений: 2
По умолчанию

Готов заплатить кто с может сделать
ZOOMERID вне форума Ответить с цитированием
Старый 17.05.2009, 01:36   #3
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

во-первых что за i:=i+1; в циклах for? во вторых ошибка возникает из-за переполнения типа... при возведении в степень (функция power) получается величина порядка 10^295... для справки:
Real 2.9e-39 .. 1.7e+38 (6 байтов)
Попробуйте extended...
P.S. программу не смотрел, лень разбираться..
Uguu~
__STDC__ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с Паскалем Dimati87 Помощь студентам 12 30.11.2014 23:00
С Паскалем помогите Panda Помощь студентам 4 17.06.2008 16:35
помогите с паскалем lyonya0111 Помощь студентам 12 22.01.2008 18:39
Помогите с Паскалем clampo Паскаль, Turbo Pascal, PascalABC.NET 7 22.01.2007 13:57