Haskell - Ús de funcions d'ordre superior (2) P31745


Statement
 

pdf   zip

thehtml

Feu les funcions següents utilitzant funcions d’ordre superior (i altres funcions predefinides) de Haskell i sense utilitzar recursivitat.

  1. Feu una funció flatten :: [[Int]] -> [Int] que aplana una llista de llistes d’enters en una llista d’enters.
  2. Feu una funció myLength :: String -> Int que retorna la llargada d’una cadena de caràcters.
  3. Feu una funció myReverse :: [Int] -> [Int] que inverteix els elements d’una llista d’enters.
  4. Feu una funció countIn :: [[Int]] -> Int -> [Int] que, donada una llista de llistes d’elements ℓ i un element x ens torna la llista que indica quants cops apareix x en cada llista de ℓ.
  5. Feu una funció firstWord :: String -> String que, donat un string amb blancs i caràcacters alfabètics), en retorna la primera paraula.

Puntuació

Cada funció puntua 20 punts.

Public test cases
  • Input

    flatten [[1,2,3],[4,5],[6],[],[3,3]]
    myLength "Albert"
    myReverse [1..10]
    countIn [[3,2,3],[3],[], [2,2]] 3
    firstWord "  Volem pa amb oli  "
    

    Output

    [1,2,3,4,5,6,3,3]
    6
    [10,9,8,7,6,5,4,3,2,1]
    [2,1,0,0]
    "Volem"
    
  • Information
    Author
    Albert Rubio / Jordi Petit
    Language
    Catalan
    Other languages
    English
    Official solutions
    Haskell
    User solutions
    Haskell