sigma.ml
let sigma f t j k = let y = ref 0 in for i = j to k do y := !y + f t.(i) done; !y;;
sigma.mli
val sigma : ('a -> int) -> 'a array -> int -> int -> int
calculette.ml
open Sigma let last = Array.length Sys.argv - 1;; if last < 1 then exit 0;; match Sys.argv.(1) with | "-carre" -> let f x = let n = int_of_string x in n * n in print_int (sigma f Sys.argv 2 last) | "-moyenne" -> let r = sigma int_of_string Sys.argv 2 last in print_float (float r /. float (Array.length Sys.argv - 2)) | _ -> print_int (sigma int_of_string Sys.argv 1 last) ;; print_newline();;