
Programmation Fonctionnelle : Scheme 
Jean-Paul Roy, Janvier-Avril 2006 
 
Partie 1,  Fondamentaux 
1. Primitives (entiers, rationnels, réels, complexes, objets)          44 
2. Fonctions : define et lambda        45 
3. Conditions : if, cond et connecteurs logiques            45 
4. Variables locales : let et let*        46 
5. Itératif et récursif          47 
6. Obtenir la trace d’une fonction        49 
7. Un aperçu du style CPS         49 
8. Listes : constructeur, accesseur, reconnaisseur      50 
9. Listes : représentation         51 
10. Récurrence sur les listes         51 
11. Corrections d’exercices en Scheme       53 
      (inverser une liste, exponentiation modulaire, primalité, formes spéciales) 
 
Partie 11,  Intermediaire :  Les Listes 
1. Primitives (listes, A-listes, filtrage, complexes, citations)        56 
2. Fonctions, ordre normal et ordre applicatif            57 
3. Procédures d’ordre supérieur        57 
4. Quelques fonctions sur les listes (map, filtrage, tri-fusion, exercices)   58 
5. Les A-listes et le filtrage avancé        61 
6. Exercices (filtrage, algorithme sur les ensembles)          62 
7. Pour la culture : questions de cours (Algorithme de Wang, Peano, Eliza)    64 
 
Partie 111,  Intermediaire :  Les Arbres 
1. Définir des arbres binaires d’expression       66 
2. Algorithme élémentaire sur les arbres (hauteur, nombre de nœuds, arboriser)    66 
3. Evaluation d’un arbre binaire d’expression      68 
4. Principes d’un simplificateur formel       68 
5. La dérivation symbolique         69 
6. Une introduction à la compilation des arbres      70 
7. La curryfication          74 
8. Quelques développements         74 
 
Partie  1V,  Intermediaire : Dessin 
1. Le principe (commandes de la tortue, graphisme polaire et cartésien)      75 
2. Entrainement à l’utilisation des nouvelles formes spéciales (do, begin…)    76 
3. Graphisme de base (rosace et spirale, degradés)      76 
4. Traceur de courbes paramétriques        77 
5. Intégration d’un élément d’arc le long d’une courbe     78 
6. Une introduction aux fractales        78 
7. Arbres fractals          80 
 
 
 
Philippe Giabbanelli