Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.04;
Скачать: CL | DM;

Вниз

Помогите плиз   Найти похожие ветки 

 
Генрих   (2007-01-18 10:47) [0]

Всем привет ! Помогите разобраться в программе.

     x:= p_s/(Sum-perVznos);
     a:=-1.5;

      repeat
        a:= a+ 0.00001;
        z:= 12*(a-1)/(1-Power(a,-12))-1 - x ;

        if (z>=-0.0005) and (z<=0.0005) then
           begin
             // Считаем эффективную ставку
             APR:= (a-1)* 1200;
             exit;
           end;

      until a=0;

     ShowMessage("Готово");

Тут вот какое дело, ShowMessage("Готово"); не срабатывает. Как сделать так, чтобы после того как сработает APR:= (a-1)* 1200;
цикл должен закончить работу. Если поместить ShowMessage сразу после APR:= (a-1)* 1200; тогда работет. Что делать, помогите плиз.


 
Плохиш ©   (2007-01-18 10:54) [1]

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


 
Сергей М. ©   (2007-01-18 10:55) [2]


> цикл должен закончить работу


Для этого существует оператор Break.
А Exit завершает текущую процедуру, а не текущий цикл.


 
Elen ©   (2007-01-18 10:57) [3]


>  Если поместить ShowMessage сразу после APR:= (a-1)* 1200;
>  тогда работет

Так почуму бы не поместить его туда? (и подумать о правильном выходе из цикла, ато этот вроде некошерный кокой-то)


 
ЮЮ ©   (2007-01-18 10:57) [4]

1) вместо exit (выход из процедуры) постовить break (выход из цикла)
2)
 try

 finally
    ShowMessage("Готово");
 end;

сработает и по exit и при AV :)


 
Генрих   (2007-01-18 11:02) [5]


> Так почуму бы не поместить его туда?


Нет, туда нельзя.


> Для этого существует оператор Break.


Пробывал. Не срабатывает. По любому сообщение не выходит.


 
Генрих   (2007-01-18 11:04) [6]

Опа, всё получилось. (Break) Exit - в топку.


 
icWasya ©   (2007-01-18 11:11) [7]

Вот это место
until a=0;
никогда не сработает

если вычислить  -1.5 + 0.00001 * 150000 даже с точностью Extended, то получится 2.22044604925031296E-16, а никак ни ноль.
Поставь условие выхода из цикла либо
until a>=0;
либо
until a>=0.000005;


 
Elen ©   (2007-01-18 11:15) [8]


> Нет, туда нельзя.

Why?


 
Плохиш ©   (2007-01-18 11:27) [9]


> Генрих   (18.01.07 11:04) [6]
> Опа, всё получилось. (Break) Exit - в топку.

Точно, яблоки - рулез, апельсины - в топку...


 
ЮЮ ©   (2007-01-18 11:34) [10]


>
> Точно, яблоки - рулез, апельсины - в топку...


У апельсинов хоть эфирное масло в кожуре. А какое топлипо из яблок?


 
Плохиш ©   (2007-01-18 11:47) [11]


> ЮЮ ©   (18.01.07 11:34) [10]

Яблочное вино видел, апельсинового - нет ;-)


 
Ega23 ©   (2007-01-18 12:01) [12]


> У апельсинов хоть эфирное масло в кожуре. А какое топлипо
> из яблок?


Из конских яблок - отличное топливо. Если высушить.


 
Alx2 ©   (2007-01-18 21:19) [13]

>Генрих   (18.01.07 10:47)  

Корни уравнения искать последовательным равномерным перебором - крайне неэффективно.



Страницы: 1 вся ветка

Текущий архив: 2007.02.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.039 c
15-1168773822
Vudu
2007-01-14 14:23
2007.02.04
Что за глюк с компом?


3-1162972185
igor666
2006-11-08 10:49
2007.02.04
Проблема с ADOQuery


2-1169076569
Альберт
2007-01-18 02:29
2007.02.04
перерисовка с прозрачностью


4-1159123015
Fio
2006-09-24 22:36
2007.02.04
Поиск и регистрация процессов в WinXP


2-1168849914
Mishenka
2007-01-15 11:31
2007.02.04
Как узнать высоту системного трея в пикселях?