(* ===================================================== *)
(*      Apprentissage de la programmation avec OCaml     *)
(*      Catherine Dubois & Valérie Ménissier-Morain      *)
(*                Éditions Hermès Sciences               *)
(*                        Mars 2004                      *)
(* ===================================================== *)
(* Fichier MLSRC/CC/CC_niveaux/outils.ml                 *)
(* ===================================================== *)

let rec interval i j =
  if i = j (* Cas d'arrêt de la récursivité *)
  then [i]
  else if i < j
  then i::(interval (i+1) j)
  else i::(interval (i-1) j);;

let interval_sans i j inf sup =
  if i = inf
  then interval (i+1) sup
  else if i = sup
  then (interval inf (i-1))
  else if i = j
  then (interval (i+1) sup)@(interval inf (i-1))
  else if i < j
  then (interval (i+1) sup)@(interval inf (i-1))
  else (interval (i-1) inf)@(interval (i+1) sup);;

Ce document a été traduit de LATEX par HEVEA.