Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2014, 22:04   #1
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию Простые и сложные проценты (Dephi)

Программа, которая вычисляет доход по вкладу. Программа должна обеспечивать расчет простых и сложных процентов. Простые проценты начисляются в конце срока вклада, сложные — ежемесячно и прибавляются к первоначальной сумме вклада и в следующем месяце проценты начисляются на новую сумму.

При вычислении сложных процентов получается очень большая сумма,я думаю, так быть не должно.
Отредактируйте пожалуйста код.
Вложения
Тип файла: rar Procentu.rar (164.0 Кб, 52 просмотров)
tane вне форума Ответить с цитированием
Старый 22.01.2014, 22:07   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Вроде бы определение сложных и простых проще.
Простые % - это % только на начальную сумму вклада.
Сложные % - это % на текущую сумму вклада. То есть % на % начисляются. То есть рекапитализация.
Простые вычисляются умножением, сложные - возведением в степень.
type_Oleg вне форума Ответить с цитированием
Старый 22.01.2014, 23:50   #3
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию

type_Oleg,я посмотрел на сайтах, степень в фурмуле - это количество периодов капитализации за весь период вклада.
А у меня в лабораторной нужно сделать по такому примеру(рис1).Т.е у нас должен быть пункт Сумма, к-во дней(срок) и % ставка.
Изображения
Тип файла: jpg Рис1.jpg (22.3 Кб, 259 просмотров)
tane вне форума Ответить с цитированием
Старый 23.01.2014, 00:07   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Я так понимаю:
Например, сколько % накапает за полгода при 20% годвых?
1 вариант -простой процент. Ответ = 20/2 = 10 %

2 вариант - сложный процент.
Решение: (1+20/100)^(1/2) = 1.095445115
(1.095445115-1)*100 = 9.544511501 %

То же самое , за 10 лет
1 = 200%
2 = 519 %
type_Oleg вне форума Ответить с цитированием
Старый 23.01.2014, 00:44   #5
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию

В учебнике по Delphi нашел эту задачу.
Формула для простых процентов: доход:=sum*(pr/100/12)*period
Для сложных:sum2:=sum;
for i:=1 to period do
sum2:=sum2+sum2*(pr/100/12);

Благодарю за отклик.
tane вне форума Ответить с цитированием
Старый 23.01.2014, 00:53   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Пример только для целых периодов. А для 1/2 года например - не годится.
type_Oleg вне форума Ответить с цитированием
Старый 23.01.2014, 01:05   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну почему не годится?!
На мой взгляд, абсолютно нормальные формулы.
Не забываем, что обычно сложные проценты начисляются ежемесячно.
Именно поэтому период должен быть задан строго в целом числе, равном количеству месяцев, и именно поэтому в формулах присутствует /12 (деление годовых процентов на 12 месяцев).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.01.2014, 01:26   #8
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию

Я учусь не на банкира,так что результат меня более-менее устраивает. Вот код.
Может в будущем кому-то пригодится.
Спасибо господа!

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    procedure Button1Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
 var
sum:Real; //сумма вклада
pr:Real; // поцентная ставка
period:Integer; //срок вклада
profit:Real;// доход по вкладу
sum2:Real;// сума пи вычислении сложных процентов 
i:integer;
begin
  sum:=StrToFloat(Edit1.Text);
  pr:=strtofloat(Edit2.Text);
  period:=StrToInt(Edit3.Text);
  if RadioButton1.Checked then
  profit:=sum*(pr/100/12)*period else
  begin
    sum2:=sum;
    for i:=1 to period do
    sum2:=sum2+sum2*(pr/100/12);
    profit:=sum2-sum;
  end;
  sum:=sum+profit;
  Label1.Caption:='Доход:'+floattostrF(profit,ffCurrency,6,2)+#13+'Сумма в конце срока вклада'+floattostrF(sum,ffcurrency,6,2)
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
Label1.Caption := 'Срок (дней)';
Label2.Caption := '';

end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Label1.Caption := 'Срок (мес.)';
Label2.Caption := '';

end;

end.
tane вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проценты Farmokolog Общие вопросы Delphi 1 19.02.2011 16:29
Проценты boomeer Помощь студентам 4 26.10.2010 21:38
Проценты Nitriyc Microsoft Office Excel 4 05.12.2009 22:02
Проценты в Excel OKS Microsoft Office Excel 3 02.03.2009 15:04
Проценты... Siver Microsoft Office Excel 2 20.12.2008 08:57