Úloha Numerals

Napište funkci numeral :: Int -> String, která vypíše číslo typu Int slovně. Toto číslo bude z rozsahu [−106, 106], tedy bude větší nebo rovno minus milionu a zároveň menší nebo rovno milionu. [20 bodů]

Poznámky

Příklady

> putStrLn $ numeral 0
nula
> putStrLn $ numeral 1
jedna
> putStrLn $ numeral 12
dvanáct
> putStrLn $ numeral 123
sto dvacet tři
> putStrLn $ numeral 1234
tisíc dvě stě třicet čtyři
> putStrLn $ numeral 12345
dvanáct tisíc tři sta čtyřicet pět
> putStrLn $ numeral 123456
sto dvacet tři tisíc čtyři sta padesát šest
> putStrLn $ numeral 1234567
*** Exception: Zadané číslo je mimo rozsah.
> putStrLn $ numeral (-1234567)
*** Exception: Zadané číslo je mimo rozsah.
> putStrLn $ numeral 1000000
milion
> putStrLn $ numeral (-42)
minus čtyřicet dva

Vypracování úlohy

Řešení úlohy uložte do souboru numerals.hs a nahrajte do první odevzdávárny. Nejzazší termín pro vypracování je 13. 3. 2011, 23:59, později již není možné soubor s řešením odevzdat pomocí IS.

← IB016