home *** CD-ROM | disk | FTP | other *** search
- 1000 gosub1940
- 1005 ifa=0thena=1:load"knobel mc",8,1
- 1009 s$=""
- 1010 n$="abcdefghij"
- 1020 s(0)=17:s(1)=55:s(2)=60:s(3)=65
- 1030 s(4)=97:s(5)=177
- 1040 dim zi$(8),op$(5),gl$(5)
- 1050 goto 2310: hauptroutine
- 1060 '
- 1070 ' zi$(8) die eingegebenen 4 stel-
- 1080 ' ligen zahlen
- 1090 ' op$(5) die eingegebenen
- 1100 ' operatoren
- 1110 ' gl$(5) umgeformte gleichungen
- 1120 ' zu + und * gleichungen
- 1130 ' formten gleichung
- 1140 **********************************
- 1150 '
- 1160 ' die zahlen- und operations-
- 1170 ' variable loeschen
- 1180 '
- 1190 fort=0to5:op$(t)=" ":next
- 1200 fort=0to8:zi$(t)=" ":next
- 1210 return
- 1220 '
- 1230 ' eingaberoutine fuer eine zahl
- 1240 '
- 1250 n=0:l=0
- 1260 h=13+int(n/3)*65+n*5
- 1270 prints$tab(h+l)""mid$(zi$(n),l+1,1)"[146]"right$(zi$(n),3-l)
- 1280 geta$:ifa$=""then1280
- 1290 if(a$>="a" and a$<="j")ora$=" "then1320
- 1295 ifa$="[157]"andl>0thenl=l-1:goto1260
- 1296 ifa$="[157]"andl=0andn>0thenn=n-1:l=3:prints$tab(h)zi$(n+1)
- 1297 ifa$=""then1330
- 1300 goto1260
- 1320 zi$(n)=left$(zi$(n),l)+a$+right$(zi$(n),3-l)
- 1330 prints$tab(h)zi$(n)
- 1340 l=l+1:ifl=4thenn=n+1:l=0:ifn>8thenreturn
- 1350 goto1260
- 1360 '
- 1370 ' eingaberoutine fuer 9 zahlen
- 1380 '
- 1390 n=0
- 1400 h$(0)=mid$(zi$(n),1,1)
- 1410 h$(1)=mid$(zi$(n),2,1)
- 1420 h$(2)=mid$(zi$(n),3,1)
- 1430 h$(3)=mid$(zi$(n),4,1)
- 1440 gosub1250
- 1450 print" ok (j,n) ?"
- 1460 geta$:ifa$=""then1460
- 1470 print"[145] [145][145][145]"
- 1480 ifa$="n"then1390
- 1490 ifa$<>"j"then1450
- 1500 return
- 1510 '
- 1520 ' eingaberoutine fuer operatoren
- 1530 '
- 1540 forn=0to5
- 1550 prints$tab(s(n))""op$(n)"[146]"
- 1560 op$(n)=""
- 1570 geta$:ifa$=""then1570
- 1580 ifa$<>"+"anda$<>"-"anda$<>"*"anda$<>"/"then1570
- 1590 op$(n)=a$:prints$tab(s(n))a$:next
- 1600 print" ok (j,n) ?"
- 1610 geta$:ifa$=""then1610
- 1620 print"[145] [145][145][145]"
- 1630 ifa$="n"then1540
- 1640 ifa$<>"j"then1600
- 1650 return
- 1660 '
- 1670 ' gleichung zu + oder * gleichung
- 1680 ' umformen
- 1690 '
- 1700 a$=zi$(0):b$=zi$(1):c$=zi$(2)
- 1710 o$=op$(0):gosub1860:gl$(0)=d$
- 1720 a$=zi$(3):b$=zi$(4):c$=zi$(5)
- 1730 o$=op$(4):gosub1860:gl$(1)=d$
- 1740 a$=zi$(6):b$=zi$(7):c$=zi$(8)
- 1750 o$=op$(5):gosub1860:gl$(2)=d$
- 1760 a$=zi$(0):b$=zi$(3):c$=zi$(6)
- 1770 o$=op$(1):gosub1860:gl$(3)=d$
- 1780 a$=zi$(1):b$=zi$(4):c$=zi$(7)
- 1790 o$=op$(2):gosub1860:gl$(4)=d$
- 1800 a$=zi$(2):b$=zi$(5):c$=zi$(8)
- 1810 o$=op$(3):gosub1860:gl$(5)=d$
- 1820 return
- 1830 '
- 1840 ' umform routine
- 1850 '
- 1860 ifo$="+"thend$="+"+a$+b$+c$
- 1870 ifo$="-"thend$="+"+c$+b$+a$
- 1880 ifo$="*"thend$="*"+a$+b$+c$
- 1890 ifo$="/"thend$="*"+c$+b$+a$
- 1900 return
- 1910 '
- 1920 ' bildschirmmaske ausdrucken
- 1930 '
- 1940 print"[147]":poke53248+32,0:poke53248+33,0
- 1950 print"erlaubte symbole sind buchstaben
- 1960 [153]
- 1970 [153]": a,b,c,d,e,f,g,h,i,j"
- 1980 [153]
- 1990 [153]"und rechenoperationen
- 2000 print
- 2010 print": +,-,x,/
- 2020 [153]
- 2030 [153]"die zahlen sind maximal 4 stellig
- 2040 print
- 2050 print"---------------------------------------"
- 2060 print:print
- 2070 print"
- 2080 [153]" or--------------^
- 2090 print" [221] = [221]
- 2100 [153]" (NULL) (NULL)
- 2110 print" [221] = [221]
- 2120 [153]" (NULL)--------------(NULL)
- 2130 print" [221] = [221]
- 2140 [153]" /--------------exp
- 2150 print"
- 2160 [153]"
- 2170 return
- 2180 '
- 2190 'eingegebene gleichungen unloesbar
- 2200 '
- 2210 print"unloesbar !!!!"
- 2220 print"[146]weiter mit taste"
- 2230 geta$:ifa$=""then2230
- 2240 run
- 2250 ''''''''''''''''''''''''''''''''''
- 2260 ' '
- 2270 ' h a u p t - r o u t i n e '
- 2280 ' '
- 2290 ''''''''''''''''''''''''''''''''''
- 2300 '
- 2310 gosub 1940:rem bild-maske
- 2320 gosub 1190:rem
- 2330 gosub 1390:rem eingabe
- 2340 gosub 1540:rem
- 2350 gosub 1700:rem gleich. umformen
- 2355 gosub 2605:rem gleich. sortieren
- 2356 gosub 2700:rem 0 und 9 rausfinden
- 2360 fort=0to5
- 2365 poke52320+t,255
- 2370 ifmid$(gl$(t),1,1)="+"thenpoke52320+t,0
- 2375 next
- 2380 fort=0to5
- 2385 forx=2to13
- 2390 p=asc(mid$(gl$(t),x,1))-65
- 2395 ifp<0thenp=10
- 2399 poke52222+t*16+x,p:nextx,t
- 2400 p=0:ifw0$<>""thenp=p+1
- 2401 ifw9$<>""thenp=p+1
- 2402 poke829,p
- 2403 gosub 3005:rem aneup vorbereiten
- 2404 print" bitte warten"
- 2405 sys 12*4096:rem ******************
- 2406 if peek(828)=0 then 2550
- 2410 fort=0to8:e$=""
- 2415 forx=1to4
- 2420 b$=mid$(zi$(t),x,1)
- 2425 ifb$=" "thene$=e$+b$:goto 2450
- 2430 p=asc(b$)-65
- 2435 p=peek(52464+p)
- 2440 e$=e$+chr$(peek(52448+p)+48)
- 2450 nextx
- 2455 er$(t)=e$:nextt
- 2500 forn=0to8
- 2510 h=13+int(n/3)*65+n*5
- 2520 prints$tab(h)er$(n)
- 2530 nextn
- 2535 print" fertig ! "
- 2540 geta$:ifa$=""then2540
- 2545 run
- 2550 print"[145]tja...das ist mir doch etwas zu schwer."
- 2560 geta$:ifa$=""then2560
- 2565 run
- 2600 '
- 2601 ' gleichungen sortieren
- 2602 '
- 2605 e=0:fort=0to5
- 2610 ifmid$(gl$(t),1,1)="+"theng$(e)=gl$(t):e=e+1
- 2615 next:pl=e
- 2616 fort=0to5
- 2617 ifmid$(gl$(t),1,1)="*"theng$(e)=gl$(t):e=e+1
- 2618 next
- 2620 fort=0to5:gl$(t)=g$(t):next
- 2630 return
- 2690 '
- 2695 ' 0 herausfinden
- 2696 '
- 2700 w0$="":w9$=""
- 2701 fort=0topl-1:rem anzahl der + gl.
- 2705 a$=mid$(gl$(t),5,1):ifa$=" "then2750
- 2710 b$=mid$(gl$(t),9,1):ifb$=" "then2750
- 2715 c$=mid$(gl$(t),13,1):ifc$=" "then2750
- 2720 ifa$=c$anda$=b$thenw0$=a$:goto2750
- 2730 ifa$=c$thenw0$=b$
- 2740 ifb$=c$thenw0$=a$
- 2750 next
- 2770 goto 2800
- 2771 '
- 2772 ' 9 herausfinden
- 2773 '
- 2800 rem ifw0$=""thenreturn
- 2801 fort=0topl-1:rem anzahl der + gl.
- 2802 fors=1to3
- 2805 a$=mid$(gl$(t),6-s,1):ifa$=" "then2850
- 2810 b$=mid$(gl$(t),10+s,1):ifb$=" "then2850
- 2815 c$=mid$(gl$(t),14-s,1):ifc$=" "then2850
- 2820 ifa$=c$anda$=b$anda$<>w0$thenw9$=a$:goto2850
- 2830 ifa$=c$andb$<>w0$thenw9$=b$
- 2840 ifb$=c$anda$<>w0$thenw9$=a$
- 2850 nexts,t
- 2870 return
- 3000 '
- 3001 ' aneup vorbereiten
- 3002 '
- 3005 rem
- 3100 a$=n$:fort=1to10
- 3110 ifmid$(a$,t,1)=w9$thena$=w9$+left$(a$,t-1)+right$(a$,10-t)
- 3120 next
- 3130 fort=1to10
- 3140 ifmid$(a$,t,1)=w0$thena$=w0$+left$(a$,t-1)+right$(a$,10-t)
- 3150 next
- 3160 fort=0to9
- 3170 poke52464+asc(mid$(a$,t+1,1))-65,t
- 3180 nextt
- 3185 poke52352,0
- 3190 fort=9to1step-1
- 3200 poke52352+10-t,t:next
- 3205 return
-