Расчет суммы начального вложения, необходимой для получения заданной будущей величины |
В некоторых ситуациях требуется определить, какова должна быть первоначальная сумма вложения для достижения заданной будущей величины вклада. К примеру, вы откладываете деньги на оплату высшего образования вашего ребенка и знаете, что через 5 лет вам потребуется 75 ООО долларов. Сколько вам нужно вложить сейчас под 7% годовых? Программа, приведенная в листинге 6.3, может найти ответ на этот вопрос с помощью следующей формулы: Initial Investment = = target Value / ((rateOfRet / compPerYear) + 1) compPerYear * numYears)^ где targetValue обозначает заданную будущую величину вложения, a rateOfRet-compPerYear и numYears — как обычно, процентную ставку, количество начислений процентов в течение года и продолжительность хранения вложейця в годах соответственно. Если переменная rateOfRet содержит годовую ставку, переменной compPepYear следует присвоить значение 1. функция initvaio (листинг 6.3) использует данную формулу для проведения расчета. В качестве параметров ей передаются будущая величина вложения, процентная ставка, продолжительность инвестиционного проекта И количество начислений процентов в течение года. Функция возвращает начальную величину инвестиции. ^^гинг 6.3. Расчет суммы начального вложения • j f include <iostream> finclude *<cmath> finclude <iomanip> finclude <locale> using namespace std; // Вычисляет первоначальную величину инвестиции, необходимую // для получения заданной величины в будущем, double initval(double targetValue, double rateOfRet, int numYears, int compPerYear) { double b, e; rateOfRet /= 100.0; // преобразует проценты в дробь b = (l + rateOfRet/compPerYear); e = compPerYear * numYears; return targetValue / pow(b, e) ; } int main() { double p, r; int y, cpy; // Присваивает locale значение english. // Откорректируйте, если необходимо, язык/регион, cout. imbue(locale("english")); cout « "Enter desired future value: "; cin » р; cout « "Enter rate of return: "; cin » r; cout « "Enter number years: "; cin » y; cout « "Enter number of compoundings per year: "; cin » cpy; cout « "\nlnitial investment required: " « fixed « setprecision(2) « initvaKp, r, y, cpy) « endl; return 0; } Далее приведен пример вывода программы: Enter desired future value: 75000 Enter the rate of return (as a percentage): 7 Enter number of years: 5 Enter number of compoundings per year: 4 Initial Investment required: 53,011.84
|