ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

172 lines
4.6 KiB

  1. 10 REM *****MORGAG*****BUSINESS PROGRAM
  2. 20 REM MORGAG**********VERSION #1 (7/31/69)*****MORTGAGE ANALYSIS*****
  3. 30 REM
  4. 40 PRINT "* MORTGAGE ANALYSIS *"
  5. 50 PRINT
  6. 60 PRINT "IF YOU WANT TO FIND:"
  7. 70 PRINT " THE RATE, TYPE '1'"
  8. 80 PRINT " THE LIFE, TYPE '2'"
  9. 90 PRINT " THE AMOUNT BORROWED, TYPE '3'"
  10. 100 PRINT " THE MONTHLY PAYMENT, TYPE '4'"
  11. 110 PRINT "WHICH DO YOU WANT";
  12. 120 INPUT Z
  13. 130 PRINT
  14. 140 IF Z=1 THEN 220
  15. 150 PRINT "WHAT IS THE NOMINAL ANNUAL RATE USING DECIMAL NOTATION";
  16. 160 INPUT R
  17. 170 IF R<1 THEN 200
  18. 180 PRINT "IT APPEARS THAT YOU HAVE FORGOTTEN TO USE DECIMAL NOTATION"
  19. 190 GOTO 150
  20. 200 PRINT
  21. 210 IF Z=2 THEN 260
  22. 220 PRINT "WHAT IS THE LIFE OF THE MORTGAGE: YEARS, MONTHS";
  23. 230 INPUT Y,M
  24. 240 PRINT
  25. 250 IF Z=3 THEN 300
  26. 260 PRINT "WHAT IS THE AMOUNT TO BE BORROWED";
  27. 270 INPUT A
  28. 280 PRINT
  29. 290 IF Z=4 THEN 330
  30. 300 PRINT "WHAT IS THE AMOUNT OF ONE MONTHLY PAYMENT";
  31. 310 INPUT P
  32. 320 PRINT
  33. 330 PRINT "WHAT IS THE MONTH (JAN=1,ETC.), AND YEAR IN WHICH THE MORTGAGE LOAN IS"
  34. 340 PRINT "TO BE MADE";
  35. 350 INPUT T1,T2
  36. 360 PRINT
  37. 370 PRINT "FOR HOW MANY CALENDAR YEARS DO YOU WANT THE MORTGAGE TABLE PRINTED";
  38. 380 INPUT T3
  39. 390 PRINT
  40. 400 PRINT "TYPE A ONE (1) IF YOU WANT ONLY AN ANNUAL SUMMARY OF THE MORTGAGE"
  41. 410 PRINT "TABLE; TYPE A ZERO (0) FOR A MONTHLY TABLE";
  42. 420 INPUT Z1
  43. 430 PRINT
  44. 440 IF Z=2 THEN 470
  45. 450 N=12*Y+M
  46. 460 IF Z=1 THEN 660
  47. 470 R1=R/12
  48. 480 IF Z=3 THEN 580
  49. 490 IF Z=4 THEN 610
  50. 500 IF (A*R1/P)<1 THEN 530
  51. 510 PRINT "THE FIRST MONTHS PAYMENT WILL NOT EVEN COVER ITS INTEREST CHARGE"
  52. 520 RUN "DIR"
  53. 530 N=-(LOG(1-(A*R1)/P))/LOG(1+R1)
  54. 540 N=INT(N)+1
  55. 550 Y=INT(N/12)
  56. 560 M=N-12*Y
  57. 570 GOTO 770
  58. 580 A=(P*(1-1/((1+R1)^N)))/R1
  59. 590 A=INT((A+5)/10)*10
  60. 600 GOTO 770
  61. 610 P=(A*R1)/(1-1/((1+R1)^N))
  62. 620 P=(P*1000+5)/10
  63. 630 P=INT(P)
  64. 640 P=P/100
  65. 650 GOTO 770
  66. 660 R1=0
  67. 670 FOR O=1 TO 5
  68. 680 FOR I=1 TO 10
  69. 690 Q=I*(1/(10^O))+R1
  70. 700 C=(P*(1-1/((1+Q)^N)))/Q
  71. 710 IF C<A THEN 730
  72. 720 NEXT I
  73. 730 R1=Q-(1/(10^O))
  74. 740 NEXT O
  75. 750 R1=INT(24000*R1+.5)/24000
  76. 760 R=12*R1
  77. 770 PRINT
  78. 780 IF 12*P>(R*A+1) THEN 830
  79. 790 PRINT "YOUR FIRST YEARS'S PAYMENTS ARE"12*P
  80. 800 PRINT "THE FIRST YEARS'S INTEREST IS"R*A
  81. 810 PRINT "THEREFORE, THE LIFE OF THE MORTGAGE IS UNDEFINED"
  82. 820 RUN "DIR"
  83. 830 PRINT "***********************************************************************"
  84. 840 PRINT
  85. 850 PRINT " MORTGAGE TERMS"
  86. 860 PRINT
  87. 870 PRINT " NOMINAL ANNUAL RATE =";R*100;"PERCENT"
  88. 880 PRINT " LIFE OF MORTGAGE =";Y;"YEARS,";M;"MONTHS"
  89. 890 PRINT " AMOUNT BORROWED = $";A
  90. 900 PRINT " MONTHLY PAYMENT = $";P
  91. 910 IF Z=1 THEN 950
  92. 920 IF Z=3 THEN 990
  93. 930 IF Z=2 THEN 970
  94. 940 GOTO 1000
  95. 950 PRINT " (NOTE: THE ANNUAL RATE HAS BEEN ROUNDED TO NEAREST 1/100 PERCENT)"
  96. 960 GOTO 1000
  97. 970 PRINT " (NOTE: THE MORTGAGE LIFE HAS BEEN ROUNDED UPWARD TO NEAREST MONTH)"
  98. 980 GOTO 1000
  99. 990 PRINT " (NOTE: THE AMOUNT BORROWED ROUNDED TO NEAREST $10)"
  100. 1000 PRINT
  101. 1010 PRINT "----------------------------------------------------------------------"
  102. 1020 PRINT
  103. 1030 PRINT " MORTGAGE TABLE"
  104. 1040 PRINT
  105. 1050 PRINT
  106. 1060 Z2=0
  107. 1070 S1=0
  108. 1080 S2=0
  109. 1090 IF T1=12 THEN 1120
  110. 1100 M2=T1
  111. 1110 GOTO 1140
  112. 1120 T2=T2+1
  113. 1130 M2=0
  114. 1140 M3=M2+1
  115. 1150 IF Z1=1 THEN 1230
  116. 1160 PRINT " ","BEGINNING"
  117. 1170 PRINT " ","PRINCIPAL"," ","PRINCIPAL"
  118. 1180 PRINT "MONTH","OUTSTANDING","INTEREST","REPAYMENT"
  119. 1190 PRINT
  120. 1200 PRINT
  121. 1210 PRINT " ","FOR THE CALENDAR YEAR"T2
  122. 1220 GOTO 1280
  123. 1230 PRINT " "," "," ","ENDING"
  124. 1240 PRINT " "," ","PRINCIPAL","PRINCIPAL"
  125. 1250 PRINT "YEAR","INTEREST","REPAYMENT","OUTSTANDING"
  126. 1260 PRINT
  127. 1270 PRINT
  128. 1280 FOR M1=M3 TO 12*T3
  129. 1290 I1=A*R1
  130. 1300 I1=(I1*1000+5)/10
  131. 1310 I1=INT(I1)
  132. 1320 I1=I1/100
  133. 1330 IF P<(A+I1) THEN 1360
  134. 1340 P1=A
  135. 1350 GOTO 1370
  136. 1360 P1=P-I1
  137. 1370 A1=A
  138. 1380 A=A1-P1
  139. 1390 S1=S1+I1
  140. 1400 S2=S2+P1
  141. 1410 M2=M2+1
  142. 1420 IF Z1=1 THEN 1590
  143. 1430 PRINT M2,A1,I1,P1
  144. 1440 IF M2=12 THEN 1470
  145. 1450 IF A>0 THEN 1690
  146. 1460 Z2=1
  147. 1470 PRINT
  148. 1480 PRINT " INTEREST PAID DURING";T2;TAB(42);"=";S1
  149. 1490 PRINT " PRINCIPLE REPAID DURING";T2;TAB(42);"=";S2
  150. 1500 PRINT " PRINCIPLE OUTSTANDING AT YEAR END";TAB(42);"=";A
  151. 1510 IF Z2=1 THEN 1700
  152. 1520 T2=T2+1
  153. 1530 PRINT
  154. 1540 PRINT "-----"
  155. 1550 PRINT
  156. 1560 IF M1=12*T3 THEN 1700
  157. 1570 PRINT " ","FOR THE CALENDAR YEAR"T2
  158. 1580 GOTO 1660
  159. 1590 IF M2=12 THEN 1620
  160. 1600 IF A>0 THEN 1690
  161. 1610 Z2=1
  162. 1620 PRINT T2,S1,S2,A
  163. 1630 T2=T2+1
  164. 1640 IF M1=12*T3 THEN 1700
  165. 1650 IF Z2=1 THEN 1700
  166. 1660 S1=0
  167. 1670 S2=0
  168. 1680 M2=0
  169. 1690 NEXT M1
  170. 1700 PRINT "**********************************************************************"
  171. 1710 RUN "DIR"