home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Educational / CONVERT-FRACTION (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  9.1 KB  |  251 lines

  1. 10 PRINT"[147]":UU=1:UA=1
  2. 15 REM(null)
  3. 20 PRINT" WRITTEN BY ROGER BOYER"
  4. 30 PRINT"1115 HORIZON COURT"
  5. 40 PRINT"MERRITT ISLAND, FLORIDA"
  6. 45 PRINT"32952"
  7. 50 PRINT:PRINT
  8. 60 FOR S=1 TO 2000
  9. 70 NEXT S
  10. 80 PRINT"[147]"
  11. 90 PRINT"PROGRAM TO CONVERT DECIMAL FRACTIONS";
  12. 100 PRINT"TO FACTIONS AND FRACTIONS TO DECIMALFRACTIONS."
  13. 110 PRINT"A) CONVERT DECIMAL FRACTION TO FRACTION"
  14. 120 PRINT"B) CONVERT FRACTION TO DECIMAL FRACTION"
  15. 122 PRINT"C) ADD, SUBTRACT, DIVIDE OR MULIPLY     FRACTIONS
  16. 124 [153]"D) USE WHOLE NUMBERS WITH FRACTIONS
  17. 126 PRINT"E) END
  18. 130 [133]"WHAT DO YOU WANT TO DO";E$
  19. 140 [139] E$[178]"A" [167] 200
  20. 150 [139] E$[178]"B" [167] [138]600
  21. 152 [139] E$[178]"C" [167] 700
  22. 154 [139] E$[178]"D" [167] SS[178]1:[137]700
  23. 155 [139] E$[178]"E" [167] [153]"LOAD":[128]
  24. 160 [153]"LOAD":[137] 110
  25. 200 [153]"LOAD":[133]"WHAT IS THE DECIMAL FRACTION";D:OO[178]D:[153]
  26. 201 [139] D[178]0 [167] 200
  27. 205 [139] D[179]0 [167] D[178][182](D):PY[178]1
  28. 210 Y[178][181](D):P[178]D[171]Y:O[178]P[172]1000000:W[178]([181](O)[173]1000)[170].01:W[178][181](W):Z[178]W[173]100:G[178]50:X[178]1000
  29. 215 [139] P[178]0 [167] [153]"YOU HAVE NO FRACTIONAL AMOUNT"
  30. 216 [139] P[178]0 [167] P[178]0:[129] L[178]1 [164] 500:[130] L:[137] 200
  31. 217 RA[178]P:RB[178]W
  32. 220 K[178]W[173]G:J[178]X[173]G:AB[178]0:AA[178]0:AD[178]0:AC[178]0
  33. 230 AA[178][181](K):AB[178]K[171]AA:AC[178][181](J):AD[178]J[171]AC
  34. 237 G[178]G[171]1
  35. 240 [139] AB[178]0 [167] 270
  36. 250 [139] AD[178]0 [167] 275
  37. 260 [143]
  38. 261 [137] 220
  39. 270 [139] AD[178]0 [167] 290
  40. 271 [137] 220
  41. 275 [139] AB[178]0 [167] 290
  42. 276 [137] 260
  43. 280 [137]220
  44. 290 G[178]G[170]1:[153]"CONVERTING NUMBER=";G:W[178]AA:X[178]AC:T[178]T[170]1:G[178]30:P[178]P[170]1
  45. 291 [139] P[178]1 [137] 220
  46. 295 [139] MM[178]1 [167] 650
  47. 300 [139] T[178]2 [167] [137] 340
  48. 310 [137]220
  49. 340 Y[178]Y[170]GB:[139] LA[178]0 [167] RD[178]W:RC[178]X
  50. 341 [153]:[153]"YOUR WHOLE NUMBER WITH FRACTIONIS     ";Y;" AND";W;"/";X
  51. 350 [153]:[153]"YOUR FRACTION IS";W;"/";X
  52. 351 [153]:[153]" YOUR DECIMAL NUMBER WAS";D
  53. 352 [153]:[153]" DECIMAL AFTER APPROXIMATION";OO:[153]:[153]
  54. 360 [153]" DO YOU WANT APPROXIMATE FRACTION"
  55. 370 [133]" ";A$:[153]"LOAD"
  56. 380 [139] A$[178]"Y" [167] 400
  57. 381 [139] A$[178]"YES" [167] 400
  58. 390 [139] A$[178]"N" [167] 581
  59. 391 [128]
  60. 400 FA[178]W:W[178][181](RB):A$[178]"N"
  61. 401 [153]"DO YOU WANT TO APPROXIMATE HIGHER OR LOWER?":[153]
  62. 410 [153]"A) HIGHER"
  63. 420 [153]"B) LOWER"
  64. 430 [153]"C) APPROXIMATE 64TH FORM FOR FRACTION
  65. 450 INPUT"";T$:PRINT"[147]"
  66. 460 IF T$="A" THEN W=W+UU:X=1000:T=0:UU=UU+1:UA=1:LA=1
  67. 465 IF UU>3 THEN PRINT"YOUR FRACTION MIGHT HAVE TO GREAT AN    ERROR!!!"
  68. 466 IF UA>3 THEN PRINT"YOUR FRACTION MIGHT HAVE TO GREAT AN    ERROR!!!"
  69. 470 IF T$="B" THEN W=W-UA:X=1000:T=0:UA=UA+1:UU=1:LA=1
  70. 471 IF T$="C" THEN PO=1:W=RD:X=RC:GOTO 500
  71. 472 OO=W/1000:PRINT"DECIMAL NOW =";OO:PRINT:PRINT
  72. 480 GOTO 220
  73. 500 HA=0:PRINT"[147]":P=0:Y=0:PO=1:HA=W:HB=X
  74. 501 IF D<0 THEN D=ABS(D):PY=1
  75. 505 DA=ABS(D):Y=INT(DA):P=D-Y:AO=P*10000:WW=INT(AO):Z=W/100:G=50:X=100
  76. 510 I=(WW*64):B=I/10000:HH=INT(B):HF=B-HH:BH=INT(B):IF HF>.5 THEN BH=HH+1
  77. 511 PRINT" ACCURATE        LESS ACCURATE"
  78. 520 PRINT" ";B;"/64            ";BH;"/64":PRINT:BI=BH/2:BA=B/2
  79. 521 IF BH=0 THEN PRINT" THERE IS NO FRACTIONAL AMOUNT ":GOTO565
  80. 530 PRINT" ";BA;"/32           ";BI;"/32":PRINT:BJ=BI/2:BB=BA/2
  81. 531 ZD=INT(BJ):IF ZD<>BJ THEN 565
  82. 540 PRINT" ";BB;"/16           ";BJ;"/16":PRINT:BK=BJ/2:BC=BB/2
  83. 541 ZD=INT(BK):IF ZD<>BK THEN 565
  84. 550 PRINT" ";BC;"/8            ";BK;"/8":PRINT:BL=BK/2:BD=BC/2
  85. 551 ZD=INT(BL):IF ZD<>BL THEN 565
  86. 560 PRINT" ";BD;"/4            ";BL;"/4":PRINT:BM=BL/2:BE=BD/2
  87. 561 ZD=INT(BM):IF ZD<>BM THEN 565
  88. 564 PRINT" ";BE;"/2            ";BM;"/2"
  89. 565 IF HB=1 THEN EA=W:EB=X:GOTO567
  90. 566 PRINT"YOUR FRACTION = ";HA;"/";HB:EA=W:EB=X
  91. 567 IF HA>HB THEN VA=HA/HB:VA=ABS(VA):VB=INT(VA):VC=VB*HB:VD=HA-VC
  92. 568 IF VD=0 THEN EA=W:EB=X:GOTO 570
  93. 569 IF HA>HB THEN PRINT"REDUCED FRACTION = ";VD;"/";HB:EA=W:EB=X
  94. 570 IF HB=1 THEN 572
  95. 571 IF PY=1 THEN PRINT"ALL FRACTIONSARE NEGATIVE":Y=Y*-1:D=D*-1
  96. 572 PRINT:PRINT" THE WHOLE NUMBER IS ";Y
  97. 573 PRINT:PRINT" YOUR DECIMAL WAS ";D
  98. 574 IF PO=1 THEN 581
  99. 575 PRINT:INPUT" DO YOU WANT THE FRACTION IN 64TH FORM";P$
  100. 576 IF P$="Y" THEN 500
  101. 577 IF P$="YES" THEN 500
  102. 578 IF P$="N" THEN 581
  103. 579 IF P$="NO" THEN 581
  104. 581 INPUT"DO YOU WANT TO TRY AGAIN";O$
  105. 582 IF O$="Y" THEN RUN 80
  106. 583 IF O$="YES" THEN RUN 80
  107. 584 PRINT"[147]":END
  108. 600 PRINT"[147]"
  109. 610 INPUT" WHAT IS TOP NUMBER OF THE FRACTION";R
  110. 620 INPUT"WHAT IS THE BOTTOM NUMBER OF THE        FRACTION";T:PRINT"[147]"
  111. 621 IF T<0 THEN R=R*-1:T=ABS(T)
  112. 622 IF T=0 THEN GOTO 620
  113. 630 PRINT"THE FRACTION YOU ENTERED IS ";R;"/";T
  114. 631 ZE=INT(R):IF R<>ZE THEN 600
  115. 640 MM=1:W=R:X=T:G=50:GOTO220
  116. 650 IF X<0 THEN W=W*-1:X=ABS(X):EA=W:EB=X
  117. 651 PRINT"FRACTION AFTER REDUCTION = ";W;"/";X:EA=W:EB=X
  118. 652 IF PA=1 THEN Q=W/X:NA=INT(Q):IF NA<0 THEN NA=NA+1
  119. 653 IF W<0 THEN QS=ABS(EA):IF QS>X THEN QB=QS/X:QF=QB*-1
  120. 654 IF W<0 THEN A=1:IF QS>X THEN ZE=INT(QF):IF ZE=QF THEN 656
  121. 655 IF W<0 THEN A=1:IF QS>X THEN QF=INT(QF):QF=QF+1:QD=QF*X:QE=EA-QD
  122. 656 IF W<0 THEN A=1:IF QS>X THEN PRINT"WHOLE NUMBER = ";QF
  123. 657 IF W<0 THEN A=1:IF QS>X THEN PRINT"FRACTION IS ";QE;"/";X
  124. 658 IF W<0 THEN A=1:IF QS>X THEN IB=QE:Q=W/X:GOTO 670
  125. 660 Q=W/X:IF SS=1 THEN GC=W/X:GD=INT(GC):GE=GD*X:W=W-GE
  126. 661 IF SS=1 THEN 664
  127. 663 IA=INT(Q)*X:IB=W-IA
  128. 664 IF Q<0 THEN W=EA:GOTO 670
  129. 665 IF SS=1 THEN PRINT" WHOLE NUMBER =";INT(Q);" AND FRACTION";W;"/";X:GOTO670
  130. 666 PRINT:PRINT" WHOLE NUMBER =";INT(Q);" AND FRACTION";IB;"/";X
  131. 670 PRINT"DECIMAL VALUE EQUALS = ";Q
  132. 680 PRINT"":D=Q:GOTO 574
  133. 700 PRINT"[147]":T=0:R=0:RR=0:TT=0
  134. 701 IF SS=1 THEN INPUT"WHAT IS THE FIRST WHOLE NUMBER";GG:LA=0
  135. 710 INPUT"WHAT IS TOP NUMBER OF THE FRACTION";R
  136. 715 IF GG>0 THEN CT=0:IF R<0 THEN GG=GG*-1
  137. 716 IF GG<0 THEN CT=0:IF R>0 THEN R=R*-1
  138. 719 INPUT"WHAT IS THE BOTTOM NUMBER OF THE        FRACTION";T:PRINT"[147]"
  139. 720 IF T=0 THEN 719
  140. 721 IF SS=1 THEN PRINT"THE WHOLE NUMBER ENTERED IS ";GG
  141. 722 IF SS=1 THEN T=ABS(T):GOTO730
  142. 723 IF T<0 THEN R=R*-1:T=ABS(T)
  143. 730 PRINT"THE FRACTION YOU ENTERED IS ";R;"/";T
  144. 735 IF SS=1 THEN INPUT"WHAT IS THE 2NDWHOLE NUMBER";GA
  145. 740 INPUT"WHAT IS TOP NUMBER OF 2ND FRACTION";RR
  146. 745 IF GA>0 THEN CT=0:IF RR<0 THEN GA=GA*-1
  147. 746 IF GA<0 THEN CT=0:IF RR>0 THEN RR=RR*-1
  148. 749 INPUT"WHAT IS THE BOTTOM NUMBER OF 2ND        FRACTION";TT:PRINT"[147]"
  149. 750 IF TT=0 THEN 749
  150. 751 IF SS=1 THEN TT=ABS(TT):GOTO755
  151. 752 IF TT<0 THEN RR=RR*-1:TT=ABS(TT)
  152. 755 IF SS=1 THEN PRINT"THE 2ND WHOLE NUMBER ENTERED IS ";GA
  153. 760 PRINT"THE 2ND FRACTION YOU ENTERED IS ";RR;"/";TT
  154. 770 INPUT"DO YOU WANT TO ADD, SUBTRACT,DIVIDE OR  MULTIPLY(+ - / *)";R$
  155. 780 IF R$="ADD" THEN 850
  156. 790 IF R$="SUBTRACT" THEN 1000
  157. 800 IF R$="A" THEN 850
  158. 801 IF R$="PLUS" THEN 850
  159. 810 IF R$="S" THEN 1000
  160. 811 IF R$="END" THEN PRINT"[147]":END
  161. 812 IF R$="STOP" THEN PRINT"[147]":END
  162. 820 IF R$="+" THEN 850
  163. 830 IF R$="-" THEN 1000
  164. 831 IF R$="DIVIDE" THEN 1500
  165. 832 IF R$="D" THEN 1500
  166. 833 IF R$="/" THEN 1500
  167. 834 IF R$="M" THEN 2000
  168. 835 IF R$="MULTIPLY" THEN 2000
  169. 836 IF R$="*" THEN 2000
  170. 837 IF R$="X" THEN 2000
  171. 838 IF R$="TIMES" THEN 2000
  172. 839 IF R$="MINUS" THEN 1000
  173. 840 PRINT"I DON'T UNDERSTAND THAT!":R$="0"
  174. 841 GOTO770
  175. 850 IF SS=1 THEN PRINT"";GG;" ";R;"/";T;"+ ";GA;" ";RR;"/";TT:GOTO860
  176. 851 PRINT"THE FRACTIONS AND OPERATION             ";R;"/";T;"+ ";RR;"/";TT
  177. 860 INPUT"IS THIS CORRECT";T$:PRINT"[147]"
  178. 870 IF T$="YES" THEN 915
  179. 880 IF T$="Y" THEN 915
  180. 890 IF T$="N" THEN 700
  181. 900 IF T$="NO" THEN 700
  182. 910 GOTO 850
  183. 915 IF SS=1 THEN PRINT"";GG;" ";R;"/";T;"+ ";GA;" ";RR;"/";TT:GOTO925
  184. 916 PRINT"THE FRACTIONS AND OPERATION             ";R;"/";T;"+ ";RR;"/";TT
  185. 917 IF T=TT THEN KB=R+RR:TU=TT:G=50:MM=1:W=KB:X=TU:K=R:KA=RR:GB=GG+GA:GOTO925
  186. 920 TU=T*TT:K=T*RR:KA=TT*R:KB=K+KA:W=KB:X=TU:G=50:MM=1:GB=GG+GA
  187. 925 REM
  188. 926 IF SS=1 THEN CT=0:IF TT<>T THEN EA=GG*T:EB=R+EA:EC=GA*TT:ED=EC+RR:PA=1
  189. 927 IF SS=1 THEN CT=0:IF TT<>T THEN TU=T*TT:KA=T*ED:K=TT*EB:KB=KA+K:W=KB
  190. 928 IF SS=1 THEN CT=0:IF T<>TT THEN :X=TU:G=50:MM=1
  191. 929 IF SS=1 THEN CT=0:IF T=TT THEN EA=GG*T:EB=R+EA:EC=GA*TT:ED=EC+RR:KB=EB+ED
  192. 930 IF SS=1 THEN CT=0:IF T=TT THEN TU=TT:G=50:MM=1:W=KB:X=TU:K=EB:KA=ED:PA=1
  193. 932 IF SS=1 THEN GB=GA+GG:PRINT"TOTAL OF WHOLE NUMBERS ";GB
  194. 933 IF SS=1 THEN  PRINT"SIMPLIFIED FRACTIONS ";EB;"/";T;"+ ";ED;"/";TT
  195. 934 PRINT"CONVERTED FRACTIONS ";K;"/";TU;"+ ";KA;"/";TU
  196. 940 PRINT"TOTAL OF FRACTIONS ";KB;"/";TU:GOTO 220
  197. 1000 IF SS=1 THEN PRINT"";GG;" ";R;"/";T;"- ";GA;" ";RR;"/";TT:GOTO1010
  198. 1001 PRINT"THE FRACTIONS AND OPERATION             ";R;"/";T;"- ";RR;"/";TT
  199. 1010 INPUT"IS THIS CORRECT";T$:PRINT"[147]"
  200. 1020 IF T$="YES" THEN 1065
  201. 1030 IF T$="Y" THEN 1065
  202. 1040 IF T$="N" THEN 700
  203. 1050 IF T$="NO" THEN 700
  204. 1060 GOTO 1000
  205. 1065 IF T=TT THEN KB=R-RR:TU=TT:G=50:MM=1:W=KB:X=TU:KA=R:K=RR:GOTO1071
  206. 1070 TU=T*TT:K=T*RR:KA=TT*R:KB=KA-K:W=KB:X=TU:G=50:MM=1:GB=GG-GA
  207. 1071 IF SS=1 THEN PRINT"";GG;" ";R;"/";T;"- ";GA;" ";RR;"/";TT:GOTO 1076
  208. 1075 PRINT"THE FRACTIONS AND OPERATION             ";R;"/";T;"- ";RR;"/";TT
  209. 1076 IF SS=1 THEN CT=0:IF TT<>T THEN EA=GG*T:EB=R+EA:EC=GA*TT:ED=EC+RR
  210. 1077 IF SS=1 THEN CT=0:IF TT<>T THEN TU=T*TT:K=T*ED:KA=TT*EB:KB=KA-K:W=KB
  211. 1078 IF SS=1 THEN CT=0:IF T<>TT THEN :X=TU:G=50:MM=1:PA=1
  212. 1079 IF SS=1 THEN CT=0:IF T=TT THEN EA=GG*T:EB=R+EA:EC=GA*TT:ED=EC+RR:KB=EB-ED
  213. 1080 IF SS=1 THEN CT=0:IF T=TT THEN TU=TT:G=50:MM=1:W=KB:X=TU:KA=EB:K=ED:PA=1
  214. 1081 IF SS=1 THEN GB=GG-GA:PRINT"TOTAL OF WHOLE NUMBERS ";GB
  215. 1082 IF SS=1 THEN  PRINT"SIMPLIFIED FRACTIONS ";EB;"/";T;"- ";ED;"/";TT
  216. 1085 PRINT"CONVERTED FRACTIONS ";KA;"/";TU;"- ";K;"/";TU
  217. 1090 PRINT"TOTAL OF FRACTIONS ";KB;"/";TU:GOTO 220
  218. 1500 IF SS=1 THEN PRINT"";GG;" ";R;"/";T;"  /  ";GA;" ";RR;"/";TT:GOTO1510
  219. 1501 PRINT"THE FRACTIONS AND OPERATION             ";R;"/";T;" / ";RR;"/";TT
  220. 1510 INPUT"IS THIS CORRECT";T$:PRINT"[147]"
  221. 1520 IF T$="YES" THEN 1570
  222. 1530 IF T$="Y" THEN 1570
  223. 1540 IF T$="N" THEN 700
  224. 1550 IF T$="NO" THEN 700
  225. 1560 GOTO 1000
  226. 1570 TU=R*TT:KB=T*RR:W=TU:X=KB:G=50:MM=1
  227. 1571 IF SS=1 THEN PRINT"";GG;" ";R;"/";T;" / ";GA;" ";RR;"/";TT
  228. 1572 IF SS=1 THEN XA=(GG*T)+R:XB=(GA*TT)+RR:TU=TT*XA:KB=XB*T:W=TU:X=KB:G=50
  229. 1573 IF SS=1 THEN 1576
  230. 1574 PRINT"THE FRACTIONS AND OPERATION             ";R;"/";T;" / ";RR;"/";TT
  231. 1575 PRINT"WHICH EQUALS ";R;"/";T;"* ";TT;"/";RR:GOTO 1580
  232. 1576 PRINT"";XA;"";XB;"";XA;"";TT
  233. 1577 PRINT"[198][198][198]/[198][198][198]OR[198][198][198]*[198][198][198]"
  234. 1578 PRINT"";T;"";TT;"";T;"";XB
  235. 1580 PRINT"TOTAL OF THE FRACTIONS ";TU;"/";KB:GOTO 220
  236. 2000 IF SS=1 THEN PRINT"";GG;" ";R;"/";T;"* ";GA;" ";RR;"/";TT:GOTO2010
  237. 2001 PRINT"THE FRACTIONS AND OPERATION             ";R;"/";T;"* ";RR;"/";TT
  238. 2010 INPUT"IS THIS CORRECT";T$
  239. 2020 IF T$="YES" THEN 2070
  240. 2030 IF T$="Y" THEN 2070
  241. 2040 IF T$="N" THEN 700
  242. 2050 IF T$="NO" THEN 700
  243. 2060 GOTO 1000
  244. 2070 TU=T*TT:KB=R*RR:X=TU:W=KB:G=50:MM=1:XA=R:XB=RR
  245. 2071 IF SS=1 THEN PRINT"";GG;" ";R;"/";T;"* ";GA;" ";RR;"/";TT
  246. 2072 IF SS=1 THEN XA=(GG*T)+R:XB=(GA*TT)+RR:KB=XB*XA:TU=TT*T:W=KB:X=TU:G=50
  247. 2073 PRINT"";XA;"";XB
  248. 2074 PRINT"[198][198][198]*[198][198][198]"
  249. 2075 PRINT"";T;"";TT
  250. 2080 PRINT"TOTAL OF THE FRACTIONS ";KB;"/";TU:GOTO 220
  251.