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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2011, 18:02   #1
HDMI
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 48
По умолчанию Оптимизация программы на Паскале

Здравствуйте. У меня проблема, написал программу, а она при больших числах вызывает переполнение. Нужны идеи и способы как можно кардинально изменить подсчеты и заставить работать с большими числами. Главное - подсчет, особая точность не нужна.
Вводим N, Tn, T0. Затем считаем эти формулы:

Вот мой текст:
PHP код:
program model;
uses crt;
var 
: array[0..100of real;
N:longint;
i:integer;
Tn:real;
T0:real;
j:integer;
X:real;
znam:real;
L:real;
Totv:real;
function 
fact(y:longint):real;
 
begin
  
if y=0 then fact:=1
  
else fact:=fact(y-1)*y;
 
end;
begin
 writeln
('Vvedite N');
 
readln(N);
 
writeln('Vvedite Tn');
 
readln(Tn);
 
writeln('Vvedite T0');
 
readln(T0);
 
X:=T0/Tn;
 for 
j:=0 to N do
 
begin
  znam
:=znam+(fact(N)*exp(ln(X)*j))/(fact(N-j))
 
end;
 
P[0]:=1/znam;
 for 
i:=1 to N do
 
begin
  P
[i]:=fact(N)*exp(ln(X)*N)*P[0];
  
L:=L+i*P[i];
 
end;
 
Totv:=(L*Tn)/(N-L);
 
writeln('Po = ',P[0]);
 
writeln('Lcp = ',L);
 
writeln('Totv = ',Totv);
 
readkey;
 
clrscr;
end
Я считаю отдельно знаменатель znam и использую его для подсчета в формулах.
HDMI вне форума Ответить с цитированием
Старый 15.04.2011, 20:48   #2
HDMI
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 48
По умолчанию

Неужели ни у кого нет предложений?
HDMI вне форума Ответить с цитированием
Старый 15.04.2011, 20:52   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

длинная арифметика спасет HDMI
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 16.04.2011, 20:03   #4
HDMI
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 48
По умолчанию

Проблему решил использованием extended вместо real
HDMI вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация программы 0479 Помощь студентам 7 09.03.2011 17:15
Оптимизация программы Lenya Помощь студентам 2 05.01.2011 18:56
Оптимизация программы!!! $T@LKER Общие вопросы Delphi 10 08.08.2010 21:23
Оптимизация кода программы insi Фриланс 2 17.05.2008 18:30