Clojure - Ús de funcions d'ordre superior W86002


Statement
 

pdf   zip

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

  1. Feu una funció @eql@ que indiqui si dues llistes d’enters són iguals.

  2. Feu una funció @prod-of-evens@ que multiplica tots el nombres parells d’una llista d’enters.

  3. Feu una funció @my-reverse@ que inverteix els elements d’una llista d’enters.

  4. Feu una funció @scalar-product@ que calculi el producte escalar de dues llistes de reals de la mateixa mida.

  5. Feu una funció @count-in@ que, donada una llista de llistes d’elements \ell i un element xx ens torna la llista que indica quants cops apareix xx en cada llista de \ell.

  6. Feu una funció @first-word@ que, donat un string amb blancs i caràcacters alfabètics), en retorna la primera paraula.

Puntuació

Cada funció puntua 16 o 17 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-of-evens '(2 10 5))
    (scalar-product '(2.0 1.0) '(3.0 2.0))
    (count-in '((3 2 3) (3) () (2 2)) 3)
    (first-word "  Volem pa amb oli  ")
    

    Output

    true
    false
    false
    20
    8.0
    (2 1 0 0)
    Volem
    
  • Information
    Author
    Albert Rubio / Jordi Petit / Gerard Escudero
    Language
    Catalan
    Official solutions
    Clojure
    User solutions
    Clojure