Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program AnnuityPay;
- var CreditAmount : real; AnnualProcent : real; TermMonths : integer;
- var MonthPayment: real; CurrentDebt : real; i : integer; procent : real; r:real; ProcentAll : real; DebtAll : real; PaymentAll : real;
- begin
- readln(CreditAmount); readln(AnnualProcent); readln(TermMonths);
- writeln('месяц | задолженность | проценты | долг | общий платеж');
- //X^Y = exp(ln(X) * Y)
- r := AnnualProcent / 12;
- MonthPayment := CreditAmount * r / 100 /
- (1 - (1 / exp(ln(1 + r / 100) * TermMonths)));
- CurrentDebt := CreditAmount;
- ProcentAll := 0;
- DebtAll := 0;
- PaymentAll := 0;
- for i := 1 to TermMonths do
- begin
- procent := CurrentDebt / 100 * r;
- ProcentAll += procent;
- DebtAll += MonthPayment - procent;
- PaymentAll += MonthPayment;
- writeln(i:5, ' | ', CurrentDebt:13:2, ' | ', procent:8:2, ' | ',
- (MonthPayment - procent):9:2, ' | ', MonthPayment:6:2);
- CurrentDebt -= MonthPayment - procent;
- end;
- writeln('ИТОГО | | ', ProcentAll:8:2, ' | ',
- DebtAll:8:2, ' | ', PaymentAll:8:2);
- writeln('Переплата: ', (PaymentAll - CreditAmount):2:2, ' Процент переплаты: ',
- ((PaymentAll - CreditAmount) / CreditAmount * 100):2:2, '%');
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement