(** * Un petit programme écrit en OCaml (https://OCaml.org), rédigé avec des mots-clés en anglais, * Il définit une fonction factorielle récursive et exécute un test de test. * * Voir * * Copyright Lilian Besson, 2021, publié sous la licence MIT * Voir *) (* Include the English one, to compare with it *) let rec fact (n : int) = match n with | n when n < 0 -> failwith "Error: n has to be >= 0 for fact." | 0 -> 1 | 1 | 2 -> if n=1 then 1 else 2 | n -> n * (fact (n-1)) ;; soit recursif fact2 (n : int) = faire correspondre n à | n lorsque n < 0 -> echoueavec "Erreur: n doit être >= 0 pour fact2." | 0 -> 1 | 1 | 2 -> si n=1 alors 1 sinon 2 | n -> n * (fact2 (n-1)) ;; soit afficher = Format.printf;; afficher "Test avec fact2 écrite avec les mots clés en français !\n%!";; s'assurer que (1 = (fact2 1));; s'assurer que (2 = (fact2 2));; s'assurer que (6 = (fact2 3));; pour n = 6 jusqu'à 10 faire afficher "fact2(%i) = %i\n%!" n (fact2 n); fini;; pour n = 13 descendant jusqu'à 11 faire début afficher "fact2(%i) = %i\n%!" n (fact2 n); s'assurer que ((fact2 n) = (fact n)); fin fini;; soit n = ref 3 dans tant que !n < 6 faire afficher "fact2(%i) = %i\n%!" !n (fact2 !n); incr n; fini;;