Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
Генрих   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.102 c
3-1163575639
Артем_
2006-11-15 10:27
2007.02.04
Из MySQL в XML


2-1169061238
serko
2007-01-17 22:13
2007.02.04
Версия программы...


4-1158723543
Wolfram
2006-09-20 07:39
2007.02.04
Работа с нестандартными клавишами


2-1169118311
FIL-23
2007-01-18 14:05
2007.02.04
как узнать номер позиции указателя в таблице?


15-1168991424
kaZaNoVa
2007-01-17 02:50
2007.02.04
Автовыгрузка DLL аспекты реализации





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский