calculette.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;;

let k = Array.length Sys.argv - 1;;
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 k)
| "-moyenne" ->
    let r = sigma int_of_string Sys.argv 2 k in
    print_float (float r /. float (Array.length Sys.argv - 2))
| _ ->
    print_int (sigma int_of_string Sys.argv 1 k)
;;
print_newline();;

% ocamlc -o calculette calculette.ml
% calculette -carre 1 2 3 4 5 6 
91