OCaml (option informatique) · Chapitre 3 · Exercice de TD
Évaluer une expression arithmétique
Types sommes et arbres · niveau 2
É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.
Exercices semblables
- Hauteur d'un arbre corrigé
- Compter les feuilles corrigé
- Miroir d'un arbre corrigé
- Appartenance dans un arbre binaire de recherche corrigé
- Insertion dans un ABR corrigé