Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Инвестиции, проценты, прибыли

Поиск:
Инвестиции, проценты, прибыли

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Investments, percents, incomes
//  (c) Johna Smith, 1996
//
//  Method description:
//    s0 - initial investment
//    s  - final sum on account
//    P  - sum on account increased by P % per year
//    N  - number of years
//   If we know three of these values we can calculate fourth value
//
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

// this function calculates s0
float StartValue(float end_value, float percents_per_period, float periods)
{
  return end_value/pow(1+percents_per_period/100,periods);
}

// this function calculates s
float EndValue(float start_value, float percents_per_period, float periods)
{
  return start_value*pow(1+percents_per_period/100,periods);
}

// this function calculates P
float PercentsPerPeriod(float start_value, float end_value, float periods)
{
  return 100*(pow(end_value/start_value,1/periods)-1);
}

// this function calculates N
float Periods(float start_value, float end_value, float percents_per_period)
{
  return (log10(end_value)-log10(start_value))/log10(1+percents_per_period/100);
}

void main(void)
{
  // If we invest $5000 for 5 years and bank pays 3% per year
  // the final sum on the account will be...
  printf("%fn",EndValue(5000,3,5));
  // How much should we invest if we want to get $30000 and we
  // can wait 22 years and bank pays 3% per year
  printf("%fn",StartValue(30000,3,22));
  // How much years we will wait if we invest $20000 and want to
  // get $30000. Bank pays 3% per year
  printf("%fn",Periods(20000,30000,3));
  // If we want to invest $15000, wait 18 years and get $30000
  // then we need to find bank which pays 'PercentsPerPeriod' % per year
  printf("%fn",PercentsPerPeriod(15000,30000,18));
}



Регулярные инвестиции, проценты, прибыли

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Regular investments, percents, incomes
//  (c) Johna Smith, 1996
//
//  Method description:
//    s1 - investment per year (we invest each year 's1' dollars)
//    s  - final sum on account
//    P  - sum on account increased by P % per year
//    N  - number of years
//   If we know three of these values we can calculate fourth value
//
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

// this function calculates s1
float InvestmentValue(float end_value, float percents_per_period, float periods)
{
  float I=percents_per_period/100;

  return end_value*I/(pow(1+I,periods)-1);
}

// this function calculates s
float EndValue(float investment_value, float percents_per_period, float periods)
{
  float I=percents_per_period/100;

  return investment_value*(pow(1+I,periods)-1)/I;
}

// this function calculates P
float PercentsPerPeriod(float investment_value, float end_value, float periods)
{
  float i=0, h=0.01;

  while (fabs(h)>2.5e-4)
  {
    do i+=h; while ((end_value*i/(pow(1+i,periods)-1)-investment_value)/h>=0);

    h=-h/4;
  }

  return i*100;
}

// this function calculates N
float Periods(float investment_value, float end_value, float percents_per_period)
{
  float I=percents_per_period/100;

  return log(end_value*I/investment_value+1)/log(1+I);
}

void main(void)
{
  // If we will invest $1000 every year during 10 years and bank pays 3%
  // per year the final sum on the account will be...
  printf("%fn",EndValue(1000,3,10));

  // How much years we will wait if we invest $1000 every year and want to
  // get $30000. Bank pays 3% per year
  printf("%fn",Periods(1000,30000,3));

  // How much should we invest every year if we want to get $30000 and we
  // can wait 20 years and bank pays 3% per year
  printf("%fn",InvestmentValue(30000,3,20));

  // If we want to invest $1000 every year during 20 years and get $30000
  // then we need to find bank which pays 'PercentsPerPeriod' % per year
  printf("%fn",PercentsPerPeriod(1000,30000,20));
}
Сайт: forum.vingrad.ru






Просмотров: 2768

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную