Have a Snippet?

Keep, track and share your code snippets with your friends



1C 7.7: Расчет суммы аннуитетного платежа Share on Vkontakte

Функция расчета суммы платежа, вместе с функцией возведения в степень

//******************************************************************************
Функция Экспонента(Х,Точность=0.000000000001)
        Р=1; К=1; Дельта=1;
        Пока ?(Дельта>0,Дельта,-Дельта)>Точность Цикл
                Дельта = Дельта * Х / К;
                К = К + 1;
                Р = Р + Дельта;
        КонецЦикла;
        Возврат Окр(Р,СтрДлина(Строка(Точность))-2);
КонецФункции // Экспонента

//******************************************************************************
Функция Степень(знач а,в) Экспорт
        м = ?(а<0,?(в%2=0,1,-1),1);
        а = ?(а<0,-а,а);
        р = ?(в<0, 1/Степень(а,-в), Экспонента(Лог(а)*в));
        Возврат р * м;
КонецФункции // Степень

//******************************************************************************
Функция глСуммаАннуитетногоПлатежа(Сумма,Срок,Ставка) Экспорт
        Если Срок   = 0 Тогда Возврат 0; КонецЕсли;
        Если Сумма  = 0 Тогда Возврат 0; КонецЕсли;
        Если Ставка = 0 Тогда Возврат 0; КонецЕсли;
        СтавкаВМес = Ставка/(100*12);
        Возврат (Сумма * СтавкаВМес) / (1 - Степень(1 + СтавкаВМес, -Срок));
КонецФункции // глСуммаАннуитетногоПлатежа


Tag: Аннуитет, Степень, Экспонента, Ипотека, Расчет платежа

0 Comments