BuK/IIm19/Aufzeichnungen Adaszewski/Vorlesung 3
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SchemeJS</language>
<code id="5e8f143dab426">
(define endlicheMenge
(lambda (wort)
(let ((zeichenListe (string->list wort)))
(letrec
((alleZeichenImAlphabet?
(lambda (alleZeichen)
(cond [
(or (char=? #\a (car alleZeichen)) (char=? #\b (car alleZeichen)))
(cond
[(not (null? (cdr alleZeichen))) (alleZeichenImAlphabet?(cdr alleZeichen))]
[else #t]
)
]
[else #f]
)
)
))
(cond
[
(= (string-length wort) 3)
(alleZeichenImAlphabet? zeichenListe)
]
[else #f]
)
)
)
)
)
</code>
<run id="5e8f143dab4a4">
(endlicheMenge "aba")
</run>
<code id="5e8f16615fbc8">
(define abzaehlbarUnendlicheMenge
(lambda (wort)
(let ((zeichenListe (string->list wort)))
(letrec
((alleZeichenImAlphabet?
(lambda (alleZeichen)
(cond [
(or (char=? #\a (car alleZeichen)) (char=? #\b (car alleZeichen)))
(cond
[(not (null? (cdr alleZeichen))) (alleZeichenImAlphabet?(cdr alleZeichen))]
[else #t]
)
]
[else #f]
)
)
))
(cond
[
(and (not (null? zeichenListe)) (char=? #\a (car zeichenListe)))
(cond
[(null? (cdr zeichenListe)) #t]
[else (alleZeichenImAlphabet? (cdr zeichenListe))]
)
]
[else #f]
)
)
)
)
)
</code>
<run id="5e8f16615fc44">
(abzaehlbarUnendlicheMenge "aaaaaba")
</run>