home *** CD-ROM | disk | FTP | other *** search
- 1000 REM ---------------------
- 1001 REM PGM GENERATES PAYMENT
- 1002 REM SCHEDULE FOR DIRECT
- 1003 REM REDUCTION LOAN WITH
- 1004 REM PRIN VAL VS. INTEREST
- 1005 :
- 1006 REM BY LARRY ABRAMS
- 1007 REM ARIES SOFTWARE
- 1008 :
- 1009 REM APPLESOFT / 7.20.80
- 1010 REM ---------------------
- 1011 :
- 2000 REM PGM INITIALIZATION
- 2001 ONERR GOTO 8001
- 2002 FLAG = 0
- 2003 :
- 3000 REM MENU / INPUT SECTION
- 3001 HOME : VTAB 5
- 3002 PRINT "1. MAX BORROW AMOUNT"; TAB( 25);: IF FLAG THEN PRINT A(1): GOTO 3004
- 3003 INPUT A(1)
- 3004 PRINT "2. CHANGE IN AMOUNT"; TAB( 25);: IF FLAG THEN PRINT A(2): GOTO 3006
- 3005 INPUT A(2)
- 3006 PRINT "3. MAX INTEREST RATE"; TAB( 25);: IF FLAG THEN PRINT A(3): GOTO 3008
- 3007 INPUT A(3)
- 3008 PRINT "4. CHANGE IN INT RATE"; TAB( 25);: IF FLAG THEN PRINT A(4): GOTO 3010
- 3009 INPUT A(4)
- 3010 PRINT "5. LOAN TERM (MONTHS)"; TAB( 25);: IF FLAG THEN PRINT A(5): GOTO 3012
- 3011 INPUT A(5):FLAG = 1
- 3012 PRINT : INVERSE : PRINT " TYPE 'END' TO END ": NORMAL : VTAB 18: INPUT "ANY CHANGES? ";Y$
- 3013 IF LEFT$(Y$,1) = "N" THEN 6001
- 3014 IF Y$ = "END" THEN END
- 3015 INPUT "WHICH ONE? ";W: PRINT "CHANGE PART ";W;" TO ";: INPUT A(W): GOTO 3001
- 3016 :
- 4000 REM PAYMENT CALCULATION
- 4001 I = J/1200
- 4002 PMT = (K *I)/(1 -(1 +I) ^( -A(5)))
- 4003 RETURN
- 4004 :
- 5000 REM PRINTUSING SUBROUTINE
- 5001 P$ = STR$( INT((P +.005) *100))
- 5002 IF LEN(P$) <3 THEN P$ = LEFT$("000",(3 - LEN(P$))) +P$
- 5003 P$ = LEFT$(P$,( LEN(P$) -2)) +"." + RIGHT$(P$,2)
- 5004 P$ = RIGHT$(" " +P$,PL)
- 5005 RETURN
- 5006 :
- 6000 REM OUTPUT HEADING SECTION
- 6001 HOME : HTAB 13: INVERSE : PRINT " TERM: ";A(5);" MONTHS ": NORMAL
- 6002 VTAB 2: PRINT "PRCNT";
- 6003 FOR K = A(1) -4 *A(2) TO A(1) STEP A(2):P$ = STR$( INT(K)):PL = 7: GOSUB 5004: PRINT P$;: NEXT K
- 6004 FOR DASH = 0 TO 39: PRINT "-";: NEXT DASH
- 6005 :
- 7000 REM MAIN PROGRAM
- 7001 J = A(3)
- 7002 P = J:PL = 5: GOSUB 5001: PRINT P$;
- 7003 FOR K = A(1) -4 *A(2) TO A(1) STEP A(2)
- 7004 GOSUB 4001
- 7005 P = PMT:PL = 7: GOSUB 5001: PRINT P$;
- 7006 NEXT K
- 7007 J = J -A(4)
- 7008 IF PEEK(37) <22 AND J >0 THEN 7002
- 7009 VTAB 24: INVERSE : PRINT " ANY KEY FOR MENU ";: NORMAL
- 7010 IF PEEK( -16384) <128 THEN 7010
- 7011 GOTO 3001
- 7012 :
- 8000 REM ERROR TRAP SUBROUTINE
- 8001 IF PEEK(222) = 255 THEN END
- 8002 HOME : VTAB 5: INVERSE : PRINT "CHECK APPLESOFT MANUAL PG 136 FOR ERR": NORMAL
- 8003 PRINT "ERROR IS NUMBER "; PEEK(222): PRINT "LOCATED IN LINE "; PEEK(218) + PEEK(219) *256: END