Évaluer une expression arithmétique
Exercice · OCaml (option informatique), chapitre 3 — Types sommes et arbres
Énoncé
On modélise une expression par le type
type expr =
| Const of int
| Plus of expr * expr
| Fois of expr * expr
Écrire evalue : expr -> int et l'appliquer à Plus (Const 2, Fois (Const 3, Const 4)).
Corrigé
let rec evalue e =
match e with
| Const n -> n
| Plus (a, b) -> evalue a + evalue b
| Fois (a, b) -> evalue a * evalue b
Une expression est un arbre : les feuilles sont les constantes, les nœuds les opérations. L'évaluation suit la structure : evalue (Plus (Const 2, Fois (Const 3, Const 4))) 2 + (3 * 4) = 14. C'est le cœur d'un interpréteur.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.