OCaml. Exercices sur les listes (1/3)

Exercice 1.
Écrire une fonction “sizelist : ‘a list -> int” qui donne le nombre d’éléments d’une liste (donc qui fait exactement la même chose que la fonction intégrée “list_length”).
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 2.
Écrire une fonction “last : ‘a list -> ‘a” qui donne le dernier élément d’une liste.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 3.
Écrire une fonction “beforelast : ‘a list -> ‘a” qui donne l’avant-dernier élément d’une liste.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 4.
Écrire une fonction “nth : int -> ‘a list -> ‘a” renvoyant l’élément d’indice {n} dans une liste (l’élément de tête ayant pour indice {0}).
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 5.
Écrire une fonction “list_make : int -> ‘a -> ‘a list” renvoyant une liste de {n} éléments égaux.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 6.
Écrire une fonction “rand_in_list : ‘a list -> ‘a” renvoyant un élément pris au hasard dans une liste.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 7.
Écrire une fonction “nprems : int -> ‘a list -> ‘a list” renvoyant la liste des {n} premiers éléments.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 8.
Écrire “saufnprems : int -> ‘a list -> ‘a list” renvoyant une liste privée de ses {n} premiers éléments.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 9.
Écrire une fonction “sublist” renvoyant la sous-liste formée des éléments dont les positions sont comprises (au sens large) entre les valeurs spécifiées. On utilisera pour cela les fonctions “nprems” et “saufnprems” des deux exercices précédents.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 10.
Écrire une fonction “inlist : ‘a -> ‘a list -> bool” testant si un objet est dans une liste.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez :