Exercices
taille ou longueur d’une liste
(* taille en caml *) let rec taille l = match l with | [] -> 0 | _::q -> 1 + (taille q) ;;Le filtrage recherche un motif qui pour une liste sera de la forme ou bien la liste vide, ou bien une tête suivie d’une queue. La fonction taille est définie de façon récursive puisqu’on la réappelle sur la queue de la liste.
estVide teste si la liste est vide
(* estVide en caml *) let estVide = function | [] -> true | _ -> false ;;estDansteste si un élément donné appartient à la liste.concatenemet deux listes bout à bout.renverserenvoie la liste à l’envers.Calculer la complexité des fonctions
concateneetrenverse.maximumrenvoie le plus grand élément d’une liste d’entiers.minimumrenvoie le plus grand élément d’une liste d’entiers.repeat n mrenvoie la liste composée denfois l’élémentm.# repeat 5 "ah";; - : string list = ["ah"; "ah"; "ah"; "ah"; "ah"]cycle n lrenvoie la liste composée denfois la listel.# cycle 4 ["a";"b"];; - : string list = ["a"; "b"; "a"; "b"; "a"; "b"; "a"; "b"]pairs nrenvoie la liste des n premiers nombres pairs.# let lp = pairs 10;; val lp : int list = [2; 4; 6; 8; 10; 12; 14; 16; 18; 20]take n lrenvoie la liste desnpremiers éléments del.# take 4 lp;; - : int list = [2; 4; 6; 8]drop n lrenvoie la liste des éléments delprivée desnpremiers.# drop 5 lp;; - : int list = [12; 14; 16; 18; 20]lastrenvoie le dernier élément d’une liste.# last lp;; - : int = 20initrenvoie la liste privée de son dernier élément.# init lp;; - : int list = [2; 4; 6; 8; 10; 12; 14; 16; 18]