home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 68 / 64er_Magazin_Sonderheft_68_19xx_Markt__Technik_de_Side_A.d64 / tpfm (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  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.