Bienvenue sur le site des exercices à correction automatisée associé
au MOOC Programmation récursive .
Ce site et ce MOOC, tous deux gratuits, vous proposent une centaine
d'exercices en Scheme de difficulté croissante.
Pour bénéficier de ce site gratuit,
enregistrez-vous!
ou, si vous l'êtes déjà, identifiez-vous afin d'aller plus loin!
Voici donc les exercices associés au MOOC « Programmation récursive ».
Les exercices sont classés par semaine et correspondent au découpage
des cours. Quelques exercices sont parfois ajoutés rétrospectivement
et revisite d'anciens thèmes avec de nouvelles techniques.
Bases du langage
Voici les premiers exercices de mise en jambe.
cube
Calcul du cube d'un nombre
max3
Trouver le plus grand nombre parmi trois.
max4
Trouver le plus grand de 4 nombres.
ajouts en semaine 2
mentionif
Déterminer la mention associée à une note.
equation
Déterminer le nombre de racines réelles d'une équation définie par trois
coefficients.
divise
Prédicats et semi-prédicats autour de la divisibilité d'un entier.
semipred
Semi-prédicats autour de la divisibilité d'un entier.
booleens
Définition de fonctions booléennes
mentioncond
Déterminer la mention associée à une note (avec une conditionnelle)
Récursion sur entiers naturels
somme-chiffres
Somme des chiffres d'un nombre, nombre des chiffres d'un nombre,
existence d'un chiffre dans un nombre
interet
Calcul d'intérêts et de capital
ajout en semaine 5
phi
Indicatrice Phi d'Euler
Récursion sur listes
l2p
Deux premiers termes d'une liste
racines
Racines d'une équation du second degré
est-dans
Présence d'un terme dans une liste
ultime
Extraire le dernier terme d'une liste non vide.
penultieme
Semi-prédicat extrayant l'avant-dernier terme d'une liste.
uniq
Raccourcir une liste en éliminant les répétitions consécutives.
ajouts en semaine 5
nieme
N-ième terme d'une liste
Fonctionnelles
plus-grands
Liste des termes plus grands qu'un nombre donné
fact
Curieux calcul de la factorielle
foldl
Une réduction dans l'autre sens
map2
Fonctionnelle map sur deux listes
Nouveaux exercices!
maxmin
Extraire maximum et minimum d'une liste de nombres
rainfall
Calcul d'une moyenne sous contrainte.
Exercices graphiques
Les exercices graphiques (expérimentaux) sont tous regroupés ici.
Pour en savoir plus!
Citations
Cette section contient des exercices manipulant des symboles
et introduisant à l'emploi d'accumulateurs.
flatten
Aplatissement d'une S-expression
compress
Compression par détection de répétitions
Arbres binaires
ab-liste-inf
Liste des étiquettes en ordre infixe d'un arbre binaire
ab-liste-pref
Liste des étiquettes en ordre préfixe d'un arbre binaire
ab-liste-post
Liste des étiquettes en ordre postfixe d'un arbre binaire
ab-etiq
Présence, nombre d'occurrences et remplacement d'une étiquette dans arbre binaire
ab-nb-feuilles
Définition de fonction calculant des caractéristiques relatives aux
feuilles des arbres binaires
ab-nb-noeuds
Définition de fonctions calculant différentes caractéristiques des
arbres binaires autour du nombre de noeuds de ceux-ci.
ab-meme-forme
Egalité et même forme d'un arbre binaire ou sous-arbre.
Arbres de recherche
abr-ajout
Ajout d'une étiquette, aux feuilles, dans un arbre binaire de recherche numérique
abr-ajout-racine
Ajout d'une étiquette à la racine d'un arbre binaire de recherche numérique
abr-recherche
Recherche dans un arbre binaire de recherche numérique
abr-string
Manipulation d'un arbre binaire de chaînes de caractères
Arbres généraux
ag-liste-feuilles
Définition de fonction qui calcule la liste des étiquettes des feuilles d'un arbre général.
ag-liste-pref
Définition de fonction qui calcule la liste prefixe des étiquettes d'un arbre général.
ag-max
Définition de fonction qui calcule l'étiquette maximale d'un arbre général de nombres.
ag-nb-noeuds-niveau
Définition de fonction qui calcule le nombre de noeuds d'un certain niveau d'un arbre général.
ag-nb-occ
Définition de fonction qui calcule le nombre d'occurrences d'une etiquette dans un arbre général.
ag-replace
Définition de fonction qui renvoie un arbre dans lequel toutes les occurrences d'une etiquette donnée ont été remplacées par une autre.
ag-egal
Définition de fonction qui teste l'égalité de deux arbres généraux.
S-expressions
aritheval
Évaluateur d'expressions arithmétiques
booleval
Évaluateur d'expressions booléennes
agparsexp
Codage d'arbres généraux par S-expressions
abparag
Codage d'un arbre binaire par un arbre général.
Évaluation
Cet exercice contient le code de l'évaluateur vu en cours, code que
vous pouvez tester ou modifier sans avoir à le saisir. Vous pourrez
ainsi, par exemple, tester l'auto-évaluation!
demoeval
Démonstration de l'emploi de l'évaluateur Scheme en Scheme
Examen final 2014
Ces problèmes comportant de nombreuses questions, pensez à
sauvegarder très régulièrement votre travail! Assurez-vous de
disposer de 2 heures libres pour travailler cet examen donné en
juin 2014. Une
certification (non gratuite) est également possible et disponible.
syracuse
Autour de la conjecture de Syracuse