Advertisement
Guest User

govno_jhopa

a guest
Nov 15th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.37 KB | None | 0 0
  1. Program AnnuityPay;
  2.  
  3. var CreditAmount : real; AnnualProcent : real; TermMonths : integer;
  4. var MonthPayment: real; CurrentDebt : real; i : integer; procent : real; r:real; ProcentAll : real; DebtAll : real; PaymentAll : real;
  5.  
  6. begin
  7.     readln(CreditAmount); readln(AnnualProcent); readln(TermMonths);
  8.  
  9.     writeln('месяц | задолженность | проценты | долг      | общий платеж');
  10.    
  11.     r := AnnualProcent / 12;
  12.    
  13.     MonthPayment := CreditAmount * r / 100 /
  14.     (1 - (1 / exp(ln(1 + r / 100) * TermMonths)));
  15.    
  16.     CurrentDebt := CreditAmount;
  17.    
  18.     ProcentAll := 0;
  19.     DebtAll := 0;
  20.     PaymentAll := 0;
  21.    
  22.     for i := 1 to TermMonths do
  23.     begin
  24.         procent := CurrentDebt / 100 * r;
  25.         ProcentAll += procent;
  26.         DebtAll += MonthPayment - procent;
  27.         PaymentAll += MonthPayment;
  28.        
  29.         writeln(i:5, ' | ', CurrentDebt:13:2, ' | ', procent:8:2, ' | ',
  30.         (MonthPayment - procent):9:2, ' | ', MonthPayment:6:2);
  31.        
  32.         CurrentDebt -= MonthPayment - procent;
  33.     end;    
  34.    
  35.     writeln('ИТОГО |               | ', ProcentAll:8:2, ' | ',
  36.     DebtAll:8:2, ' | ', PaymentAll:8:2);
  37.     writeln('Переплата: ', (PaymentAll - CreditAmount):2:2, ' Процент переплаты: ',
  38.     ((PaymentAll - CreditAmount) / CreditAmount * 100):2:2, '%');
  39. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement