DIM links$ DIM rechts$ DIM wort$ platz% = 1000 DIM tafel$(1 TO platz%) DIM vorbei% DIM oben% 1 : q% = 0 CLS COLOR 7 RANDOMIZE TIMER p% = INT(RND * 3) + 1 FOR u% = 1 TO p% l% = INT(RND * 2) IF l% = 0 THEN q% = q% + 1 l$ = l$ + RIGHT$(STR$(l%), 1) NEXT u% PRINT "Aus "; COLOR 14 PRINT l$ l% = p% y% = 0 p% = INT(RND * 5) + 1 FOR u% = 1 TO p% regel% = INT(RND * 2) IF regel% = 0 THEN y% = y% + 1 regel$ = regel$ + RIGHT$(STR$(regel%), 1) NEXT u% COLOR 7 PRINT "wird "; COLOR 14 PRINT regel$ r% = p% p% = INT(RND * 20) + 5 FOR u% = 1 TO p% w% = INT(RND * 2) w$ = w$ + RIGHT$(STR$(w%), 1) NEXT u% COLOR 7 PRINT "im Wort "; COLOR 14 o$ = w$ PRINT w$ SLEEP FOR p% = 1 TO LEN(regel$) IF MID$(regel$, p%, LEN(l$)) = l$ THEN COLOR 4 PRINT PRINT "Ensteht unendliche Wortkette, da das obere Wort im unterem ist!" SLEEP GOTO 1 END IF NEXT p% IF LEN(regel$) < LEN(l$) THEN COLOR 4 PRINT PRINT "Wortfolge terminiert, da die W”rter krzer werden!" END IF COLOR 4 IF y% < q% THEN PRINT PRINT "Wortfolge terminiert, weil die Anzahl der 0 kleiner wird!" END IF COLOR 15 m% = 1 vorbei% = 0 tafel$(1) = w$ oben% = 1 PRINT PRINT w$ DO WHILE vorbei% <= oben% vorbei% = vorbei% + 1 jetzt$ = tafel$(vorbei%) FOR p% = 1 TO LEN(jetzt$) IF MID$(jetzt$, p%, LEN(l$)) = l$ THEN dann$ = LEFT$(jetzt$, p% - 1) + regel$ + RIGHT$(jetzt$, LEN(jetzt$) - p% - LEN(l$) + 1) END IF FOR q% = 1 TO oben% IF dann$ = tafel$(oben%) THEN EXIT FOR ELSE oben% = oben% + 1 PRINT dann$ m% = m% + 1 tafel$(oben%) = dann$ IF m% MOD (20) = 0 THEN PRINT SLEEP END IF END IF NEXT q% NEXT p% LOOP PRINT PRINT "Schritte: ", m%