1 : DIM links$ DIM rechts$ DIM wort$ platz% = 500 DIM tafel$(1 TO platz%) DIM vorbei% DIM oben% DIM z% CLS COLOR 9 PRINT "Bsp: Aus 010 wird 1000" PRINT " Im Wort 0101010" COLOR 15 INPUT "Aus: ", l$ INPUT "wird: ", regel$ RANDOMIZE TIMER w$ = "" 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 COLOR 9 e% = 0 FOR p% = 1 TO LEN(w$) IF MID$(w$, p%, LEN(l$)) = l$ THEN e% = 1 NEXT p% IF e% = 0 THEN PRINT PRINT "Linke Seite ist im Wort nicht enthalten!" END END IF 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 COLOR 15 NEXT p% IF LEN(regel$) < LEN(l$) THEN COLOR 4 PRINT PRINT "Wortfolge terminiert, da die W”rter krzer werden!" COLOR 15 END IF COLOR 4 'IF w% < q% THEN 'PRINT COLOR 15 'END IF vorbei% = 0 tafel$(1) = w$ oben% = 1 o$ = w$ PRINT COLOR 15 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) FOR q% = 1 TO oben% IF dann$ = tafel$(q%) THEN GOTO weiter END IF NEXT q% oben% = oben% + 1 COLOR 15 PRINT dann$ tafel$(oben%) = dann$ FOR p% = 1 TO LEN(dann$) IF MID$(dann$, p%, LEN(w$)) = w$ THEN COLOR 4 PRINT " SCHLEIFENALARM!" PRINT " Ab Position: ", p% COLOR 15 GOTO 2 END IF NEXT p% IF oben% MOD (20) = 0 THEN PRINT SLEEP END IF END IF weiter: NEXT p% LOOP 2 : PRINT PRINT "W”rter in Liste: ", oben% y% = 0 FOR r% = 1 TO oben% IF LEN(tafel$(r%)) > y% THEN y% = LEN(tafel$(r%)) z% = r% END IF NEXT r% PRINT "L„ngstes Wort: ", tafel$(z%) PRINT COLOR 9 PRINT " Aus "; l$; " wurde "; regel$; " im Wort "; o$ PRINT COLOR 0