Clojure - Aplicació condicional Z73720


Statement
 

pdf   zip

thehtml

Implementeu la funció aplicacio-condicional, una funció que té dues funcions com a paràmetres, f i condicio. f és una funció que pren dos arguments, i condicio és una funció-predicat que acceptarà un sol argument i retornarà true o false.

                                |sí ---> retorna gr
fr(x) --és cert (condicio x)?---|
                                |no ---> Ignorem x i retornem fr

                                |sí ---> retorna (f x y)
gr(y) --és cert (condicio y)?---|
                                |no ---> Ignorem y i retornem gr

Així, podem passar tants arguments com calgui fins que n’hi hagi dos que satisfan condicio. Obviament el darrer argument que fem servir cal que satisfaci la condició; en altre cas intentaria aplicar un nombre com si fos una funció.

Public test cases
  • Input

    (def suma-si-parell (aplicacio-condicional + even?))
    ((suma-si-parell 2) 4)
    (((((suma-si-parell 2) 3) 5) 7) 6)
    

    Output

    #'user/suma-si-parell
    6
    8
    
  • Information
    Author
    Jordi Delgado / Gerard Escudero
    Language
    Catalan
    Official solutions
    Clojure
    User solutions
    Clojure