Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: -0.975 c
3-1163674156
petrovskyi
2006-11-16 13:49
2007.02.04
Изменение порядка значений при экспорте в Excel


2-1168554549
Infinityx93
2007-01-12 01:29
2007.02.04
Динамический массив


1-1165436256
Pattern
2006-12-06 23:17
2007.02.04
Зависание программы


15-1168773822
Vudu
2007-01-14 14:23
2007.02.04
Что за глюк с компом?


5-1148072627
Дмитрий12
2006-05-20 01:03
2007.02.04
динамическое создание кнопок




   Наверх