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>