Clojure - Punts amb clausures 2 X86942


Statement
 

pdf   zip

thehtml

L’objectiu d’aquest exercici és replicar l’exercici Punts amb clausures 1 però afegint-hi estat (amb els àtoms de clojure).

  1. Afegiu les funcionalitats que ja tenia l’exercici anterior: inicialització, :crt (coordenades cartesianes), :plr (coordenades polars) i :dst (distància euclidea).
  2. Afegiu també la funció mes-propera que, donada una llista de punts i un punt, ens torni el punt de la llista més proper al donat com a paràmetre.
  3. Afegiu les funcionalitats :setx i :sety per modificar l’estat (atributs x i y).
Public test cases
  • Input

    (def p (punt 2 2))
    (p :crt)
    (p :plr)
    (p :dst (punt 2 0))
    (mes-propera (punt 2 0) (list (punt 1 1) (punt 2 1) (punt 3 2)))
    (p :setx 1)
    (p :crt)
    (p :sety 1)
    (p :crt)
    

    Output

    #'user/p
    [2 2]
    [2.8284271247461903 45.0]
    2.0
    [2 1]
    1
    [1 2]
    1
    [1 1]
    
  • Information
    Author
    Gerard Escudero
    Language
    Catalan
    Official solutions
    Clojure
    User solutions
    Clojure