home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh1x / sh17a.d64 / knobel (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  5KB  |  233 lines

  1. 1000 GOSUB1940
  2. 1005 IFA=0THENA=1:LOAD"KNOBEL MC",8,1
  3. 1009 S$=""
  4. 1010 N$="ABCDEFGHIJ"
  5. 1020 S(0)=17:S(1)=55:S(2)=60:S(3)=65
  6. 1030 S(4)=97:S(5)=177
  7. 1040 DIM ZI$(8),OP$(5),GL$(5)
  8. 1050 GOTO 2310:   HAUPTROUTINE
  9. 1060 '
  10. 1070 ' ZI$(8) DIE EINGEGEBENEN 4 STEL-
  11. 1080 '        LIGEN ZAHLEN
  12. 1090 ' OP$(5) DIE EINGEGEBENEN
  13. 1100 '        OPERATOREN
  14. 1110 ' GL$(5) UMGEFORMTE GLEICHUNGEN
  15. 1120 '        ZU + UND * GLEICHUNGEN
  16. 1130 '       FORMTEN GLEICHUNG
  17. 1140 **********************************
  18. 1150 '
  19. 1160 '   DIE ZAHLEN- UND OPERATIONS-
  20. 1170 '   VARIABLE LOESCHEN
  21. 1180 '
  22. 1190 FORT=0TO5:OP$(T)=" ":NEXT
  23. 1200 FORT=0TO8:ZI$(T)="    ":NEXT
  24. 1210 RETURN
  25. 1220 '
  26. 1230 '  EINGABEROUTINE FUER EINE ZAHL
  27. 1240 '
  28. 1250 N=0:L=0
  29. 1260 H=13+INT(N/3)*65+N*5
  30. 1270 PRINTS$TAB(H+L)""MID$(ZI$(N),L+1,1)"[146]"RIGHT$(ZI$(N),3-L)
  31. 1280 GETA$:IFA$=""THEN1280
  32. 1290 IF(A$>="A" AND A$<="J")ORA$=" "THEN1320
  33. 1295 IFA$="[157]"ANDL>0THENL=L-1:GOTO1260
  34. 1296 IFA$="[157]"ANDL=0ANDN>0THENN=N-1:L=3:PRINTS$TAB(H)ZI$(N+1)
  35. 1297 IFA$=""THEN1330
  36. 1300 GOTO1260
  37. 1320 ZI$(N)=LEFT$(ZI$(N),L)+A$+RIGHT$(ZI$(N),3-L)
  38. 1330 PRINTS$TAB(H)ZI$(N)
  39. 1340 L=L+1:IFL=4THENN=N+1:L=0:IFN>8THENRETURN
  40. 1350 GOTO1260
  41. 1360 '
  42. 1370 ' EINGABEROUTINE FUER 9 ZAHLEN
  43. 1380 '
  44. 1390 N=0
  45. 1400 H$(0)=MID$(ZI$(N),1,1)
  46. 1410 H$(1)=MID$(ZI$(N),2,1)
  47. 1420 H$(2)=MID$(ZI$(N),3,1)
  48. 1430 H$(3)=MID$(ZI$(N),4,1)
  49. 1440 GOSUB1250
  50. 1450 PRINT"               OK (J,N) ?"
  51. 1460 GETA$:IFA$=""THEN1460
  52. 1470 PRINT"[145]                          [145][145][145]"
  53. 1480 IFA$="N"THEN1390
  54. 1490 IFA$<>"J"THEN1450
  55. 1500 RETURN
  56. 1510 '
  57. 1520 ' EINGABEROUTINE FUER OPERATOREN
  58. 1530 '
  59. 1540 FORN=0TO5
  60. 1550 PRINTS$TAB(S(N))""OP$(N)"[146]"
  61. 1560 OP$(N)=""
  62. 1570 GETA$:IFA$=""THEN1570
  63. 1580 IFA$<>"+"ANDA$<>"-"ANDA$<>"*"ANDA$<>"/"THEN1570
  64. 1590 OP$(N)=A$:PRINTS$TAB(S(N))A$:NEXT
  65. 1600 PRINT"               OK (J,N) ?"
  66. 1610 GETA$:IFA$=""THEN1610
  67. 1620 PRINT"[145]                          [145][145][145]"
  68. 1630 IFA$="N"THEN1540
  69. 1640 IFA$<>"J"THEN1600
  70. 1650 RETURN
  71. 1660 '
  72. 1670 '  GLEICHUNG ZU + ODER * GLEICHUNG
  73. 1680 '  UMFORMEN
  74. 1690 '
  75. 1700 A$=ZI$(0):B$=ZI$(1):C$=ZI$(2)
  76. 1710 O$=OP$(0):GOSUB1860:GL$(0)=D$
  77. 1720 A$=ZI$(3):B$=ZI$(4):C$=ZI$(5)
  78. 1730 O$=OP$(4):GOSUB1860:GL$(1)=D$
  79. 1740 A$=ZI$(6):B$=ZI$(7):C$=ZI$(8)
  80. 1750 O$=OP$(5):GOSUB1860:GL$(2)=D$
  81. 1760 A$=ZI$(0):B$=ZI$(3):C$=ZI$(6)
  82. 1770 O$=OP$(1):GOSUB1860:GL$(3)=D$
  83. 1780 A$=ZI$(1):B$=ZI$(4):C$=ZI$(7)
  84. 1790 O$=OP$(2):GOSUB1860:GL$(4)=D$
  85. 1800 A$=ZI$(2):B$=ZI$(5):C$=ZI$(8)
  86. 1810 O$=OP$(3):GOSUB1860:GL$(5)=D$
  87. 1820 RETURN
  88. 1830 '
  89. 1840 '         UMFORM ROUTINE
  90. 1850 '
  91. 1860 IFO$="+"THEND$="+"+A$+B$+C$
  92. 1870 IFO$="-"THEND$="+"+C$+B$+A$
  93. 1880 IFO$="*"THEND$="*"+A$+B$+C$
  94. 1890 IFO$="/"THEND$="*"+C$+B$+A$
  95. 1900 RETURN
  96. 1910 '
  97. 1920 ' BILDSCHIRMMASKE AUSDRUCKEN
  98. 1930 '
  99. 1940 PRINT"[147]":POKE53248+32,0:POKE53248+33,0
  100. 1950 PRINT"ERLAUBTE SYMBOLE SIND BUCHSTABEN
  101. 1960 [153]
  102. 1970 [153]":      A,B,C,D,E,F,G,H,I,J"
  103. 1980 [153]
  104. 1990 [153]"UND RECHENOPERATIONEN
  105. 2000 PRINT
  106. 2010 PRINT":      +,-,X,/
  107. 2020 [153]
  108. 2030 [153]"DIE ZAHLEN SIND MAXIMAL 4 STELLIG
  109. 2040 PRINT
  110. 2050 PRINT"---------------------------------------"
  111. 2060 PRINT:PRINT
  112. 2070 PRINT"
  113. 2080 [153]"            OR--------------^
  114. 2090 PRINT"            [221]         =    [221]
  115. 2100 [153]"            (null)              (null)
  116. 2110 PRINT"            [221]         =    [221]
  117. 2120 [153]"            (null)--------------(null)
  118. 2130 PRINT"            [221]         =    [221]
  119. 2140 [153]"            /--------------EXP
  120. 2150 PRINT"
  121. 2160 [153]"
  122. 2170 RETURN
  123. 2180 '
  124. 2190 'EINGEGEBENE GLEICHUNGEN UNLOESBAR
  125. 2200 '
  126. 2210 PRINT"UNLOESBAR !!!!"
  127. 2220 PRINT"[146]WEITER MIT TASTE"
  128. 2230 GETA$:IFA$=""THEN2230
  129. 2240 RUN
  130. 2250 ''''''''''''''''''''''''''''''''''
  131. 2260 '                                '
  132. 2270 '  H A U P T  -  R O U T I N E   '
  133. 2280 '                                '
  134. 2290 ''''''''''''''''''''''''''''''''''
  135. 2300 '
  136. 2310 GOSUB 1940:REM  BILD-MASKE
  137. 2320 GOSUB 1190:REM
  138. 2330 GOSUB 1390:REM EINGABE
  139. 2340 GOSUB 1540:REM
  140. 2350 GOSUB 1700:REM GLEICH. UMFORMEN
  141. 2355 GOSUB 2605:REM GLEICH. SORTIEREN
  142. 2356 GOSUB 2700:REM 0 UND 9 RAUSFINDEN
  143. 2360 FORT=0TO5
  144. 2365 POKE52320+T,255
  145. 2370 IFMID$(GL$(T),1,1)="+"THENPOKE52320+T,0
  146. 2375 NEXT
  147. 2380 FORT=0TO5
  148. 2385 FORX=2TO13
  149. 2390 P=ASC(MID$(GL$(T),X,1))-65
  150. 2395 IFP<0THENP=10
  151. 2399 POKE52222+T*16+X,P:NEXTX,T
  152. 2400 P=0:IFW0$<>""THENP=P+1
  153. 2401 IFW9$<>""THENP=P+1
  154. 2402 POKE829,P
  155. 2403 GOSUB 3005:REM ANEUP VORBEREITEN
  156. 2404 PRINT"              BITTE WARTEN"
  157. 2405 SYS 12*4096:REM ******************
  158. 2406 IF PEEK(828)=0 THEN 2550
  159. 2410 FORT=0TO8:E$=""
  160. 2415 FORX=1TO4
  161. 2420 B$=MID$(ZI$(T),X,1)
  162. 2425 IFB$=" "THENE$=E$+B$:GOTO 2450
  163. 2430 P=ASC(B$)-65
  164. 2435 P=PEEK(52464+P)
  165. 2440 E$=E$+CHR$(PEEK(52448+P)+48)
  166. 2450 NEXTX
  167. 2455 ER$(T)=E$:NEXTT
  168. 2500 FORN=0TO8
  169. 2510 H=13+INT(N/3)*65+N*5
  170. 2520 PRINTS$TAB(H)ER$(N)
  171. 2530 NEXTN
  172. 2535 PRINT"                FERTIG !               "
  173. 2540 GETA$:IFA$=""THEN2540
  174. 2545 RUN
  175. 2550 PRINT"[145]TJA...DAS IST MIR DOCH ETWAS ZU SCHWER."
  176. 2560 GETA$:IFA$=""THEN2560
  177. 2565 RUN
  178. 2600 '
  179. 2601 ' GLEICHUNGEN SORTIEREN
  180. 2602 '
  181. 2605 E=0:FORT=0TO5
  182. 2610 IFMID$(GL$(T),1,1)="+"THENG$(E)=GL$(T):E=E+1
  183. 2615 NEXT:PL=E
  184. 2616 FORT=0TO5
  185. 2617 IFMID$(GL$(T),1,1)="*"THENG$(E)=GL$(T):E=E+1
  186. 2618 NEXT
  187. 2620 FORT=0TO5:GL$(T)=G$(T):NEXT
  188. 2630 RETURN
  189. 2690 '
  190. 2695 ' 0 HERAUSFINDEN
  191. 2696 '
  192. 2700 W0$="":W9$=""
  193. 2701 FORT=0TOPL-1:REM ANZAHL DER + GL.
  194. 2705 A$=MID$(GL$(T),5,1):IFA$=" "THEN2750
  195. 2710 B$=MID$(GL$(T),9,1):IFB$=" "THEN2750
  196. 2715 C$=MID$(GL$(T),13,1):IFC$=" "THEN2750
  197. 2720 IFA$=C$ANDA$=B$THENW0$=A$:GOTO2750
  198. 2730 IFA$=C$THENW0$=B$
  199. 2740 IFB$=C$THENW0$=A$
  200. 2750 NEXT
  201. 2770 GOTO 2800
  202. 2771 '
  203. 2772 ' 9 HERAUSFINDEN
  204. 2773 '
  205. 2800 REM  IFW0$=""THENRETURN
  206. 2801 FORT=0TOPL-1:REM ANZAHL DER + GL.
  207. 2802 FORS=1TO3
  208. 2805 A$=MID$(GL$(T),6-S,1):IFA$=" "THEN2850
  209. 2810 B$=MID$(GL$(T),10+S,1):IFB$=" "THEN2850
  210. 2815 C$=MID$(GL$(T),14-S,1):IFC$=" "THEN2850
  211. 2820 IFA$=C$ANDA$=B$ANDA$<>W0$THENW9$=A$:GOTO2850
  212. 2830 IFA$=C$ANDB$<>W0$THENW9$=B$
  213. 2840 IFB$=C$ANDA$<>W0$THENW9$=A$
  214. 2850 NEXTS,T
  215. 2870 RETURN
  216. 3000 '
  217. 3001 ' ANEUP VORBEREITEN
  218. 3002 '
  219. 3005 REM
  220. 3100 A$=N$:FORT=1TO10
  221. 3110 IFMID$(A$,T,1)=W9$THENA$=W9$+LEFT$(A$,T-1)+RIGHT$(A$,10-T)
  222. 3120 NEXT
  223. 3130 FORT=1TO10
  224. 3140 IFMID$(A$,T,1)=W0$THENA$=W0$+LEFT$(A$,T-1)+RIGHT$(A$,10-T)
  225. 3150 NEXT
  226. 3160 FORT=0TO9
  227. 3170 POKE52464+ASC(MID$(A$,T+1,1))-65,T
  228. 3180 NEXTT
  229. 3185 POKE52352,0
  230. 3190 FORT=9TO1STEP-1
  231. 3200 POKE52352+10-T,T:NEXT
  232. 3205 RETURN
  233.