home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 11 / 11.iso / m / m441 / 2.ddi / OTHERS / GRE.ZIP / GRERND.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1979-12-31  |  5.3 KB  |  139 lines

  1. 100  SCREEN 2:OPEN "gre.dat" AS #1 LEN=301
  2. 102  FIELD #1,24 AS W$,5 AS P$,90 AS M$, 180 AS E$,2 AS T$
  3. 104  OPEN "grert.dat" AS #2 LEN=2:FIELD #2,2 AS RT$:GET #2,1:RT=CVI(RT$):IF RT>=99 THEN RT=1
  4. 108  FL%=LOF(1)/301:RN1%=1:DIM ERN(3000)
  5. 110  CLS:SCREEN 0:COLOR 11:INPUT "0. Quit    1. Test    2. Review    3. Reset ";QTR
  6. 112  SCREEN 0
  7. 120  IF QTR=0 THEN 1000
  8. 130  IF QTR=1 THEN 200
  9. 140  IF QTR=2 THEN 2130
  10. 150  IF QTR=3 THEN RT=RT+1:FIELD #2,2 AS RT$:LSET RT$=MKI$(RT):PUT #2,1:GOTO 110
  11. 200  CLS
  12. 201  RT$=RIGHT$(STR$(RT),2)
  13. 202  PRINT "Total: ";FL%
  14. 204  COLOR 13:INPUT "Number of words to be tested ";WN%
  15. 206  INPUT "Test Orderly or Randomly (o/r) ";RO$
  16. 208  IF RO$<>"r" THEN 231 ELSE 234
  17. 230  COLOR 13:INPUT "Number of words to be tested ";WN%
  18. 231  INPUT "Starting Number ";RN1%:IF RN1%=0 THEN 231
  19. 234  RANDOMIZE WN%+RN1%
  20. 236  INPUT "Time Allotment (in seconds) Between Questions (1--60) ";TI
  21. 237  IF TI<1 OR TI>60 THEN 236
  22. 240  CLS:SCREEN 0:IF WN%<=1 THEN 994
  23. 241  ER=0:TIME$="00:00:00"
  24. 242  CLS:COLOR 10:LOCATE 1,1:PRINT "Total:";WN%:LOCATE 1,16:PRINT "Tested:":LOCATE 1,40:PRINT"Error(s):":LOCATE 1,55:PRINT "Time: "+TIME$
  25. 244  COLOR 9:LOCATE 2,1:FOR L=1 TO 80:PRINT CHR$(205);:NEXT
  26. 250  FOR NA%=1 TO WN%
  27. 252  RN2%=INT(RND(2)*FL%+1):RN3%=INT(RND(3)*FL%+1):RN4%=INT(RND(4)*FL%+1):RN5%=INT(RND(5)*FL%+1):IF RO$<>"r" THEN 254
  28. 253  RN1%=INT(RND(1)*FL%+1)
  29. 254  GET #1, RN1%:IF T$=RT$ THEN RN1%=RN1%+1: GOTO 254
  30. 255  IF RN1%>FL% THEN 271
  31. 256  W1$=W$:M$(1)=M$
  32. 258  GOSUB 410
  33. 259  LOCATE 4,1:COLOR 9:PRINT RN1%:LOCATE 4,10:COLOR 11: PRINT W1$: LOCATE 6,1:COLOR 13: PRINT "A: "+M1$(W1):LOCATE 7,4: PRINT M2$(W1): LOCATE 8,1: PRINT "B: "+M1$(W2):LOCATE 9,4:PRINT M2$(W2): LOCATE 10,1: PRINT "C: "+M1$(W3):LOCATE 11,4:PRINT M2$(W3)
  34. 260  LOCATE 12,1:PRINT "D: "+M1$(W4):LOCATE 13,4:PRINTM2$(W4):LOCATE 14,1:PRINT"E: "+M1$(W5):LOCATE 15,4:PRINTM2$(W5)
  35. 261  PRINT SPACE$(24):LOCATE 16,1:COLOR 14:PRINT "----Your Choice ? ":LOCATE 16,19
  36. 262  YC$=INKEY$:FOR T=1 TO TI*156:YC$=INKEY$:IF YC$="" THEN NEXT T
  37. 263  LOCATE 16,19:PRINT YC$:IF YC$<>ASR$ THEN  266
  38. 264  LOCATE 16,1:COLOR 26 :PRINT " Congratulations!":GET #1,RN1%:LSET T$=RT$:PUT #1,RN1%
  39. 265  COLOR 15:LOCATE 1,25:PRINT NA%:LOCATE 1,50:PRINT ER:LOCATE 1,61:PRINT TIME$:GOTO 267
  40. 266  GOSUB 610
  41. 267  RN1%=RN1%+1
  42. 270  NEXT NA%
  43. 271  IF NA%<=1 THEN 110
  44. 272  PCT=CINT((1-ER/(NA%-1))*100)
  45. 274  LOCATE 16,1: COLOR 31:PRINT "----Your Score: "; PCT:COLOR 10
  46. 278  IF ER=0 THEN 994
  47. 280  GOSUB 700
  48. 300  GOTO 994
  49. 410  GET #1, RN2%: M$(2)=M$
  50. 420  GET #1, RN3%: M$(3)=M$
  51. 430  GET #1, RN4%: M$(4)=M$
  52. 440  GET #1, RN5%: M$(5)=M$
  53. 442  FOR VL=1 TO 5
  54. 444  FOR SP=70 TO 50 STEP -1:MM$=MID$(M$(VL),SP,1):IF MM$<>" " THEN NEXT SP
  55. 446  M1$(VL)=MID$(M$(VL),1,SP)+SPACE$(76-SP):M2$(VL)=MID$(M$(VL),SP+1,90-SP)+SPACE$(SP-14)
  56. 450  NEXT VL
  57. 460  W1=INT(RND(RN1%)*5+1)
  58. 470  IF W1<=1 THEN W1=1:W2=2:W3=3:W4=4:W5=5:ASR$="a"
  59. 480  IF W1=2 THEN W5=1:W2=3:W3=4:W4=5:ASR$="e"
  60. 490  IF W1=3 THEN W4=1:W5=2:W2=4:W3=5:ASR$="d"
  61. 500  IF W1=4 THEN W3=1:W4=2:W5=3:W2=5:ASR$="c"
  62. 510  IF W1=5 THEN W2=1:W3=2:W4=3:W5=4:ASR$="b"
  63. 600  RETURN
  64. 610  ER=ER+1:ERN(ER)=RN1%
  65. 614  COLOR 15:LOCATE 1,25:PRINT NA%:LOCATE 1,50:PRINT ER:LOCATE 1,61:PRINT TIME$
  66. 620  LOCATE 16,5: COLOR 12:PRINT "Wrong Choice! ":BEEP
  67. 621  COLOR 27
  68. 622  IF ASR$="a" THEN LOCATE 6,1:PRINT "A: "
  69. 623  IF ASR$="b" THEN LOCATE 8,1:PRINT "B: "
  70. 624  IF ASR$="c" THEN LOCATE 10,1:PRINT "C: "
  71. 625  IF ASR$="d" THEN LOCATE 12,1:PRINT "D: "
  72. 626  IF ASR$="e" THEN LOCATE 14,1:PRINT "E: "
  73. 627  COLOR 11:LOCATE 16,20:PRINT ""
  74. 630  FOR T=1 TO 1500 : NEXT:RETURN
  75. 700  IF ER=0 THEN 994
  76. 702  COLOR 10:LOCATE 19,10:INPUT "Review Unfamiliar Words (y/n) " ;RE$
  77. 704  IF RE$<>"y" THEN 762
  78. 706  GOSUB 990
  79. 710  FOR EE=1 TO ER
  80. 720  GET #1, ERN(EE)
  81. 722  FOR SP=70 TO 50 STEP -1:MM$=MID$(M$,SP,1):IF MM$<>" " THEN NEXT SP
  82. 724  M1$=MID$(M$,1,SP)+SPACE$(74-SP):M2$=MID$(M$,SP+1,90-SP)+SPACE$(SP-14)
  83. 725  FOR SP=70 TO 50 STEP -1:MM$=MID$(E$,SP,1):IF MM$<>" " THEN NEXT SP
  84. 726  SP1=SP:E1$=MID$(E$,1,SP)+SPACE$(74-SP):E22$=MID$(E$,SP+1,180-SP)
  85. 727  FOR SP=70 TO 50 STEP -1:MM$=MID$(E22$,SP,1):IF MM$<>" " THEN NEXT SP
  86. 728  E2$=MID$(E22$,1,SP)+SPACE$(74-SP):E3$=MID$(E22$,SP+1,180-SP-SP1)
  87. 729  COLOR 15:LOCATE 1,50:PRINT ER-EE:LOCATE 1,61:PRINT TIME$
  88. 740  COLOR 9:LOCATE 8,1:PRINT ERN(EE):COLOR 14:LOCATE 8,7:PRINT W$:COLOR 9:LOCATE 10,1:PRINT "ptsp: ":LOCATE 10,7: COLOR 11:PRINT P$:COLOR 9:LOCATE 12,1:PRINT "mngs: ":LOCATE 12,7:COLOR 11:PRINT M1$:PRINT SPACE$(6)+M2$:COLOR 9:LOCATE 15,1:PRINT "exmp: "
  89. 741  COLOR 11:LOCATE 15,7:PRINT E1$:LOCATE 16,7:PRINT E2$:LOCATE 17,7:PRINT E3$
  90. 744  COLOR 9:LOCATE 19,10:PRINT "Press any to continue... "
  91. 750  CN$=INKEY$:IF CN$="" THEN 750
  92. 760  NEXT EE
  93. 762  COLOR 10:LOCATE 19,10:INPUT "Print Out Unfamiliar Words (y/n) "; PR$
  94. 763  IF PR$<>"y" THEN 900
  95. 764  CLS:SCREEN 2
  96. 765  LN=0:LPRINT "Totally "+STR$(NA%-1)+" tested, "+STR$(ER)+" wrong.":LPRINT
  97. 766  FOR EE=1 TO ER
  98. 768  GET #1, ERN(EE):FOR SP=50 TO 30 STEP -1:MM$=MID$(M$,SP,1):IF MM$<>" " THEN NEXT SP
  99. 770  M1$=MID$(M$,1,SP):M2$=MID$(M$,SP+1,90-SP)
  100. 772  FOR SP=76 TO 56 STEP -1:MM$=MID$(E$,SP,1):IF MM$<>" " THEN NEXT SP
  101. 774  SP1=SP:E1$=MID$(E$,1,SP):E22$=MID$(E$,SP+1,180-SP)
  102. 776  FOR SP=76 TO 56 STEP -1:MM$=MID$(E22$,SP,1):IF MM$<>" " THEN NEXT SP
  103. 778  E2$=MID$(E22$,1,SP):E3$=MID$(E22$,SP+1,180-SP-SP1)
  104. 780  LPRINT W$+P$+M1$:LPRINT SPACE$(4)+M2$:LPRINT SPACE$(4)+E1$:LPRINT SPACE$(4)+E2$:LPRINT SPACE$(4)+E3$
  105. 870  LN=LN+1
  106. 880  IF LN=9 THEN LOCATE 19,10:INPUT "Change paper and press `return` ";LN
  107. 890  NEXT EE
  108. 900  RETURN
  109. 990  LOCATE 3.1
  110. 991  FOR CL=1 TO 6:PRINT SPACE$(240);
  111. 992  NEXT
  112. 993  RETURN
  113. 994  LOCATE 19,6:INPUT "                       Test More (y/n) ";CT$
  114. 996  IF CT$="y" THEN CLS:SCREEN 0:COLOR 13:INPUT "Number of words to be tested ";WN%: ER=0:GOTO 240
  115. 998  GOTO 110
  116. 1000  SYSTEM
  117. 2130  CLS:EE=0
  118. 2132  PRINT "Total: ";FL%
  119. 2140  COLOR 13:INPUT "Number of words to be Reviewed ";WN%
  120. 2141  INPUT "Starting Number ";RN1%
  121. 2144  CLS:COLOR 10:LOCATE 1,1:PRINT "Total:";WN%:LOCATE 1,14:PRINT "Reviewed:":LOCATE 1,55:PRINT "Time: "+TIME$
  122. 2146  COLOR 9:LOCATE 2,1:FOR L=1 TO 80:PRINT CHR$(205);:NEXT
  123. 2150  ER=0:TIME$="00:00:00"
  124. 2160  FOR EE=RN1% TO WN%+RN1%-1
  125. 2168  IF EE>FL% THEN 110
  126. 2170  GET #1,EE
  127. 2180  COLOR 15:LOCATE 1,25:PRINT EE-RN1%:LOCATE 1,61:PRINT TIME$
  128. 2200  FOR SP=70 TO 50 STEP -1:MM$=MID$(M$,SP,1):IF MM$<>" " THEN NEXT SP
  129. 2201  M1$=MID$(M$,1,SP)+SPACE$(74-SP):M2$=MID$(M$,SP+1,90-SP)+SPACE$(SP-14)
  130. 2202  FOR SP=70 TO 50 STEP -1:MM$=MID$(E$,SP,1):IF MM$<>" " THEN NEXT SP
  131. 2203  SP1=SP:E1$=MID$(E$,1,SP)+SPACE$(74-SP):E22$=MID$(E$,SP+1,180-SP)
  132. 2204  FOR SP=70 TO 50 STEP -1:MM$=MID$(E22$,SP,1):IF MM$<>" " THEN NEXT SP
  133. 2205  E2$=MID$(E22$,1,SP)+SPACE$(74-SP):E3$=MID$(E22$,SP+1,180-SP-SP1)
  134. 2206  COLOR 9:LOCATE 8,1:PRINT EE:COLOR 14:LOCATE 8,7:PRINT W$:COLOR 9:LOCATE 10,1:PRINT "ptsp: ":COLOR 11:LOCATE 10,7:PRINT P$:COLOR 9:LOCATE 12,1:PRINT "mngs: ":COLOR 11:LOCATE 12,7:PRINT M1$:PRINT SPACE$(6)+M2$:COLOR 9:LOCATE 15,1:PRINT "exmp: "
  135. 2207  COLOR 11:LOCATE 15,7:PRINT E1$:LOCATE 16,7:PRINT E2$:LOCATE 17,7:PRINT E3$
  136. 2208  COLOR 9:LOCATE 19,10:PRINT "Press any key to continue... "
  137. 2210  CN$=INKEY$:IF CN$="" THEN 2210
  138. 2220  NEXT EE:GOTO 110
  139.