Adloun

Aire d'une forme

Exercice · OCaml (option informatique), chapitre 3 — Types sommes et arbres

Énoncé

Avec le type forme (Point, Cercle of float, Rectangle of float * float), écrire aire puis est_plus_grande f g qui teste si f a une aire strictement plus grande que g.

Corrigé

let aire f =
  match f with
  | Point -> 0.0
  | Cercle r -> 3.14159 *. r *. r
  | Rectangle (l, h) -> l *. h

let est_plus_grande f g = aire f > aire g

On réutilise aire dans est_plus_grande : une fonction bien nommée devient une brique. Les opérateurs sont flottants (*.), la comparaison > polymorphe.

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.