Feu les funcions següents utilitzant funcions d’ordre superior (i altres funcions predefinides) de Clojure i sense utilitzar recursivitat.
Feu una funció eql que indiqui si dues llistes
d’enters són iguals.
Feu una funció prod-of-evens que multiplica tots el
nombres parells d’una llista d’enters.
Feu una funció my-reverse que inverteix els elements
d’una llista d’enters.
Feu una funció scalar-product que calculi el
producte escalar de dues llistes de reals de la mateixa mida.
Feu una funció count-in que, donada una llista de
llistes d’elements
i un element
ens torna la llista que indica quants cops apareix
en cada llista de
.
Feu una funció first-word que, donat un string amb
blancs i caràcacters alfabètics), en retorna la primera
paraula.
Cada funció puntua 16 o 17 punts.
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