Adloun

É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.