Clojure — Expressions

Es vol tenir un mòdul per avaluar expressions amb operacions: +, −, *,
/. Per fer-ho codificarem les expressions amb la gramàtica següent:

    expr ::= (:val int) | (:add expr expr) | (:sub expr expr) | (:mul expr expr) | (:div expr expr)

Així, l’expressió 3 + 4/2 quedaria codificada com:

    (:add (:val 3) (:div (:val 4) (:val 2)))

Definiu una funció avalua que, donada una "expr", retorni la seva
avaluació. En el cas de que es produeixi una divisió per zero, hauria de
llançar una excepció "div0" per indicar-ho.

Informació del problema

Autoria: Gerard Escudero

Generació: 2026-01-25T13:20:54.446Z

© Jutge.org, 2006–2026.
https://jutge.org
