9000 REM *****ANNUIT*****BUSINESS PROGRAM 9004 REM ANNUIT**********VERSION #1 (7/31/69)*****ANNUITY***** 9008 REM COMPUTES PAYMENT AND WITHDRAWAL ANNUITIES 9012 PRINT "* ANNUITY *" 9016 LET S=0 9020 PRINT 9024 PRINT "THIS PROGRAM COMPUTES PAYMENT AND WITHDRAWAL ANNUITIES." 9025 GOTO 9804 9028 PRINT 9032 PRINT "WHICH ANNUITY TYPE (1=PAYMENT, 2=WITHDRAWAL)"; 9036 DEF FNA(U)=.01*INT(100*U+.5) 9040 INPUT A 9044 GOTO 9064 9048 IF A=1 THEN 9060 9052 LET A=1 9056 GOTO 9064 9060 LET A=2 9064 IF A=1 THEN 9084 9068 IF A=2 THEN 9328 9072 PRINT 9076 PRINT " ANSWER 1 OR 2 PLEASE." 9080 GOTO 9024 9084 IF S=1 THEN 9104 9092 PRINT 9096 PRINT "WHICH VARIABLE IS UNKNOWN (1=N,2=A,3=I,4=R)"; 9100 INPUT D 9104 IF D=1 THEN 9132 9108 IF D=2 THEN 9164 9112 IF D=3 THEN 9196 9116 IF D=4 THEN 9220 9120 PRINT 9124 PRINT " ANSWER 1,2,3,OR 4 PLEASE." 9128 GOTO 9092 9132 PRINT 9136 PRINT "WHAT ARE A($),I(PCT),R($)"; 9140 INPUT A1,I1,R1 9144 LET I1=I1/100 9148 LET N1=LOG((A1*I1/R1)+1)/LOG(1+I1) 9152 PRINT 9156 PRINT "NUMBER OF PERIODS = N =";N1 9160 GOTO 9252 9164 PRINT 9168 PRINT "WHAT ARE N(INTEGER),I(PCT),R($)"; 9172 INPUT N1,I1,R1 9176 LET I1=I1/100 9180 LET A1=R1*((1+I1)^N1-1)/I1 9184 PRINT 9188 PRINT "AMOUNT AT END OF N PERIODS = A =";A1 9192 GOTO 9252 9196 PRINT 9200 PRINT "WHAT ARE N(INTEGER),A($),R($)"; 9204 INPUT N1,P1,R1 9208 PRINT 9212 IF N1*R1>P1 THEN 9788 9216 GOTO 9624 9220 PRINT 9224 PRINT "WHAT ARE N(INTEGER),A($),I(PCT)"; 9228 INPUT N1,A1,I1 9232 LET I1=I1/100 9236 LET R1=A1*I1/((1+I1)^N1-1) 9240 PRINT 9244 PRINT "PAYMENT EACH PERIOD = R =";R1 9248 GOTO 9252 9252 PRINT 9256 PRINT " ---------------" 9260 PRINT 9264 PRINT "ANOTHER CASE? ENTER ONE OF THE FOLLOWING: 1)'1' FOR ANOTHER CASE, SAME" 9268 PRINT "TYPE; 2)'2' FOR ANOTHER CASE, DIFFERENT UNKNOWN; 3)'3' FOR ANOTHER" 9272 PRINT "CASE, OTHER TYPE OF ANNUITY; 4)'4' TO GET TOTAL INTEREST PAID OVER THE" 9276 PRINT "N PERIODS; 5)'5' FOR A TABLE OF WITHDRAWALS, PRINCIPAL, AND INTEREST;" 9280 PRINT "OR 6)'6' TO TERMINATE"; 9284 INPUT S 9288 IF S=1 THEN 9064 9292 IF S=2 THEN 9064 9296 IF S=3 THEN 9048 9300 IF S=6 THEN 9796 9304 IF A <> 1 THEN 9320 9308 PRINT 9312 PRINT "ALTERNATIVE NOT APPLICABLE TO PAYMENT ANNUITIES." 9316 GOTO 9252 9320 IF S=4 THEN 9404 9324 IF S=5 THEN 9404 9328 IF S=1 THEN 9344 9332 PRINT 9336 PRINT "WHICH VARIABLE IS UNKNOWN (1=N,2=P,3=I,4=R)"; 9340 INPUT A1 9344 IF A1=1 THEN 9372 9348 IF A1=2 THEN 9572 9352 IF A1=3 THEN 9604 9356 IF A1=4 THEN 9748 9360 PRINT 9364 PRINT " ANSWER 1,2,3, OR 4 PLEASE." 9368 GOTO 9340 9372 PRINT 9376 PRINT "WHAT ARE P($),I(PCT),R($)"; 9380 INPUT P1,I1,R1 9384 LET I1=I1/100 9388 LET N1=LOG(R1/(R1-P1*I1))/LOG(1+I1) 9392 PRINT 9396 PRINT "NUMBER OF PERIODS = N =";N1 9400 GOTO 9252 9404 LET N1=N1+.00001 9408 LET P2=INT(N1)-N1 9412 IF ABS(P2)>.00001 THEN 9424 9416 LET N1=N1-1 9420 GOTO 9428 9424 LET N1=INT(N1) 9428 LET P2=1 9432 IF S=4 THEN 9460 9436 IF S=5 THEN 9440 9440 LET P2=0 9444 PRINT 9448 PRINT "PERIOD","PRINCIPAL","INTEREST","PRINC BAL","INT TO DATE" 9452 PRINT 9456 PRINT " 0"," "," ",P1 9460 LET X=0 9464 LET X9=P1 9468 LET Y=0 9472 FOR S=1 TO N1 9476 LET A3=(R1-P1*I1)*(1+I1)^(S-1) 9480 LET A2=FNA(A3) 9484 LET C=R1-A3 9488 LET B=FNA(C) 9492 LET X=X+A3 9496 LET X9=X9-A3 9500 LET Y=FNA(Y+C) 9504 IF P2 <> 0 THEN 9512 9508 PRINT S,A2,B,X9,Y 9512 NEXT S 9516 LET S=N1+1 9520 LET A3=P1-X 9524 LET A2=FNA(A3) 9528 LET B1=I1*A3 9532 LET B=FNA(B1) 9536 LET X=X+A3 9540 LET X9=0 9544 LET Y=Y+B1 9548 IF P2=0 THEN 9564 9552 PRINT 9556 PRINT "TOTAL INTEREST PAID =";Y 9560 GOTO 9252 9564 PRINT S,A2,B,X9,Y 9568 GOTO 9252 9572 PRINT 9576 PRINT "WHAT ARE N(INTEGER),I(PCT),R($)"; 9580 INPUT N1,I1,R1 9584 LET I1=I1/100 9588 LET P1=R1*((1+I1)^N1-1)/(I1*(1+I1)^N1) 9592 PRINT 9596 PRINT "ORIGINAL PRINCIPAL AMOUNT IS";P1 9600 GOTO 9252 9604 PRINT 9608 PRINT "WHAT ARE N(INTEGER),P($),R($)"; 9612 INPUT N1,P1,R1 9616 PRINT 9620 IF N1*R1 <= P1 THEN 9780 9624 PRINT 9628 LET I1=.1 9632 LET I2=0 9636 LET I3=1 9640 IF A <> 1 THEN 9652 9644 LET P3=R1*((1+I1)^N1-1)/I1 9648 GOTO 9656 9652 LET P3=R1*((1+I1)^N1-1)/(I1*(1+I1)^N1) 9656 LET P4=ABS(P1-P3) 9660 IF P4>.001 THEN 9672 9664 PRINT "INTEREST PER PERIOD (PCT) = I =";100*I1 9668 GOTO 9252 9672 IF P4/P1>.3 THEN 9716 9676 IF A=1 THEN 9688 9680 IF P3P1 THEN 9704 9692 LET I2=I1 9696 LET I1=(I1+I3)/2 9700 GOTO 9640 9704 LET I3=I1 9708 LET I1=(I1+I2)/2 9712 GOTO 9640 9716 IF A=1 THEN 9728 9720 IF P3P1 THEN 9736 9732 GOTO 9692 9736 LET I3=I1 9740 LET I1=(I1+I2)/4 9744 GOTO 9640 9748 PRINT 9752 PRINT "WHAT ARE N(INTEGER),P($),I(PCT)"; 9756 INPUT N1,P1,I1 9760 LET I1=I1/100 9764 LET R1=P1*I1*(1+I1)^N1/((1+I1)^N1-1) 9768 PRINT 9772 PRINT "WITHDRAWAL EACH PERIOD = R =";R1 9776 GOTO 9252 9780 PRINT "THE PRINCIPAL [P] IS NOT RECOVERED; [I] MUST BE POSITIVE." 9784 GOTO 9604 9788 PRINT "AMOUNT PAID IN [N*R] NOT RECOVERED; [I] MUST BE POSITIVE" 9792 GOTO 9196 9796 STOP 9804 PRINT 9808 PRINT "DEFINITION OF VARIABLES:" 9812 PRINT " --N = NUMBER OF PERIODS" 9816 PRINT " --A = AMOUNT LEFT AT END OF N PERIODS" 9820 PRINT " --I = INTEREST IN PERCENT PER PERIOD" 9824 PRINT " --R = AMOUNT OF PAYMENT PER PERIOD" 9828 PRINT " --P = ORIGINAL PRINCIPAL AMOUNT" 9832 PRINT 9836 PRINT "----------------------------------------------------------------------" 9840 GOTO 9028 9999 END