Haskell - Ús de funcions d'ordre superior (1) P93632


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ó eql :: [Int] -> [Int] -> Bool que indiqui si dues llistes d’enters són iguals.
  2. Feu una funció prod :: [Int] -> Int que calculi el producte dels elements d’una llista d’enters.
  3. Feu una funció prodOfEvens :: [Int] -> Int que multiplica tots el nombres parells d’una llista d’enters.
  4. Feu una funció powersOf2 :: [Int] que generi la llista de totes les potències de ‍2.
  5. Feu una funció scalarProduct :: [Float] -> [Float] -> Float que calculi el producte escalar de dues llistes de reals de la mateixa mida.

Puntuació

Cada funció puntua 20 punts.

Public test cases
  • Input

    eql [1,2,3] [1,2,3]
    eql [1,2,3] [3,2,1]
    eql [1,2,3] [1,2,3,4]
    prod [2,10,5]
    prodOfEvens [2,10,5]
    take 5 powersOf2
    scalarProduct [2.0,1.0,5.0] [3.0,2.0,2.0]
    

    Output

    True
    False
    False
    100
    20
    [1,2,4,8,16]
    18.0
    
  • Information
    Author
    Albert Rubio / Jordi Petit
    Language
    Catalan
    Other languages
    English
    Official solutions
    Haskell
    User solutions
    Haskell