Программирование >>  Формирование пользовательского контейнера 

1 ... 75 76 77 [ 78 ] 79 80 81 ... 156


6.5. Расчет максимально возможного аннуитета

#include <iostreain> iinclude <cmath> - iinclude <iomanip> ♦include <locale>

ing namespace std;

Вычисляет максимальный аннуитет, который / может быть получен от вложения в течение определенного периода времени. ° Ь1е maxwd(double principal, double rateOfRet.

int numYears, int nianPerYear) {

double b. e; <3ouble tl. t2;

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

£ше один расчет аннуитета позволяет найти максимально возможный раз-jiep выплат (на покрытие регулярных расходов) в течение определенного периода при заданном размере вложения. Например, если у вас есть 5(Ю ООО долларов на пенсионном счете, сколько вы можете брать ежемесячно в течение 20 лет с учетом процентной ставки 6%? Приведенная далее формула вычисляет максимально допустимую величину регулярных расходов.

Maximum Withdrawal = principal * (((rateOfRet / wdPerYear)/

/(-1 + ((rateOfRet / WdPerYear) + l)wdPerYearni.mYcar.))+

+(rateOfRet * wdPerYear)),

1де rateOfRet задает процентную ставку, principal содержит величину начального вложения, wdPerYear определяет число выплат в год, nuniYeai-s - продолжительность получения аннуитета в годах.

функция maxwdo, приведенная в листинге 6.5, вычисляет максимальный размер регулярных расходов в течение указанного периода времени при заданной процентной ставке. Ей передаются величина инвестиции, процентная ставка, продолжительность получения аннуитета в годах и количество начислений процентов в год. Функция возвращает величину максимально возможного аннуитета.



if2

rateOfRet /= 100.0; преобразует проценты в дробь tl = rateOfRet / numPerYear; b = (1 + tl);

e = numPerYear * numYears;

t2 = pow(b. e) - 1;

return principal * (tl/t2 + tl);

int mainO { double p, r; int y, wpy;

Присваивает locale значение engiish.

Откорректируйте, если необходимо, язык/регион.

cout. imbue(locale( engiish ));

cout Enter principal: ; cin p;

cout Enter rate of return (as a percentage): ; cin r;

cout Enter number years: ; cin y;

cout Enter number of withdrawals per year: ; cin wpy;

cout \nMaximum withdrawal: fixed setprecis,ion(2) maxwd(p, r, y, wpy) endl;

return 0;



дддее приведен пример вывода профаммы из листинга 6.5. goter principal: 500000

goter rate of return (as a percentage): 6

gjjter nuiriber of years: 20

gter nuinber of withdrawals per year: 12

jiaximum withdrawal: 3,582.16

Определение остатка непогашенной ссуды

Часто возникает желание узнать остаток непогашенной ссуды (remaining balance on а loan). Его легко вычислить, если вам известны первоначальная величина ссуды, процентная ставка, время, на которое выдана ссуда, и количество уже сделанных платежей. Для того чтобы найти остаток непогашенной ссуды, нужно сложить все сделанные платежи, вычитая из каждого платежа сумму выплаты по процентам, и затем полученный результат вычесть из первоначального размера ссуды.

Функция balanced. Приведенная в листинге 6.6, находит остаток непогашенной ссуды. Ей передаются первоначальный размер ссуды, процентная ставка, величина платежа, количество платежей в год и количество сделанных платежей- Функция возвращает остаток непогашенной ссуды.

1нг 6.6. Расчет остатка непогашенной ссуды

linclude <ioscreain>

♦include <cmath>

iinclude <iomanip>

iinclude <locale>

ing namespace std;

Находит остаток непогашенной ссуды, uble balance(double principal, double intRate, double payment, int payPerYear, int numPayments) {

double bal = principal;

double rate = intRate / payPerYear;

rate /= 100.0; преобразует проценты в дробь



1 ... 75 76 77 [ 78 ] 79 80 81 ... 156

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика