home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / s85xx / s8507b.d64 / tpfm (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  6KB  |  211 lines

  1. 1 REM**********************************
  2. 2 REM*     TRAININGSPROGRAMM FUER     *
  3. 3 REM*       MASCHINENSCHREIBEN       *
  4. 4 REM*  DIRK MARZLUF  BROMBEERMATT 2  *
  5. 5 REM*        7614 GENGENBACH         *
  6. 6 REM**********************************
  7. 7 :
  8. 10 PRINTCHR$(147);CHR$(5);CHR$(14);CHR$(8):POKE53280,0:POKE53281,0
  9. 20 FORI=53000TO53021:READX:POKEI,X:NEXTI
  10. 30 GOSUB7000
  11. 37 :
  12. 38 REM***        HAUPTMENUE         ***
  13. 39 :
  14. 40 DIMA$(200):DIMB(30,20):PRINT"[147]1 = [211]CHREIBEN"
  15. 50 PRINT"2 = [203]ONTROLLIEREN"
  16. 53 PRINT"3 = [194]ENOTEN"
  17. 55 PRINT"4 = [197]NDE"
  18. 60 GETAA$:IFAA$<>"1"ANDAA$<>"2"ANDAA$<>"3"ANDAA$<>"4"THEN60
  19. 70 IFAA$="2"THEN2000
  20. 72 IFAA$="3"THENF1=1:GOTO6007
  21. 75 IFAA$="4"THENPRINT"[147]":POKE1,55:END
  22. 997 :
  23. 998 REM***      TEXT SCHREIBEN      ***
  24. 999 :
  25. 1000 I=0:PRINTCHR$(147);"'[211]HIFT [210]ETURN' BEENDET [212]EXT VORZEITIG"
  26. 1010 GETA$
  27. 1012 IFTI$="001000"THENET$=TI$:A$(I)=B$:PRINT"[147]":GOSUB5000:GOSUB3000:RUN40
  28. 1013 IFZA=0THENTI$="000000"
  29. 1014 IFA$=""THEN1010
  30. 1015 A=ASC(A$)
  31. 1020 IFA=141ANDZA<>0THENET$=TI$:A$(I)=B$:PRINT"[147]":GOSUB5010:GOSUB3000:RUN40
  32. 1025 IFA<32ANDA<>13ORA>127ANDA<161THEN1010
  33. 1030 IFA$=CHR$(64)THENA$="UE"
  34. 1032 IFA$=CHR$(186)THENA$="[213]E"
  35. 1034 IFA$=CHR$(62)THENA$="OE"
  36. 1036 IFA$=CHR$(91)THENA$="[207]E"
  37. 1040 IFA$=CHR$(60)THENA$="AE"
  38. 1042 IFA$=CHR$(93)THENA$="[193]E"
  39. 1044 IFA$=CHR$(192)THENA$="SS"
  40. 1050 PRINTA$;:ZA=ZA+1
  41. 1052 IFA=13THENA$=CHR$(190)
  42. 1053 IFA=58THENA$=CHR$(191)
  43. 1054 IFA=44THENA$=CHR$(192)
  44. 1055 B$=B$+A$:IFLEN(B$)>70THENA$(I)=B$:I=I+1:B$=""
  45. 1060 GOTO1010
  46. 1997 :
  47. 1998 REM***    TEXT KONTROLLIEREN   ***
  48. 1999 :
  49. 2000 GOSUB4000
  50. 2002 FE$="00":PRINT"[205]IT '[211]PACE' WIRD [198]EHLERZAHL ERHOEHT."
  51. 2004 PRINT"[205]IT '[211]HIFT' KANN DAS [204]ISTING DES [212]EXTES"
  52. 2005 PRINT"GESTOPPT WERDEN."
  53. 2006 FORP=0TOI:FORPP=1TO72
  54. 2010 A2$=MID$(A$(P),PP,1):IFA2$<>""THENIFASC(A2$)=190THENA2$=CHR$(13)
  55. 2012 IFA2$<>""THENIFASC(A2$)=191THENA2$=CHR$(58)
  56. 2013 IFA2$<>""THENIFASC(A2$)=192THENA2$=CHR$(44)
  57. 2015 IFS1=40THENPRINT"[145]";
  58. 2020 PRINTA2$;:GETAA$
  59. 2025 IFAA$=" "THENFE=FE+1:FE$=STR$(FE):FE$=MID$(FE$,2,2):IFFE<10THENFE$="0"+FE$
  60. 2027 IFFE=99THENFE=98
  61. 2030 Z1=PEEK(214):IFPEEK(653)=1THEN2030
  62. 2040 S1=PEEK(211):PRINT"[193]NZAHL DER [198]EHLER: ";FE$;"                   "
  63. 2060 IFF2=1THEN2205
  64. 2100 POKE214,Z1:POKE211,S1:SYS58640:NEXTPP:NEXTP
  65. 2200 PRINT:PRINT"'[210]ETURN'=WEITER[146] ([193]USWERTUNG)":F2=1
  66. 2205 GETAA$:IFAA$<>""THENIFASC(AA$)=13THEN6000
  67. 2220 GOTO2025
  68. 2997 :
  69. 2998 REM***     ABSPEICHERMENUE     ***
  70. 2999 :
  71. 3000 PRINT"[147]1 = [193]UF [203]ASSETTE ABSPEICHERN"
  72. 3001 PRINT"2 = [193]UF [196]ISKETTE ABSPEICHERN"
  73. 3002 PRINT"3 = [203]ORRIGIEREN (OHNE [193]BSPEICHERN)"
  74. 3004 GETAA$:IFAA$<>"1"ANDAA$<>"2"ANDAA$<>"3"THEN3004
  75. 3005 PRINT"[147]":PE=8:NA$="@:TEXT":IFAA$="1"THENPE=1:GOSUB8000:NA$="TEXT"
  76. 3006 IFAA$="3"THEN2002
  77. 3007 :
  78. 3008 REM***    TEXT ABSPEICHERN     ***
  79. 3009 :
  80. 3010 OPEN1,PE,1,NA$:PRINT#1,E1:PRINT#1,ET$
  81. 3020 FORP=0TOI:PRINT#1,A$(P):NEXT:CLOSE1:RETURN
  82. 3997 :
  83. 3998 REM***        LADEMENUE        ***
  84. 3999 :
  85. 4000 I=0:PRINT"[147]1 = [214]ON [203]ASSETTE LADEN"
  86. 4001 PRINT"2 = [214]ON [196]ISKETTE LADEN"
  87. 4002 GETAA$:IFAA$<>"1"ANDAA$<>"2"THEN4002
  88. 4003 PRINT"[147]":PE=8:IFAA$="1"THENPE=1:GOSUB8000
  89. 4004 :
  90. 4005 REM***       TEXT LADEN        ***
  91. 4006 :
  92. 4009 OPEN1,PE,0,"TEXT":INPUT#1,E1:INPUT#1,ET$
  93. 4010 INPUT#1,A$(I):IFST=64THENCLOSE1:PRINT"[147]":RETURN
  94. 4020 I=I+1:GOTO4010
  95. 4997 :
  96. 4998 REM***ERGEBNISSE, INFORMATIONEN***
  97. 4999 :
  98. 5000 PRINT"[196]IE [218]EHNMINUTENABSCHRIFT IST ZU [197]NDE."
  99. 5005 PRINT"[215]EITERE [201]NFORMATIONEN FOLGEN."
  100. 5010 IFET$="000000"THENET$="000001"
  101. 5012 A2$=MID$(ET$,3,2)
  102. 5020 A3$=MID$(ET$,5,2)
  103. 5030 SE=VAL(A2$)*60+VAL(A3$):IFF3=1THENRETURN
  104. 5040 PRINT"[196]ER [212]EXT HAT EINE [204]AENGE VON";ZA
  105. 5050 PRINT"[218]EICHEN UND [211]IE HABEN";SE;"[211]EKUNDEN"
  106. 5055 PRINT"DAFUER BENOETIGT."
  107. 5057 E1=INT(ZA/(SE/600)+.5)/10
  108. 5060 PRINT"[211]IE HABEN EINEN [193]NSCHLAG VON";E1
  109. 5070 PRINT"[218]EICHEN PRO [205]INUTE."
  110. 5080 PRINT"'[210]ETURN'=WEITER[146] ([193]BSPEICHER-[205]ENUE)"
  111. 5090 GETAA$:IFAA$<>""THENIFASC(AA$)=13THENRETURN
  112. 5100 GOTO5090
  113. 5997 :
  114. 5998 REM***EINLESEN DER NOTENTABELLE***
  115. 5999 :
  116. 6000 E2=E1*10:F3=1:GOSUB5010:FE=INT((FE/(SE/600))+.5)
  117. 6001 PRINT"[147]1 = [193]NFAENGER":PRINT"2 = [197]XAMENSKANDIDAT"
  118. 6002 WAIT198,1:GETA$:IFA$="1"THENAN=1:FE=INT(FE/2):E2=E2*2:PRINT"[147]":GOTO6007
  119. 6003 PRINT"[147][202]ETZT WIRD DIE [206]OTE ERRECHNET, DIE [211]IE"
  120. 6004 PRINT"IN DER [193]BSCHLUSSPRUEFUNG EINES [211]CHREIB-"
  121. 6005 PRINT"MASCHINENKURSES ERHALTEN HAETTEN."
  122. 6006 PRINT"****************************************"
  123. 6007 RESTORE:FORI=1TO43:READX$:NEXTI:READMA:IFF1=1THENPRINT"[147]"
  124. 6008 READX:N1=X
  125. 6010 READX:IFX=-1THENF=F+1:GOTO6008
  126. 6020 IFX=-2THEN6100
  127. 6021 IFX<0THENX=ABS(X):GOTO6030
  128. 6022 IFX<10THENX=X*1000
  129. 6024 IFX<100THENX=X*100
  130. 6026 IFX<1000THENX=X*10
  131. 6030 B(F,N1)=X:N1=N1+1
  132. 6040 GOTO6010
  133. 6097 :
  134. 6098 REM***   BERECHNEN DER NOTE    ***
  135. 6099 :
  136. 6100 Z2=0:IFF1=0THEN6104
  137. 6101 PRINT"[147][198]UER ERNEUTEN [211]TART BEI [198]EHLERZAHL 'X'  EINGEBEN."
  138. 6102 INPUT"[198]EHLERZAHL";FE$:IFFE$="X"THENRUN40
  139. 6103 INPUT"[193]NSCHLAGSZAHL";E2$:E2=VAL(E2$):FE=VAL(FE$)
  140. 6104 IFE2<MAORFE>FTHENNO=6:GOTO6250
  141. 6105 FORNO=6TO1.5STEP-.5:IFB(FE,Z2)>E2THEN6250
  142. 6150 IFB(FE,Z2)>B(FE,Z2+1)THENNO=NO-.5:GOTO6250
  143. 6200 Z2=Z2+1:NEXT
  144. 6250 IH=0:IFE2<>0ANDE2>=MATHENIFFE/E2*100<=0.5THENIH=1
  145. 6297 :
  146. 6298 REM***    AUSGABE DER NOTE     ***
  147. 6299 :
  148. 6300 IFF1=0THEN6304
  149. 6301 PRINT"[208]RUEFUNGSNOTE:";NO:GOSUB9000
  150. 6302 PRINT"[218]UR [214]ORTSETZUNG BELIEBIGE [212]ASTE         DRUECKEN."
  151. 6303 WAIT198,1:POKE198,0:GOTO6100
  152. 6304 PRINT"[211]IE HAETTEN DIE [206]OTE";NO;"BEKOMMEN."
  153. 6305 IFET$="001000"THENGOSUB9000:Q$="":GOTO6311
  154. 6306 MI=INT(SE/60):S2=SE-MI*60
  155. 6307 PRINT"[211]IE HABEN";MI;"[205]IN. UND";S2;"[211]EK."
  156. 6308 PRINT"GESCHRIEBEN. [193]NZAHL DER [198]EHLER UND"
  157. 6309 PRINT"[193]NSCHLAEGE WURDEN AUF [218]EHNMINUTEN-"
  158. 6310 PRINT"LEISTUNG HOCHGERECHNET.":Q$="":GOSUB9000
  159. 6311 PRINTQ$;"'[210]ETURN'=WEITER[146] (ERNEUTER [211]TART)"
  160. 6320 GETAA$:IFAA$<>""THENIFASC(AA$)=13THENRUN40
  161. 6330 GOTO6320
  162. 6997 :
  163. 6998 REM*** UMSTELLEN DER TASTATUR  ***
  164. 6999 :
  165. 7000 PRINT"[196]IE [212]ASTATUR WIRD JETZT UMGESTELLT."
  166. 7002 SYS53000:POKE1,53
  167. 7005 READX:IFX=-1THENPOKE60389,61:POKE60407,39:RETURN
  168. 7010 READY:PRINTCHR$(X)" WIRD ZU "CHR$(Y)
  169. 7015 FORI=60289TO60419:D=PEEK(I):IFD<>XANDD<>YTHENNEXT
  170. 7016 IFD=XTHENI1=I
  171. 7017 IFD=YTHENI2=I
  172. 7018 IFI1=0ORI2=0THENNEXT
  173. 7020 POKEI1,Y:POKEI2,X:I1=0:I2=0:GOTO7005
  174. 7997 :
  175. 7998 REM***       TEXTAUSGABE       ***
  176. 7999 :
  177. 8000 PRINT"[194]ITTE [203]ASSETTE ZUM [212]EXTBEGINN ZURUECK-  SPULEN."
  178. 8010 PRINT"[193]NSCHLIESSEND DRUECKEN [211]IE BITTE EINE"
  179. 8015 PRINT"BELIEBIGE [212]ASTE."
  180. 8020 WAIT198,1:POKE198,0:RETURN
  181. 9000 IFAN=1THENQ$="":RETURN
  182. 9002 IFIH=0THEN9010
  183. 9005 PRINT"[211]IE HAETTEN DIE [201].[200].[203]. [208]RUEFUNG         BESTANDEN."
  184. 9007 RETURN
  185. 9010 PRINT"[211]IE HAETTEN DIE [201].[200].[203]. [208]RUEFUNG NICHT   BESTANDEN."
  186. 9020 RETURN
  187. 49996 :
  188. 49997 REM*** DATEN FUER ROM-KOPIER  ***
  189. 49998 REM***        -ROUTINE        ***
  190. 49999 :
  191. 50000 DATA160,  0,169,192,133, 91,133, 89,132, 90,132, 88,169,224
  192. 50010 DATA132, 95,133, 96, 32,191,163, 96
  193. 50996 :
  194. 50997 REM***  DATEN FUER TASTATUR-  ***
  195. 50998 REM***       UMSTELLUNG       ***
  196. 50999 :
  197. 51000 DATA89,90,217,218,45,47,47,39,58,62,59,60,63,219,43,42,42,192,35,61,-1
  198. 51997 :
  199. 51998 REM***      NOTENTABELLE      ***
  200. 51999 :
  201. 52000 DATA1200,5,12,14,16,17,18,-1,5,12,14,16,17,18,-1,4,12,14,15,16,17,18,-1
  202. 52010 DATA3,12,14,15,16,17,18,24,-1,3,12,15,16,17,18,2133,32,-1
  203. 52020 DATA2,12,14,16,17,18,2,2667,4,-1,2,12,15,16,17,1875,24,32,-1
  204. 52030 DATA1,12,14,16,17,18,2188,28,3733,-1,1,12,15,16,17,2,25,32,-1
  205. 52040 DATA0,12,14,16,17,18,225,2813,36,-1,0,12,15,16,17,2,25,3125,4,-1
  206. 52050 DATA0,14,15,17,18,22,275,3438,-1,0,15,16,17,2,24,3,375,-1
  207. 52060 DATA0,15,16,18,2167,26,325,-1,0,16,17,1867,2333,2028,35,-1
  208. 52070 DATA0,16,17,2,25,3,375,-1,0,17,18,2133,2667,32,-1
  209. 52080 DATA0,17,1889,2267,2833,34,-1,0,18,2,24,3,36,-1,0,18,2111,2533,3167,-1
  210. 52090 DATA0,1905,2222,2667,3333,-2
  211.