0votos

Pseudocodigos en Haskell

por josejuan hace 3 años

.

Algoritmos con pseudocodigos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import Text.Read 
import Control.Monad 
import Data.Char 
 
readNumber a b = (mfilter (>=a) . mfilter (<=b) . readMaybe) <$> getLine 
 
sumSquares = sum . map ((^2) . digitToInt) . show 
 
loop = forever $ 
            putStrLn ("Escribe un número de 5 dígitos:") >> 
            readNumber 10000 99999 >>= 
            maybe (putStrLn "No es válido!") (\n -> putStrLn $ show n ++ ": " ++ show (sumSquares n)) 
 
{- 
> loop 
Escribe un número de 5 dígitos: 
patata 
No es válido! 
Escribe un número de 5 dígitos: 
00000 
No es válido! 
Escribe un número de 5 dígitos: 
-1234 
No es válido! 
Escribe un número de 5 dígitos: 
123.5 
No es válido! 
Escribe un número de 5 dígitos: 
23 
No es válido! 
Escribe un número de 5 dígitos: 
12345 
12345: 55 
Escribe un número de 5 dígitos: 
54321 
54321: 55 
-} 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.