(* Exercice 1 *) let somme tab = let s = ref 0 in for i = 0 to Array.length tab -1 do s := !s + tab.(i) ; done ; !s;; somme [| 8;1;2;4 |];; (* Exercice *) let min_max tab = let mini = ref tab.(0) in let maxi = ref tab.(0) in for i = 1 to Array.length tab -1 do if tab.(i) < !mini then mini := tab.(i) ; if tab.(i) > !maxi then maxi := tab.(i) ; done ; (!mini , !maxi);; (* Exercice *) let cat tab_1 tab_2 = let taille_1 = Array.length tab_1 and taille_2 = Array.length tab_2 in let result = Array.make (taille_1 + taille_2) tab_1.(0) in for i = 0 to taille_1-1 do result.(i) <- tab_1.(i) ; done ; for i = taille_1 to taille_1 + taille_2 -1 do result.(i) <- tab_2.(i-taille_1 ) ; done ; result;; cat [| 1;2;3;4 |] [| 5;6;7;8;9 |];; (* Exercice 4 *) let map_tab fonction tab = let taille = Array.length tab in for i = 0 to taille -1 do tab.(i) <- fonction tab.(i) ; done; tab;; map_tab (fun x -> x+ 3 ) [| 8;1;4;6|];; let f x = x+5;; map_tab f [|1;2;3;4|];; let alea_tab n p = let result = Array.make n p in map_tab Random.int result ;; alea_tab 10 8;;