Dada uma grelha de 3 x 4 de barras verticais, sublinhados e espaços, determina que número está representado ou se está ilegível.
Para começar, converte um tipo de letra binário simples numa string que contém 0 ou 1.
O tipo de letra binário usa barras verticais e sublinhados, com quatro linhas de altura e três colunas de largura.
_ #
| | # zero.
|_| #
# the fourth row is always blank
É convertido em "0"
#
| # one.
| #
# (blank fourth row)
É convertido em "1"
Se os dados de entrada tiverem o tamanho correto, mas não forem reconhecíveis, o teu programa deve devolver '?'
Se os dados de entrada tiverem o tamanho errado, o teu programa deve devolver um erro.
Atualiza o teu programa para reconhecer strings binárias com vários carateres, substituindo os números ilegíveis por ?
Atualiza o teu programa para reconhecer todos os números de 0 a 9, tanto individualmente como fazendo parte de uma string maior.
_
_|
|_
É convertido em "2"
_ _ _ _ _ _ _ _ #
| _| _||_||_ |_ ||_||_|| | # decimal numbers.
||_ _| | _||_| ||_| _||_| #
# fourth line is always blank
É convertido em "1234567890"
Atualiza o teu programa para processar vários números, um por linha. Quando converteres várias linhas, junta-as com vírgulas.
_ _
| _| _|
||_ _|
_ _
|_||_ |_
| _||_|
_ _ _
||_||_|
||_| _|
É convertido em "123,456,789".
Inscreve-te no Exercism para aprenderes e dominares Haskell com 107 exercícios, e mentoria humana real, tudo grátis.