Previous Up

3  Petits exercices

Exercice 1 Fonctions du module List

Programmez les fonctions nth, append, flatten, map et fold_left du module List en n’utilisant que du filtrage de motifs.

Exercice 2

Si l est une a list, que représente la déclaration

let x = nth l


Exercice 3

Question 1 Programmez la fonction somme de type int listint qui calcule la somme des éléments de la liste en n’utilisant que les fonctions du module List.

Question 2 Utilisez map et somme pour programmer la fonction length de type a listint.

Exercice 4 Liste d’itérés

Question 1

Programmez une fonction qui prend pour paramètres

  1. une fonction f de type a → ′a,
  2. un élément x de type a,
  3. et un entier n≥ 0,

qui construit la liste [xf(x)f2(x); ... ;fn(x)].

Question 2 Utilisez cette fonction pour définir une fonction à un argument entier n≥ 0 qui produit la liste des entiers consécutifs de 0 à n.


Previous Up