Gegeben ist ein Raster aus senkrechten Strichen, Unterstrichen und Leerzeichen mit 3 x 4 Zeichen. Bestimme, welche Zahl dargestellt wird, oder ob es unleserlich ist.
Zunächst wandelst du eine einfache binäre Schrift in einen String um, der 0 oder 1 enthält.
Die binäre Schrift verwendet senkrechte Striche und Unterstriche. Sie ist vier Zeilen hoch und drei Spalten breit.
_ #
| | # zero.
|_| #
# the fourth row is always blank
Wird zu „0“ umgewandelt.
#
| # one.
| #
# (blank fourth row)
Wird zu „1“ umgewandelt.
Wenn die Eingabe die richtige Größe hat, aber nicht erkennbar ist, sollte dein Programm '?' zurückgeben.
Wenn die Eingabe die falsche Größe hat, sollte dein Programm einen Fehler zurückgeben.
Erweitere dein Programm, sodass es binäre Strings mit mehreren Zeichen erkennt, und ersetze unleserliche Zahlen durch ?.
Erweitere dein Programm, sodass es alle Zahlen von 0 bis 9 erkennt, sowohl einzeln als auch als Teil eines größeren Strings.
_
_|
|_
Wird zu „2“ umgewandelt.
_ _ _ _ _ _ _ _ #
| _| _||_||_ |_ ||_||_|| | # decimal numbers.
||_ _| | _||_| ||_| _||_| #
# fourth line is always blank
Wird zu „1234567890“ umgewandelt.
Erweitere dein Programm, sodass es mehrere Zahlen verarbeiten kann, eine pro Zeile. Wenn du mehrere Zeilen umwandelst, verbinde die Zeilen mit Kommas.
_ _
| _| _|
||_ _|
_ _
|_||_ |_
| _||_|
_ _ _
||_||_|
||_| _|
Wird zu „123,456,789“ umgewandelt.
Melde dich bei Exercism an, um Haskell mit 107 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.