cours | td | examens | doc | liens | horaires
Scheme
Les transparents du cours de Scheme
Les caractères utilisés dans ces pages sont volontairement très gros pour la projection en amphi. Pour obtenir une impression papier en caractères normaux, il faut faire une (sous Windows : Imprimer / Propriétés / Avancées / Mise à l'échelle).
Structures de contrôle conditionnelles
- Valeurs booléennes et prédicats
- Structures de contrôle conditionnelles : if, cond
Exemples
Introduction aux structures de données composées
- La primitive list
- Les primitives car, cdr, cons
Exemples, avec séquences sonores
- La primitive quote
Exemples
- Représentation des listes
Le mécanisme de l'évaluation
- Opérations arithmétiques: règle 1
- Variables et fonctions
Exemples: valeur fonctionnelle
- Application d'une fonction: règle 2
Effets de bord : read et display
- "Valeurs retournées" contre "effets de bord"
- Un autre effet de bord : le son
- Librairie Mzshare pour DrScheme (sous Windows2000, Macintosh)
- Composition de fonctions
Programmer des boucles : la récursion
- Boucles sonores
- Appel récursif encapsulé : factoriel
- Fibonacci
Exemples
- Calcul du pgcd : algorithme d'Euclide
- Approximation de pi : formule de Wallis
Exemples
Récursion sur les listes
- Quelques rappels
- Fonctions usuelles
- Fonctions sur les listes
Exemples
- Fabriquer une liste récursivement : iota
Exemples
- Parcourir une liste : séquences sonores
- Exemple musical
- Télécharger un PCScheme musical (tournant sous DOS)
- our-length, our-append
"Familles" de programmes
Maximum d'une liste de nombres
Calcul de la racine carrée : méthode de Newton
Exemples
Écrire des applets : Scheme + Java = Jscheme
- Assembleur, langage machine
- Interprète, compilateur
- Machine virtuelle de Java
- Applets en Scheme
Exemple :interprète Jscheme en applet
- Application : spirographe
Exemple : tours de Hanoi en applet
La récursion terminale
- Expérience fondamentale
Exemples
- L'exemple de factoriel
- Structure de bloc
- Un exemple sur les listes
Notions sur les interfaces graphiques (GUI)
- Interfaces : fenêtres et boutons
- Classes et objets
- Les primitives make-object et send
- Gestion des événements
- Classes graphiques prédéfinies
Exemples
- Application : jeu du mot mystérieux
Exemples
- Géométrie des objets de l'interface
Une récursion non terminale : faire de la monnaie
Récursions géométriques : triangle de Sierpinski
Exemples (fougère fractale, triangle de Sierpinski)
Représentation des données : l'arithmétique complexe
- Equation aX2+bX+c=0
- Fonctions de base sur les complexes
- Choix de la représentation
Exemples
L'itérateur map et la forme lambda
Appliquer un effet de bord aux éléments d'une liste
Construire une fonction : lambda
Autres itérateurs
Exemples
- Application : automate cellulaire
Algorithme de l'exponentielle rapide
- Puissance nième
- Temps de calcul
- Produit de matrices
Exemples : matrices nilpotentes
Classes et objets
- Rappels : classes graphiques prédéfinies
- Primitives class, ivar, send
Exemples
- Modifier une variable d'un objet
- Application : problème des oeufs
Exemples