Compucolor.org – Virtual Media

Listing of file='COMPIN.BAS;01' on disk='vmedia/chip_57-sector.ccvf'

10 REM KY COMPOUND AMMOUNTS        R. FERGUSON        MAY81

11 KB= 33278:PE= 12
15 PLOT 6,5,12,3,20,15
17 PRINT "INSRUCTIONS  (Y/N)  ";
19 POKE KB,0
20 KR= PEEK (KB):IF KR= 0THEN 20
21 PRINT
22 IF KR= 78THEN 1000
25 PLOT 6,3,12
30 PRINT "THIS PROGRAM MAY BE USED TO CALCULATE VALUES
35 PRINT
40 PRINT "ASSOCIATED WITH COMPOUND INTEREST AND DEPRECIATION
50 PRINT :PRINT "PROBLEMS.
60 PRINT :PRINT :PRINT
70 PRINT "FIRSTLY CHOOSE YOUR MODE :
80 PRINT :PRINT "'0' IS USED FOR HIRE PURCHASE & COMPOUND ";
90 PRINT "INTEREST PROBLEMS
95 PRINT :PRINT "'1' IS USED FOR LEASING
100 PRINT :PRINT :PRINT
105 PRINT "THEN INPUT STAMP DUTY RATE, IF ANY
110 PRINT :PRINT :PRINT
120 PRINT "NEXT USE THE INPUT CODE TO INPUT ANY 4 VARIABLES
125 PRINT
130 PRINT "THEN USE THE EXECUTE CODE TO FIND THE UNKNOWN
135 POKE KB,0:PLOT 3,20,28,22:PRINT "ANY KEY TO CONT.  ";
140 KR= PEEK (KB):IF KR= 0THEN 140
145 PRINT
190 GOTO 1000
200 REM LBL 0
202 F1= 0:IF D= 0THEN F1= 1
204 R5= 1:R9= B/ 100:R7= 1+ R9:IF F0= 1THEN R5= R7
206 R8= R7^ - A:A2= R8* E:R4= 1- R8
208 R3= C/ R9:IF F1= 1THEN R3= R3* - 1
210 A1= R3* R4* R5
212 RETURN
220 REM LBL A
225 A= 0:GOSUB 200
230 A= (LOG ((E- (R3* R5))/ (D- (R3* R5))))/ LOG (R7)
235 GOTO 1000
240 REM LBL B
245 B= 0:IF C= 0THEN 400
250 G1= A* C+ E:IF D= 0THEN 260
255 G1= (G1- D)/ A/ D:GOTO 265
260 G1= (2* (E- (A* C)))/ (((A- 1)^ 2)* C+ E)
265 IF G1< - .9THEN G1= - .9
270 G1= G1* 100:B= B+ G1
275 IF G1= 0THEN B= 0
280 GOSUB 200
285 G1= A1+ A2:IF F1= 1THEN G1= G1* - 1
290 G1= G1- D
295 R6= A/ R7* R8:IF F1= 1THEN R6= 0
300 G2= R6:IF F1= 1THEN G2= A/ R7
305 G2= (G2- R4/ R9)* R5
310 IF F0= 1THEN G2= G2+ R4
315 G2= (G2* C/ R9)- (R6* E)
320 G3= G1/ G2* - 1:B= B+ (G3* 100)
325 IF INT (G3/ 1* 100000)/ 1000< > 0THEN 280
330 GOTO 1000
335 REM LBL C
340 C= 1:GOSUB 200
345 C= (D- A2)* (1/ A1)
350 GOTO 1000
355 REM LBL D
360 D= 1:GOSUB 200
365 D= A1+ A2
370 GOTO 1000
375 REM LBL E
380 GOSUB 200
385 E= (D- A1)/ R8
390 GOTO 1000
400 REM LBL 8
405 B= B+ ((E/ D)^ (1/ A)- 1)* 100
410 GOTO 1000
1000 REM DISPLAY
1010 PLOT 6,1,12,14
1020 C1= 8:C2= 20:C3= 40
1030 PRINT "INPUT";TAB( C1);"EXECUTE";TAB( C2);"FUNCTION";TAB( C3);"VALUE
1040 C1= 9:C2= 18:C3= 38
1050 PLOT 15,3,2,4:PRINT "1";TAB( C1);"A";TAB( C2);"NO OF PERIODS";TAB( C3);INT (A+ .5);"
1060 PLOT 3,2,6:PRINT "2";TAB( C1);"B";TAB( C2);"INTEREST";TAB( C3);INT (B* PE* 10+ .5)/ 10;"
1070 PLOT 3,2,8:PRINT "3";TAB( C1);"C";TAB( C2);"PAYMENT";TAB( C3);INT (C* (1+ SD)* 100+ .5)/ 100;"
1080 PLOT 3,2,10:PRINT "4";TAB( C1);"D";TAB( C2);"PRES. VALUE";TAB( C3);INT (D+ .5);"
1090 PLOT 3,2,12:PRINT "5";TAB( C1);"E";TAB( C2);"BALANCE";TAB( C3);INT (E+ .5);"
1100 PLOT 3,2,16:PRINT "6";TAB( C2);"MODE";TAB( C3);F0;"
1110 PLOT 3,2,18:PRINT "7";TAB( C2);"PERIODS IN YEAR";TAB( C3);PE;"
1120 PLOT 3,2,20:PRINT "8";TAB( C2);"S.DUTY RATE";TAB( C3);INT (SD* 1000+ .5)/ 10;"
1130 PLOT 3,2,22:PRINT TAB( C1);"I";TAB( C2);"INSTRUCTIONS
1140 PLOT 3,2,24:PRINT TAB( C1);"Q";TAB( C2);"QUIT
1200 POKE KB,0:PLOT 3,20,28:PRINT "YOUR CHOICE ?    ";
1210 KR= PEEK (KB):IF KR= 0THEN 1210
1220 PRINT :PLOT 3,0,28,11:PLOT 3,20,28
1230 IF KR= 49THEN INPUT "NO OF PERIODS > ";A
1240 IF KR= 50THEN INPUT "INT.RATE (PA) > ";B:B= B/ PE
1250 IF KR= 51THEN INPUT "PAYMENT > ";C:C= C/ (1+ SD)
1260 IF KR= 52THEN INPUT "PRES.VALUE > ";D
1270 IF KR= 53THEN INPUT "BALANCE > ";E
1280 IF KR= 54THEN INPUT "MODE (0 OR 1) > ";F0
1290 IF KR= 55THEN INPUT "PERIODS/YEAR > ";PE
1295 IF KR= 56THEN INPUT "S.DUTY RATE > ";SD:SD= SD/ 100
1300 IF KR= 65THEN 220
1310 IF KR= 66THEN 240
1320 IF KR= 67THEN 335
1330 IF KR= 68THEN 355
1340 IF KR= 69THEN 375
1350 IF KR= 73THEN 25
1400 IF KR= 81THEN PLOT 3,0,24,19:END
1800 GOTO 1000
50000 PLOT 22,12
50010 INPUT "PAYMENT > ";PA
50020 INPUT "LEASE LENGTH >";LL
50030 INPUT "TIME RUN > ";TR
50040 INPUT "RESIDUAL >";R
50050 INPUT "PRINCIPAL>";P
50060 A= PA* (LL- TR)
50070 C= PA* LL
50080 C= A
50090 D= PA* LL
50100 B= A/ D
50110 PO= (A+ R)- B* ((C+ R)/ (D+ R))* (D+ R- P)
50120 PRINT
50130 PRINT
50140 PRINT "PAYOUT = ";PO