Clojure - Ús de funcions d'ordre superior W86002


Statement
 

pdf   zip

thehtml

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 ℓ i un element x ens torna la llista que indica quants cops apareix x en cada llista de ℓ.
  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