mirror of https://github.com/2martens/uni.git
Datenstruktur korrigiert und vereinfacht.
This commit is contained in:
parent
5d3323e75e
commit
2b4c538135
|
@ -13,131 +13,105 @@ Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
|
||||||
; Die Rückgabe einer Liste mit dem Buchstaben an erster Stelle und einer
|
; Die Rückgabe einer Liste mit dem Buchstaben an erster Stelle und einer
|
||||||
; Liste als zweitem Element, die wiederum den Schlüssel an erster Stelle
|
; Liste als zweitem Element, die wiederum den Schlüssel an erster Stelle
|
||||||
; enthält, erlaubt ein einfaches Auswerten der Zuordnung.
|
; enthält, erlaubt ein einfaches Auswerten der Zuordnung.
|
||||||
(define (daten char)
|
(define buchstabiertafel
|
||||||
(case (char->integer char)
|
'((#\A . Alfa)
|
||||||
([65] (list char 'Alfa))
|
(#\B . Bravo)
|
||||||
([66] (list char 'Bravo))
|
(#\C . Charlie)
|
||||||
([67] (list char 'Charlie))
|
(#\D . Delta)
|
||||||
([68] (list char 'Delta))
|
(#\E . Echo)
|
||||||
([69] (list char 'Echo))
|
(#\F . Foxtrott)
|
||||||
([70] (list char 'Foxtrott))
|
(#\G . Golf)
|
||||||
([71] (list char 'Golf))
|
(#\H . Hotel)
|
||||||
([72] (list char 'Hotel))
|
(#\I . India)
|
||||||
([73] (list char 'India))
|
(#\J . Juliett)
|
||||||
([74] (list char 'Juliett))
|
(#\K . Kilo)
|
||||||
([75] (list char 'Kilo))
|
(#\L . Lima)
|
||||||
([76] (list char 'Lima))
|
(#\M . Mike)
|
||||||
([77] (list char 'Mike))
|
(#\N . November)
|
||||||
([78] (list char 'November))
|
(#\O . Oscar)
|
||||||
([79] (list char 'Oscar))
|
(#\P . Papa)
|
||||||
([80] (list char 'Papa))
|
(#\Q . Quebec)
|
||||||
([81] (list char 'Quebec))
|
(#\R . Romeo)
|
||||||
([82] (list char 'Romeo))
|
(#\S . Sierra)
|
||||||
([83] (list char 'Sierra))
|
(#\T . Tango)
|
||||||
([84] (list char 'Tango))
|
(#\U . Uniform)
|
||||||
([85] (list char 'Uniform))
|
(#\V . Viktor)
|
||||||
([86] (list char 'Viktor))
|
(#\W . Whiskey)
|
||||||
([87] (list char 'Whiskey))
|
(#\X . X-ray)
|
||||||
([88] (list char 'X-ray))
|
(#\Y . Yankee)
|
||||||
([89] (list char 'Yankee))
|
(#\Z . Zulu)
|
||||||
([90] (list char 'Zulu))
|
(#\0 . Nadazero)
|
||||||
([48] (list char 'Nadazero))
|
(#\1 . Unaone)
|
||||||
([49] (list char 'Unaone))
|
(#\2 . Bissotwo)
|
||||||
([50] (list char 'Bissotwo))
|
(#\3 . Terrathree)
|
||||||
([51] (list char 'Terrathree))
|
(#\4 . Kartefour)
|
||||||
([52] (list char 'Kartefour))
|
(#\5 . Pantafive)
|
||||||
([53] (list char 'Pantafive))
|
(#\6 . Sosisix)
|
||||||
([54] (list char 'Sosisix))
|
(#\7 . Setteseven)
|
||||||
([55] (list char 'Setteseven))
|
(#\8 . Oktoeight)
|
||||||
([56] (list char 'Oktoeight))
|
(#\9 . Novenine)
|
||||||
([57] (list char 'Novenine))
|
(#\, . Decimal)
|
||||||
([44] (list char 'Decimal))
|
(#\. . Stop)
|
||||||
([46] (list char 'Stop))
|
))
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
; 1.2
|
; 1.2
|
||||||
(define (char->schlüssel char)
|
(define (char->schlüssel char tafel)
|
||||||
(car (cdr (daten char))))
|
(cdr (assoc (char->upper char) tafel)))
|
||||||
|
|
||||||
; 1.3
|
; 1.3
|
||||||
(define char_to_upperCase (λ (myChar)
|
(define (char->upper char)
|
||||||
; x als ASCII Wert für myChar definieren
|
(let ([charInt (char->integer char)])
|
||||||
(define x (char->integer myChar))
|
(cond ([<= 96 charInt 122] (integer->char (- charInt 32)))
|
||||||
; y als x-32 definieren
|
([<= 65 charInt 90] (integer->char charInt))
|
||||||
(define y (- x 32))
|
(else char))))
|
||||||
; wenn x < 91 (bereits upperCase) myChar direkt zurückgeben
|
|
||||||
(if (< x 91)
|
|
||||||
; wenn myChar bereits upperCase ist, direkt zurückgeben
|
|
||||||
myChar
|
|
||||||
; andernfalls wird y zurückgegeben
|
|
||||||
(when (> x 96)
|
|
||||||
; y stellt den gleichen Buchstaben wie x dar, bloß in upperCase
|
|
||||||
; daher wird y zurückgegeben
|
|
||||||
(integer->char y)))))
|
|
||||||
|
|
||||||
; 1.4
|
; 1.4
|
||||||
(define (buchstabiere text)
|
(define (buchstabiere text tafel)
|
||||||
(let ([xs (string->list text)])
|
(letrec ((rec (λ (xs)
|
||||||
(if [empty? xs]
|
(if (null? xs)
|
||||||
'()
|
null
|
||||||
(cons (char->schlüssel (char_to_upperCase(car xs))) (buchstabiere (list->string (cdr xs))))
|
(cons (char->schlüssel (car xs) tafel)
|
||||||
)
|
(rec (cdr xs)))))))
|
||||||
))
|
(rec (string->list text))))
|
||||||
|
|
||||||
(require se3-bib/flaggen-module)
|
(require se3-bib/flaggen-module)
|
||||||
; 2.1
|
; 2.1
|
||||||
; Analoger Entwurf wie bei 1.1, diesmal mit den Flaggen.
|
; Analoger Entwurf wie bei 1.1, diesmal mit den Flaggen.
|
||||||
(define (flaggenData char)
|
(define flaggentafel
|
||||||
(case (char->integer char)
|
`((#\A . ,A)
|
||||||
([65] (list char A))
|
(#\B . ,B)
|
||||||
([66] (list char B))
|
(#\C . ,C)
|
||||||
([67] (list char C))
|
(#\D . ,D)
|
||||||
([68] (list char D))
|
(#\E . ,E)
|
||||||
([69] (list char E))
|
(#\F . ,F)
|
||||||
([70] (list char F))
|
(#\G . ,G)
|
||||||
([71] (list char G))
|
(#\H . ,H)
|
||||||
([72] (list char H))
|
(#\I . ,I)
|
||||||
([73] (list char I))
|
(#\J . ,J)
|
||||||
([74] (list char J))
|
(#\K . ,K)
|
||||||
([75] (list char K))
|
(#\L . ,L)
|
||||||
([76] (list char L))
|
(#\M . ,M)
|
||||||
([77] (list char M))
|
(#\N . ,N)
|
||||||
([78] (list char N))
|
(#\O . ,O)
|
||||||
([79] (list char O))
|
(#\P . ,P)
|
||||||
([80] (list char P))
|
(#\Q . ,Q)
|
||||||
([81] (list char Q))
|
(#\R . ,R)
|
||||||
([82] (list char R))
|
(#\S . ,S)
|
||||||
([83] (list char S))
|
(#\T . ,T)
|
||||||
([84] (list char T))
|
(#\U . ,U)
|
||||||
([85] (list char U))
|
(#\V . ,V)
|
||||||
([86] (list char V))
|
(#\W . ,W)
|
||||||
([87] (list char W))
|
(#\X . ,X)
|
||||||
([88] (list char X))
|
(#\Y . ,Y)
|
||||||
([89] (list char Y))
|
(#\Z . ,Z)
|
||||||
([90] (list char Z))
|
(#\0 . ,Z0)
|
||||||
([48] (list char Z0))
|
(#\1 . ,Z1)
|
||||||
([49] (list char Z1))
|
(#\2 . ,Z2)
|
||||||
([50] (list char Z2))
|
(#\3 . ,Z3)
|
||||||
([51] (list char Z3))
|
(#\4 . ,Z4)
|
||||||
([52] (list char Z4))
|
(#\5 . ,Z5)
|
||||||
([53] (list char Z5))
|
(#\6 . ,Z6)
|
||||||
([54] (list char Z6))
|
(#\7 . ,Z7)
|
||||||
([55] (list char Z7))
|
(#\8 . ,Z8)
|
||||||
([56] (list char Z8))
|
(#\9 . ,Z9)
|
||||||
([57] (list char Z9))
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
; 2.2
|
|
||||||
(define (char->flagge char)
|
|
||||||
(car (cdr (flaggenData char))))
|
|
||||||
|
|
||||||
; 2.3
|
|
||||||
(define (buchstabiereFlagge text)
|
|
||||||
(let ([xs (string->list text)])
|
|
||||||
(if [empty? xs]
|
|
||||||
'()
|
|
||||||
(cons (char->flagge (char_to_upperCase(car xs))) (buchstabiereFlagge (list->string (cdr xs))))
|
|
||||||
)
|
|
||||||
))
|
))
|
Loading…
Reference in New Issue