TP CAML

Astuces pour les TP Caml



Exo de TP sur la récursivité

Le système binaire est un système de numérotation en base 2. On nomme bit les chiffres de cette numérotation, chaque bit prend une valeur 0 ou 1. La représentation d'un nombre quelconque en nombre binaire suit les mêmes règles qu'en base 10 :
ex : l'entier 502 représenté en base 10
= 5 * 100 + 0 * 10 + 2 * 1
= 5 * 10e2 + 0 * 10e1 + 2 * 10e0
= "5 0 2"
Il s'agit toujours d'une somme de facteurs entre des chiffres {0,1,2,3,4,5,6,7,8,9} et des puissances de 10.

De même en binaire :
ex : l'entier 22 en base 2
= 1 * 16 + 0 * 8 + 1 * 4 + 1 * 2 + 0 * 1
= 1 * 2e4 + 0 * 2e3 + 1 * 2e2 + 1 * 2e1 + 0 * 2e0
= "1 0 1 1 0"
Il s'agit toujours d'une somme de facteurs entre des chiffres {0,1} et des puissances de 2.



Exo sur le tri des listes


Voir ce fichier pour avoir les énoncés des différents algorithmes de tri et la liste des différentes fonctions intermédiaires à coder. Une fois ces fonctions de tri codées en CAML, on pourra comparer leur vitesse pour trier des listes de grande taille (~10000) construites par les fonctions de génération automatique vues en TD.


Exo de TP sur la récursivité en mode graphique


Après avoir récupérer le fichier carre.ml, essayez de comprendre les fonctions implantées et les tester pour s'assurer qu'elles marchent correctement. Ensuite proposez deux algorithmes pour obtenir des figures semblables à celles ci-dessous. Essayez de coder en CAML ces deux algorithmes par deux fonctions récursives.