Rövarspråket
- Par Benoît
- Publié le 30 août 2015
- Licence CC BY-SA 4.0
Énoncé
Bonjour à tous,
Les jeunes enfants suédois apprennent un langage SUPER SECRET, le Rövarspråket !
Le Rövarspråket n'est pas très compliqué, vous prenez un mot et vous remplacez
les consonnes par la consonne doublé avec un o au milieu. Le b
devient bob
,
le r
devient ror
, etc. Les voyelles ne sont pas modifiées, c'est fait pour
le suédois mais cela fonctionne pour le français.
ATTENTION, c'est un code secret Suèdois, si vous le partagez vous serez obligé de manger du Surströmming.
Entrée
Bonjour ca va
Sortie
boboujojouror coca vova
Bonus
Faire le décodage aussi !
Travaux réalisés
Mon code
Haskell
import System.IO
isConsonant :: Char -> Bool
isConsonant = (`elem` "bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ")
rovarspraket :: String -> String -> String
rovarspraket [] out = out
rovarspraket (x:xs) out =
rovarspraket xs $ out ++ if isConsonant x then [ x, 'o', x ] else [ x ]
main :: IO ()
main = do
putStr "Saisissez une chaine : "
hFlush stdout
input <- getLine
let a = rovarspraket input ""
putStr a
putStr "\n"
Io
isConsonant := method(chr,
"bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ" findSeq(chr) isNil not)
standardIO := File standardInput()
rovarspraket := method(string, output,
if(string isEmpty,
output,
firstChar := string at(0) asCharacter
tailString := string exSlice(1)
rovarspraket(tailString, output ..
if(isConsonant(firstChar),
firstChar .. "o" .. firstChar,
firstChar))))
main := method(
"Saisissez une chaine : " println
input := standardIO readLine
a := rovarspraket(input, "")
a println)
main