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

  1. 0 REM   THIS PROGRAM IS DEDICATED TO MY         DAUGHTER, STARR, FOR WHOM I
  2. 1 REM   WROTE THIS PROGRAM.
  3. 2 :
  4. 3 REM   THIS PROGRAM IS PLACED IN THE           PUBLIC DOMAIN AND IS NOT FOR
  5. 4 REM   SALE!   MODIFY IT, ENJOY IT, AND        GIVE IT AWAY!
  6. 5 :
  7. 6 REM   UPLOADED TO Q-LINK, 10/25/88
  8. 7 :
  9. 10 REM  CHALLENGE:  CAN YOU MODIFY THIS         PROGRAM TO QUIZ FOR NUMERALS
  10. 11 REM  HIGHER THAN 10?
  11. 12 :
  12. 13 :
  13. 20 PRINT"":F3$=""
  14. 30 F1$="":F2$=""
  15. 40 S3$="                                       "
  16. 50 S1$="           *****************"
  17. 60 S2$="           *       *       *"
  18. 70 FORX=1TO10:READR$(1,X),R$(2,X):NEXT
  19. 80 DATA I,1,II,2,III,3,IV,4,V,5,VI,6,VII,7,VIII,8,IX,9,X,10
  20. 90 PRINTCHR$(142):GOSUB600
  21. 100 PRINT"     1[146] FOR ROMAN TO ARABIC"
  22. 110 PRINT"     2[146] FOR ARABIC TO ROMAN":PRINT"     3[146] FOR INSTRUCTIONS"
  23. 120 WAIT198,15:GETK$:IFK$="3"THEN920
  24. 130 PRINT""S3$:PRINT""S3$""S3$"[145][145]"
  25. 140 IFK$="1"THENPRINTTAB(13)"ROMAN   ARABIC":GOTO170
  26. 150 IFK$="2"THENPRINTTAB(12)"ARABIC   ROMAN":GOTO170
  27. 160 IFK$<>"3"THEN250
  28. 170 REM SHUFFLE 10 QUESTIONS
  29. 180 FORY=1TO10
  30. 190 X=INT(RND(1)*10+1)
  31. 200 IFQ(X)=0THENQ(X)=Y:GOTO220
  32. 210 GOTO190
  33. 220 NEXTY
  34. 230 IFK$="1"THENA=1:B=2:GOTO260
  35. 240 IFK$="2"THENB=1:A=2:GOTO260
  36. 250 PRINTF1$"        OOPS!":FORD=1TO500:NEXT:PRINT"[147]":GOTO90
  37. 260 REM QUIZ LOOP-10 QUESTIONS
  38. 270 CN=0
  39. 280 FORX=1TO10
  40. 290 PRINTF1$"            ENTER H FOR HELP           "
  41. 300 PRINTF3$TAB(14)R$(A,Q(X))TAB(22);
  42. 310 AN$=""
  43. 320 POKE198,0:PRINT"[164][157]";
  44. 330 WAIT198,1:GETK$:IFK$=CHR$(13)THEN450
  45. 335 IF K$=""ORK$="[147]"THEN 330
  46. 340 IF POS(0)>=26THEN410
  47. 350 AN$=AN$+K$
  48. 360 IF K$<>CHR$(20)THENPRINTK$;:GOTO320
  49. 370 IF POS(0)<23THENAN$=LEFT$(AN$,LEN(AN$)-1):GOTO320
  50. 380 PRINT" [157][157]";
  51. 390 AN$=LEFT$(AN$,LEN(AN$)-2)
  52. 400 GOTO320
  53. 410 REM TOO MANY CHARACTERS
  54. 420 PRINTF1$"     TOO MANY CHARACTERS. TRY AGAIN."
  55. 430 PRINTF3$TAB(22)"     "
  56. 440 FORD=1TO3000:NEXTD:GOTO290
  57. 450 IFAN$="H"THEN660
  58. 460 IFAN$=R$(B,Q(X))THEN480
  59. 470 PRINTF2$"            SORRY, IT IS: ";R$(B,Q(X)):GOTO490
  60. 480 PRINTF2$"            THAT IS CORRECT!":CN=CN+1
  61. 490 PRINTF1$"        HIT SPACE BAR TO CONTINUE":WAIT198,1:GETK$
  62. 500 PRINTF2$S3$
  63. 510 PRINTF1$S3$
  64. 520 PRINTF3$TAB(14)"            "
  65. 530 NEXT X
  66. 540 PRINT"           YOU GOT"CN"CORRECT."
  67. 550 REM THE GRAND FINALE
  68. 560 FORD=1TO5000:NEXT
  69. 570 PRINT"    [147]       THAT'S ALL, FOLKS!"
  70. 580 POKE198,0:PRINT"RUN[145][145][145]":END
  71. 590 STOP
  72. 600 REM
  73. 610 PRINT"[147]":POKE53280,0:POKE53281,11
  74. 620 PRINT"      ROMAN/ARABIC CONVERSION QUIZ      "
  75. 630 PRINTTAB(13)"BY MIKE KRIETZKY[145]"
  76. 640 PRINT"[152]";
  77. 650 PRINTS1$,,S2$,,S2$,,S2$,,S1$"":RETURN
  78. 660 PRINTCHR$(14)"[147]"TAB(15)"[210][197][205][197][205][194][197][210]:"
  79. 670 PRINTTAB(15)"[183][183][183][183][183][183][183][183][183]"
  80. 680 PRINTTAB(17)"[201] = 1":PRINTTAB(17)"[214] = 5":PRINTTAB(17)"[216] =10"
  81. 690 PRINT"[205]ORE...":WAIT198,1:GETK$
  82. 700 PRINT"[145][201]F A NUMERAL OF A SMALLER VALUE COMES
  83. 710 [153]"BEFORE A NUMERAL OF A LARGER VALUE,
  84. 720 PRINT"SUBTRACT THE VALUE OF THE SMALLER
  85. 730 [153]"FROM THE GREATER.
  86. 740 PRINT"[205]ORE...":WAIT198,1:GETK$
  87. 750 PRINT"[145][201]F A NUMERAL OF A SMALLER VALUE COMES
  88. 760 [153]"AFTER A NUMERAL OF A LARGER VALUE,
  89. 770 PRINT"ADD THE VALUE OF THE SMALLER TO
  90. 780 [153]"THE GREATER.
  91. 790 PRINT"[205]ORE...":WAIT198,1:GETK$
  92. 800 PRINT"[145]  [197]XAMPLE:  [201][214]
  93. 810 [153]"(null)INCE THE VALUE FOR RIGHT$ IS SMALLER THAN
  94. 820 PRINT"THE VALUE FOR [214], AND THE SMALLER COMES
  95. 830 [153]"BEFORE THE GREATER, WE SUBTRACT THE
  96. 840 PRINT"VALUE OF [201] FROM THE VALUE OF V.
  97. 850 [153]"(null)ORE...":[146]198,1:[161]K$
  98. 860 [153]"ON  VALXAMPLE:  (null)RIGHT$
  99. 870 PRINT"[211]INCE THE [201] COMES AFTER THE [214], WHICH
  100. 880 [153]"IS LARGER, WE ADD THE VALUE OF RIGHT$ TO THE
  101. 890 PRINT"VALUE OF [214].
  102. 900 [146] 198,1:[161]K$
  103. 910 [141]600:[153][199](142):[137]300
  104. 920 [153][199](14)"LOAD"
  105. 930 [153][163]14)"RIGHT$(null)(null)(null)(null)(null)LEN(null)RIGHT$(null)(null)(null)"
  106. 940 [153]
  107. 950 [153]"(null)HIS QUIZ WILL TEST YOUR ABILITY TO
  108. 960 PRINT"CONVERT [193]RABIC NUMERALS TO [210]OMAN, AND
  109. 970 [153]"VICE VERSA, 1 TO 10.
  110. 980 PRINT
  111. 990 PRINT"[212]YPE IN YOUR ANSWER AND HIT <[210][197][212][213][210][206]> TO
  112. 1000 [153]"CONCLUDE YOUR INPUT.  (null)SE STR$VAL(null) TO ERASE
  113. 1010 PRINT"AN INCORRECT ENTRY.  [217]OUR ANSWER WILL
  114. 1020 [153]"BE CHECKED.  RIGHT$F YOU NEED HELP, ENTER
  115. 1030 PRINT"AN [200] INSTEAD OF AN ANSWER.  [193] HELP
  116. 1040 [153]"SCREEN WILL APPEAR TO ASSIST YOU.
  117. 1050 PRINT
  118. 1060 PRINT"[193]FTER 10 PROBLEMS, THE COMPUTER WILL
  119. 1070 [153]"GIVE YOU A SCORE.
  120. 1080 WAIT198,1:GETK$
  121. 1090 PRINTCHR$(142):GOTO90
  122. 1100 X1=POS(0):PRINTF2$X1:RETURN
  123.