10 DIM Z$(5) 20 DIM M$(5) 30 PR$="####.##%" 40 V$="$$#,###,###,###.##" 50 I$="###.##%" 55 PRINT CHR$(26); 60 D$="-----------------------------------------------------------------------------" 70 I2$="##" 80 Y$="Y":N$="N" 90 DEFDBL J,B,R,A,Q,P,T,Y 110 PRINT D$; 120 PRINT TAB(38);"MENU" 130 PRINT D$; 140 PRINT "(1) Future Value of Investment (11) Depreciated Investment" 150 PRINT 160 PRINT "(2) Future Value of Annuity (12) Salvage Value Year End" 170 PRINT 180 PRINT "(3) Future Value of Savings (13) Discounted Commercial Paper" 190 PRINT "(4) Withdrawals From Investment (14) Loan Principal" 200 PRINT 210 PRINT "(5) Minimum Investment for Income (15) Loan Payment Schedules" 220 PRINT 230 PRINT "(6) Income From Investments (16) Final Loan Payments" 240 PRINT 250 PRINT "(7) Nominal Interest Rates (17) Remaining Loan Balance" 260 PRINT 270 PRINT "(8) Effective Interest Rates (18) Loan Repayment Periods" 280 PRINT 290 PRINT "(9) Earned Interest Table (19) Loan Annual Interest Rate" 300 PRINT 310 PRINT "(10) Annual Depreciation Rate (20) Mortgage Amort Table" 320 PRINT D$; 325 PRINT 330 INPUT "Select a Program by Number (0 to Exit): ";Z 340 IF Z=0 THEN 3630 350 ON Z GOTO 390,530,650,790,890,1000,1110,1200,1290,1360,1480,1680,1880 360 IF Z>=14 THEN Z1=Z-13 370 ON Z1 GOTO 2090,2250,2440,2680,2940,3120,3180 380 GOTO 55 390 GOSUB 3600 400 PRINT" #1 Future Value of Investment":PRINT D$ 420 INPUT "Enter the Initial Value of Investment: ";P:PRINT USING V$;P 430 INPUT "Enter Nominal Interest Rate: ";I:PRINT USING I$;I 440 PRINT:INPUT "Enter Number of Compounding Periods Each Year: ";N:PRINT N 450 PRINT 460 INPUT "Enter Number of Years for the Investment: ";Y:PRINT Y 470 PRINT 480 I=I/N/100 490 T=P*(I+1)^(N*Y):PRINT:PRINT 500 PRINT"Future Value of This Investment is: ";:PRINT USING V$;T 510 INPUT "Want Another Future Value Calculation (Y or N): ";ANS$ 520 IF LEFT$(ANS$,1)=Y$ THEN 390 ELSE 55 530 GOSUB 3600:PRINT" Future Value of Regular Deposits - Annunity":PRINT D$ 550 INPUT "Enter Amount of Regular Deposit: ";R 560 PRINT USING V$;R 570 INPUT "Enter Nominal Interest Rate: ";I:PRINT USING I$;I 580 PRINT:INPUT "Enter Number of Deposits Each Year: ";N:PRINT N 590 PRINT:INPUT "Enter the Number of Years: ";Y:PRINT Y 600 I=I/N/100 610 T=R*((I+1)^(N*Y)-1)/I 620 PRINT:PRINT "FUTURE VALUE IS: ";:PRINT USING V$;T 630 INPUT "Another Future Value Calculation (Y or N): ";ANS$ 640 IF LEFT$(ANS$,1)="Y" THEN 530 ELSE PRINT CHR$(26);: GOTO 55 650 GOSUB 3600 660 PRINT " Future Value of Annuity or Savings Account" 670 GOSUB 3610 680 INPUT "Enter Desired Future Value: ";T:PRINT USING V$;T 690 INPUT "Enter Nominal Interest Rate: ";I:PRINT USING I$;I 700 PRINT:INPUT "Enter Number of Deposits Per Year: ";N:PRINT N 710 PRINT:INPUT "Enter the Number of Years: ";Y:PRINT Y 720 I=I/N/100 730 R=T*I/((I+1)^(N*Y)-1) 740 R$=STR$(R):T$=STR$(T) 750 L1=LEN(R$):L2=LEN(T$) 760 PRINT:PRINT:PRINT"Regular deposits of: ";:PRINT USING V$;R;:PRINT" will yield:";:PRINT USING V$;T:PRINT" in: ";Y;" years" 770 INPUT "Another run (Y or N): ";ANS$ 780 IF LEFT$(ANS$,1)="Y" THEN 650 ELSE 55 790 GOSUB 3600:PRINT" Regular Wuthdrawals from an Investment":PRINT D$ 800 INPUT "Enter the amount of your initial investment: ";P:PRINT USING V$;P 810 INPUT "Enter nominal interest rate: ";I:PRINT I 820 PRINT:INPUT "Enter the number of withdrawals each year: ";N:PRINT N 830 PRINT:INPUT "Enter the number of years: ";Y:PRINT Y 840 I=I/N/100 850 R=P*(I/((I+1)^(N*Y)-1)+I) 860 PRINT"You may withdraw: ";:PRINT USING V$;R;:PRINT" from your account: ";N:PRINT"times per year for : ";Y;" years without reducing your initial investment" 870 INPUT "Do you want another calculation (Y or N): ";ANS$ 880 IF ANS$="Y" THEN 790 ELSE 55 890 GOSUB 3600:PRINT" INVESTMENT REQUIRED TO PROVIDE FUTURE VALUE":GOSUB 3610 900 INPUT "Enter amount you wish to end up with: ";T:PRINT USING V$;T 910 INPUT "Enter the number of compounding periods each year: ";N:PRINT N 920 PRINT:INPUT "Enter the number of years for this investment: ";Y:PRINT Y 930 PRINT:INPUT "Enter the nominal interest rate: ";I:PRINT I 940 I1=I 950 I=I/N/100 960 P=T/(I+1)^(N*Y) 970 PRINT"You must invest: ";:PRINT USING V$;P;:PRINT" to yield: ";:PRINT USING V$;T 980 INPUT "Do you want to make another calculation: ";ANS$ 990 IF ANS$="Y" THEN 890 ELSE 55 1000 GOSUB 3600:PRINT" MINIMUM INVESTMENT FOR INCOME";:PRINT D$ 1010 INPUT "Enter number of withdrawals each year: ";N:PRINT N 1020 INPUT "Enter amount of each withdrawal: ";R:PRINT USING V$;R 1030 INPUT "Enter the nominal interest rate: ";I:PRINT USING I$;I 1040 PRINT:INPUT "Withdrawal to occur for how many years: ";Y:PRINT Y 1050 I1=I 1060 I=I/100 1070 P=R*N/I*(1-1/((1+I/N)^(N*Y))) 1080 PRINT"A minimum investment of: ";:PRINT USING V$;P;:PRINT" will yeild your desired return" 1090 INPUT "Do you want another calculation (Y or N): ";ANS$ 1100 IF ANS$="Y" THEN 1000 ELSE 55 1110 PRINT CHR$(26);:PRINT D$:PRINT" NOMINAL INTEREST ON INVESTMENTS:":PRINT D$ 1120 INPUT "Enter the amount of the principal: ";P:PRINT USING V$;P 1130 INPUT "Enter total amount of investment: ";T:PRINT USING V$;T 1140 INPUT "Enter the number of years of the investment: ";Y:PRINT Y 1150 PRINT:INPUT "Enter the compounding periods each year: ";N:PRINT N 1160 I2=N*((T/P)^(1/(N*Y))-1)*100 1170 PRINT "The nominal interest rate for the above parameters is: ";:PRINT I2; 1180 INPUT "Do you want another calculation (Y or N): ";ANS$ 1190 IF ANS$="Y" THEN 1110 ELSE 55 1200 GOSUB 3600:PRINT" EFFECTIVE INTEREST ON INVESTMENTS";:GOSUB 3610 1210 INPUT "Enter the amount of the initial investment";P:PRINT USING V$;P 1220 INPUT "Enter the desired future value: ";T:PRINT USING V$;T 1230 INPUT "Enter the life of the investment in years";Y:PRINT Y;"Years" 1240 A=((T / P) ^ (1 / Y) - 1) * 100 1250 PRINT"The effective annual interest rate of the investment is:";:PRINT USING PR$;A 1260 INPUT "Do you want to run another (Y or N): ";ANS$:IF LEFT$(ANS$,1)=Y$ THEN 1200 ELSE 55 1270 PRINT : IF LEFT$ (Y$,1) = "Y" THEN GOSUB 3570: GOTO 1200 1280 GOTO 55 1290 REM EARNED INTEREST TABLE 1300 PRINT CHR$(26);:PRINT D$ 1310 PRINT "#9 EARNED INTEREST TABLE FOR INVESTMENT" 1320 PRINT 1330 PRINT D$ 1340 PRINT " ******** UNDER CONSTRUCTION ********" 1350 FOR I = 1 TO 2000: NEXT I: GOTO 55 1360 REM DEPRECIATION RATE ON INVESTMENT 1370 GOSUB 3600 1380 PRINT " ANNUAL DEPRECIATION RATE OF AN INVESTMENT" 1390 GOSUB 3610 1400 INPUT "Enter the Original Price of the Item";P:PRINT USING V$;P 1410 INPUT "Enter the Resale Price of the Item";T:PRINT USING V$;T 1420 INPUT "Enter the Item's Life in Years";Y:PRINT USING I2$;Y;:PRINT" Years" 1430 D = 100 * (1 - (T / P) ^ (1 / Y)) 1440 PRINT "If You Purchased This Item for:";:PRINT USING V$;P;:PRINT" and Sold it ";:PRINT USING I2$;Y;:PRINT" Years Later-" 1450 PRINT "for: ";:PRINT USING V$;T;:PRINT", the Actual Depreciation Rate is: ";:PRINT USING PR$;D 1460 INPUT "Another Run (Y or N): ";ANS$ 1470 IF LEFT$ (ANS$,1) = "Y" THEN 1370 ELSE 55 1480 REM CALCULATE THE AMOUNT OF DEPREC OF AN ITEM 1490 GOSUB 3600 1500 PRINT " AMOUNT DEPRECIATED WITHIN A YEAR" 1510 GOSUB 3610 1520 INPUT "Enter the Original Price of the Item:";P:PRINT USING V$;P 1530 PRINT 1540 K = 100 1550 INPUT "WHAT PERCENT DO YOU WANT TO DEPRECIATE";I 1560 PRINT 1570 I = I / 100 1580 PRINT : FOR N = 1 TO K 1590 Y=N 1600 D = P * I * (1 - I) ^ (Y - 1) 1610 PRINT "YEAR #";Y;"DEPRECIATION IS $"; D: PRINT 1620 X = X + 1: IF X = 5 THEN X = 0 1630 PRINT "PRESS RETURN FOR MORE": INPUT X$: PRINT 1640 IF D > = 2 THEN NEXT N 1650 PRINT : INPUT "DO YOU WANT TO RUN ANOTHER (Y/N)";Y$ 1660 IF LEFT$ (Y$,1) = "Y" THEN GOSUB 3570: GOTO 1480 1670 GOTO 55 1680 PRINT CHR$(26);:PRINT D$ 1690 PRINT " #12 CALCULATE THE SALVAGE VALUE" 1700 PRINT " OF AN ITEM..." 1710 PRINT D$ 1720 INPUT "ENTER THE ORIGINAL PRICE OF THE ITEM";P 1730 PRINT 1740 INPUT "ENTER THE ITEM'S DEPRECIATION RATE";I 1750 PRINT 1760 K = 100 1770 FOR N = 1 TO K 1780 Y=N 1790 S = P * (1 - I / 100) ^ Y 1800 PRINT "YEAR #";Y;"SALVAGE VALUE IS $";S 1810 PRINT 1820 X = X + 1: IF X = 5 THEN X = 0 1830 PRINT "PRESS RETURN FOR MORE": INPUT X$: PRINT 1840 IF S > = 2 THEN NEXT N 1850 PRINT : INPUT "DO YOU WANT TO RUN ANOTHER (Y/N)";Y$ 1860 IF LEFT$ (Y$,1) = "Y" THEN GOSUB 3570: GOTO 1680 1870 GOTO 55 1880 REM FIND AMOUNT OF DISC PAPER 1890 PRINT CHR$(26);:PRINT D$ 1900 PRINT "#13 CALCULATE THE NET COST OF DISCOUNTED" 1910 PRINT " PAPER.." 1920 PRINT D$ 1930 PRINT 1940 INPUT "ENTER THE FUTURE VALUE OF THE NOTE";T 1950 INPUT "ENTER THE DISCOUNT RATE";D 1960 PRINT 1970 INPUT "ENTER THE NUMBER OF DAYS TO MATURITY";N 1980 D = D / 100 1990 D1 = T * D * N / 360 2000 PRINT 2010 PRINT "IF YOU PURCHASE A NOTE WORTH $";T 2020 PRINT " DUE IN";N;"DAYS" 2030 PRINT "AT A DISCOUNT RATE OF";D * 100;"PERCENT," 2040 PRINT "THE DISCOUNT AMOUNT WILL BE $";D1 2050 PRINT "AND THE COST WILL BE $";T - D1;" ." 2060 PRINT : PRINT : INPUT "DO YOU WANT TO RUN ANOTHER (Y/N)";Y$ 2070 IF LEFT$ (Y$,1) = "Y" THEN GOSUB 3570: GOTO 1880 2080 GOTO 55 2090 PRINT CHR$(26);:PRINT D$ 2100 PRINT TAB( 5)"#14 PRINCIPAL ON A LOAN" 2110 PRINT 2120 PRINT D$ 2130 INPUT "HOW MANY PAYMENTS DO YOU MAKE EACH YEAR";N 2140 PRINT 2150 INPUT "WHAT IS THE AMOUNT OF EACH PAYMENT";R 2160 PRINT 2170 INPUT "WHAT IS THE LOAN ANNUAL INTEREST RATE";I 2180 PRINT 2190 INPUT "ENTER THE LIFE OF THE LOAN IN YEARS";Y 2200 P = R * N * (1 - 1 / ((I / 100) / N + 1) ^ (N * Y)) / (I / 100) 2210 PRINT:PRINT "The principal on this loan is: "; USING "$$#,###,###.##";P 2220 PRINT : PRINT : INPUT "DO YOU WANT TO RUN ANOTHER (Y/N)";Y$ 2230 IF LEFT$ (Y$,1) = "Y" THEN GOSUB 3570: GOTO 2090 2240 GOTO 55 2250 PRINT CHR$(26);:PRINT D$ 2260 PRINT " #15 REGULAR PAYMENT ON A LOAN.." 2270 PRINT 2280 PRINT D$ 2290 PRINT "WHAT IS THE LIFE OF THE LOAN IN YEARS" 2300 INPUT Y 2310 INPUT"WHAT IS TRHE ANNUAL INTEREST RATE ";I 2320 INPUT "HOW MANY PAYMENTS DO YOU MAKE EACH YEAR";N 2330 INPUT "WHAT IS THE LOAN PRINCIPAL AMOUNT";P 2340 PRINT : PRINT :R = ((I / 100) * P / N) / (1 - 1 / ((I / 100) / N + 1) ^ (N * Y)) 2350 I1 = I 2360 PRINT "Regular payments of "; USING "$$#,###,###.##";R; 2370 PRINT " made ";N;" times each year" 2380 PRINT "are required to satisfy" 2390 PRINT "a loan of "; USING "$$#,###,###.##";P;: PRINT " for a period of "; USING "###";Y;: PRINT" years" 2400 PRINT "at an interest rate of";I1;" pecent per annum." 2410 PRINT : PRINT : INPUT "DO YOU WANT TO RUN ANOTHER (Y/N)";Y$ 2420 IF LEFT$ (Y$,1) = "Y" THEN GOSUB 3570: GOTO 2250 2430 GOTO 55 2440 PRINT CHR$(26);:PRINT D$ 2450 PRINT TAB( 10)"#16 LAST PAYMENT ON A LOAN" 2460 PRINT 2470 PRINT D$ 2480 INPUT "WHAT IS THE LIFE OF THE LOAN IN YEARS";Y 2490 INPUT "ENTER THE ANNUAL INTEREST RATE";I 2500 PRINT 2510 INPUT "WHAT IS THE AMOUNT OF EACH REGULAR PAYMENT";R 2520 PRINT 2530 INPUT "HOW MANY PAYMENTS DO YOU MAKE EACH YEAR";N 2540 PRINT 2550 INPUT "ENTER THE AMOUNT OF THE LOAN PRINCIPAL";P 2560 PRINT :I1 = I:I = I / 100:BO = P 2570 IF N * Y > 100 THEN PRINT TAB( 20)"WORKING THE PROBLEM" 2580 FOR K = 1 TO N * Y 2590 I2 = INT ((BO * I / N) * 100 + .5) / 100 2600 A = R - I2 2610 BO = BO - A 2620 NEXT K 2630 PRINT "THE LAST PAYMENT FOR THIS LOAN," 2640 PRINT "WILL BE $"; INT ((R + BO) * 100 + .5) / 100 2650 PRINT : PRINT : INPUT "DO YOU WANT TO RUN ANOTHER (Y/N)";Y$ 2660 IF LEFT$ (Y$,1) = "Y" THEN GOSUB 3570: GOTO 2440 2670 GOTO 55 2680 PRINT CHR$(26);:PRINT D$ 2690 PRINT " #17 REMAINING BALANCE ON A LOAN" 2700 PRINT 2710 PRINT D$ 2720 INPUT "ENTER THE NUMBERS OF PAYMENTS MADE EACH YEAR";N 2730 PRINT 2740 INPUT "ENTER THE ANNUAL INTEREST RATE";I 2750 PRINT 2760 INPUT "WHAT IS THE AMOUNT OF EACH PAYMENT";R 2770 PRINT 2780 INPUT "WHAT IS THE AMOUNT OF THE LOAN PRINCIPAL";P 2790 PRINT 2800 PRINT "ENTER THE LAST PAYMENT MADE ," 2810 INPUT " (PAYMENT #, YEAR # )";N1,Y 2820 PRINT : PRINT "WORKING ON PROBLEM" 2830 I = I / 100 2840 BO = P 2850 FOR K = 1 TO N * (Y - 1) + N1 2860 I1 = INT ((BO * I / N) * 100 + .5) / 100 2870 A = R - I1 2880 BO = BO - A 2890 NEXT K 2900 PRINT : PRINT "THE REMAINING BALANCE IS $"; INT (BO * 100 + .5) / 100 2910 PRINT : INPUT "DO YOU WANT TO RUN ANOTHER (Y/N)";Y$ 2920 IF LEFT$ (Y$,1) = "Y" THEN GOSUB 3570: GOTO 2680 2930 GOTO 55 2940 PRINT CHR$(26);:PRINT D$ 2950 PRINT TAB( 10)"THE TERM OF A LOAN" 2960 PRINT 2970 PRINT D$ 2980 INPUT "ENTER THE NUMBER OF PAYMENTS EACH YEAR";N 2990 PRINT 3000 INPUT "ENTER THE ANNUAL INTEREST RATE";I 3010 PRINT 3020 INPUT "WHAT IS THE AMOUNT OF EACH REGULAR PAYMENT";R 3030 PRINT 3040 INPUT "WHAT IS THE AMOUNT OF THE LOAN PRINCIPAL";P 3050 PRINT 3060 Y = - ( LOG (1 - (P * (I / 100)) / (N * R)) / ( LOG (1 + I / 100 / N) * N)) 3070 PRINT "A TERM OF"; INT (Y * 10 + .5) / 10;"YEARS WILL SATISFY THIS LOAN." 3080 PRINT "SATISFY THIS SCHEDULE." 3090 PRINT : INPUT "DO YOU WANT TO RUN ANOTHER (Y/N)";Y$ 3100 IF LEFT$ (Y$,1) = "Y" THEN GOSUB 3570: GOTO 2940 3110 GOTO 55 3120 PRINT CHR$(26);:PRINT D$ 3130 PRINT "#19 THE ANNUAL INTEREST RATE ON A LOAN" 3140 PRINT D$ 3150 PRINT " ******** UNDER CONSTRUCTION ********" 3160 FOR I = 1 TO 2000: NEXT I 3170 GOTO 55 3180 PRINT CHR$(26);:PRINT D$ 3190 PRINT " THE MORTGAGE AMORTIZATION TABLE" 3200 PRINT 3210 PRINT " COMPUTE INTEREST PAYMENTS..." 3220 PRINT 3230 PRINT D$ 3240 PRINT D$ 3250 REM LEADING & TRAILING ZERO'S NOT ?"ED" 3260 C = 0 3270 INPUT "Enter Amount of Loan";A 3280 INPUT "Amount of Interest in Percent";J 3290 INPUT "Nunber of Years";N 3300 J = J / 100 3310 N = N * 12:I = J / 12:B = 1 + I:R = A * I / (1 - 1 / B ^ N) 3320 PRINT "Amount per Payment =";USING"$$,###,###.##";R 3330 Q = (R * N - A) 3340 PRINT "Total Interest=";USING"$$,###,###.##";Q 3350 PRINT "To Begin Listing Hit Any Key...":F=0 3360 A$=INKEY$ 3370 IF A$="" THEN 3360 3380 PRINT :B = A 3390 GOSUB 3570 3400 PRINT "PMT INTEREST PRINCIPAL BALANCE" 3410 C = C + 1:L = B * I:P = R - L:B = B - P:IF B<0 THEN B=0 3420 PRINT USING"###";C;:PRINT USING"$$,###,###.##";L;P;B 3430 F = F + 1 3440 IF F = 20 THEN 3500 3450 IF N>C THEN 3410 3460 D=R+B 3470 PRINT "Last Payment was...";USING"$$,###,###.##";D 3480 INPUT "Do You Want to Run Another (Y/N)";Y$ 3490 IF LEFT$ (Y$,1) = "Y" THEN 3180 ELSE 55 3500 PRINT"TO CONTINUE STRIKE ANY KEY, ESC TO STOP" 3510 A$=INKEY$: IF A$="" THEN 3510 3520 IF A$=CHR$(27) THEN GOSUB 3570: GOTO 3480 3530 PRINT 3540 F = 0 3550 GOSUB 3570 3560 GOTO 3400 3570 PRINT CHR$(26);:RETURN 3580 PRINT CHR$(26);:RETURN 3590 REM 3600 PRINT CHR$(26);:PRINT D$:RETURN 3610 PRINT D$:RETURN 3620 STOP 3630 PRINT CHR$(26);:PRINT"Bye":END