Adloun

OCaml (option informatique) · Chapitre 3 · Application directe du cours

Aire d'une forme

Types sommes et arbres · niveau 1 (application)

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

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre