Commit d59bf1e6 authored by Pierre Letouzey's avatar Pierre Letouzey
Browse files

td5 : exo sur les modules à la fin

parent a320543a
...@@ -3,23 +3,19 @@ TD5 : Types dépendants, monades, modules ...@@ -3,23 +3,19 @@ TD5 : Types dépendants, monades, modules
**M2 LMFI** **M2 LMFI**
#### Exercice 1 : interface modulaire pour les b-listes #### Exercice 1 : Arbres binaires complets
Reprendre le TD4, en proposant maintenant une interface modulaire pour les b-listes (ou les qb-listes).
#### Exercice 2 : Arbres binaires complets
Reprendre le TD4, mais cette fois-ci utiliser un type dépendant pour représenter les arbres binaires complets. Reprendre le TD4, mais cette fois-ci utiliser un type dépendant pour représenter les arbres binaires complets.
#### Exercice 3 : Monade d'erreur #### Exercice 2 : Monade d'erreur
Dans le cas d'une structure d'arbre binaire non-dépendante, utiliser la monade d'erreur pour écrire une fonction `hauteur_complet` qui donne la hauteur d'un arbre tout en échouant si cet arbre n'est pas complet. Dans le cas d'une structure d'arbre binaire non-dépendante, utiliser la monade d'erreur pour écrire une fonction `hauteur_complet` qui donne la hauteur d'un arbre tout en échouant si cet arbre n'est pas complet.
#### Exercice 4 : Monade d'état #### Exercice 3 : Monade d'état
Utiliser la monade d'état pour écrire une fonction prenant un arbre et produisant un arbre de même squelette, mais où les étiquettes (aux feuilles ou aux noeuds, à votre choix) sont maintenant les entiers successifs. Utiliser la monade d'état pour écrire une fonction prenant un arbre et produisant un arbre de même squelette, mais où les étiquettes (aux feuilles ou aux noeuds, à votre choix) sont maintenant les entiers successifs.
#### Exercice 5 : Monade de liste #### Exercice 4 : Monade de liste
En utilisant une monade de liste, résoudre les problème suivants. En utilisant une monade de liste, résoudre les problème suivants.
...@@ -28,3 +24,7 @@ En utilisant une monade de liste, résoudre les problème suivants. ...@@ -28,3 +24,7 @@ En utilisant une monade de liste, résoudre les problème suivants.
2. Générer tous les triplets pythagoriciens inférieurs à 100, c'est-à-dire les triplets d'entiers `(a,b,c)` chacuns entre 1 et 100 et tels que `a^2 + b^2 = c^2`. 2. Générer tous les triplets pythagoriciens inférieurs à 100, c'est-à-dire les triplets d'entiers `(a,b,c)` chacuns entre 1 et 100 et tels que `a^2 + b^2 = c^2`.
3. Laura, Romain, Bernard et Patricia s'alignent pour une photo. Patricia et Laura veulent être à côté l'une de l'autre et Romain veut être à côté de Laura. En respectant tous ces voeux, de combien de manière peuvent-ils s'aligner tous les quatre pour la photo? (source: Kangourou CE2-CM1-CM2 2012). 3. Laura, Romain, Bernard et Patricia s'alignent pour une photo. Patricia et Laura veulent être à côté l'une de l'autre et Romain veut être à côté de Laura. En respectant tous ces voeux, de combien de manière peuvent-ils s'aligner tous les quatre pour la photo? (source: Kangourou CE2-CM1-CM2 2012).
#### Exercice 5 : interface modulaire pour les b-listes
Reprendre le TD4, en proposant maintenant une interface modulaire pour les b-listes (ou les qb-listes).
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment