42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
/******************************************************/
|
||
/* This program produces a schedule of loan payments */
|
||
/* using the following algorithm: if P = loan payment,*/
|
||
/* i = interest, and PMT is the monthly payment then */
|
||
/* P = (P + (i*P) - PMT. */
|
||
/******************************************************/
|
||
loan1:
|
||
procedure options(main);
|
||
declare
|
||
m fixed binary,
|
||
y fixed binary,
|
||
P fixed decimal(11,2),
|
||
PMT fixed decimal(6,2),
|
||
i fixed decimal(4,2);
|
||
|
||
do while('1'b);
|
||
put skip list('Principal ');
|
||
get list(P);
|
||
put list('Interest ');
|
||
get list(i);
|
||
put list('Payment ');
|
||
get list(PMT);
|
||
m = 0;
|
||
y = 0;
|
||
do while (P > 0);
|
||
if mod(m,12) = 0 then
|
||
do;
|
||
y = y + 1;
|
||
put skip list('Year',y);
|
||
end;
|
||
m = m + 1;
|
||
put skip list(m,P);
|
||
P = P + round( i * P / 1200, 2);
|
||
if P < PMT
|
||
then PMT = P;
|
||
put list(PMT);
|
||
P = P - PMT;
|
||
end;
|
||
end;
|
||
|
||
end loan1;
|
||
|