Prog Rec
???

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.

perimetre Calcul du périmètre d'un rectangle
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
aire-couronne Calcul de l'aire d'une couronne.
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-impairs Somme des N premiers impairs.
somme-carres Somme des carrés de 1 à n
multegypt Multiplication égyptienne
somme-chiffres Somme des chiffres d'un nombre, nombre des chiffres d'un nombre, existence d'un chiffre dans un nombre
pgcd Calcul du PGCD
interet Calcul d'intérêts et de capital
puissancecomp Calculer la complexité de la fonction puissance
ajout en semaine 5
phi Indicatrice Phi d'Euler
Récursion sur listes
troisieme Troisième élément d'une liste
l2p Deux premiers termes d'une liste
racines Racines d'une équation du second degré
repetition Fabrication d'une liste par répétition
intervalle Construction d'un intervalle d'entiers
somme-liste Somme des termes d'une liste
longueur Longueurs de liste
est-dans Présence d'un terme dans une liste
nombre-occurrences Compter le nombre d'occurrences d'une valeur dans une liste
croissante Déterminer si une liste est croissante
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.
somme-cumulee Somme cumulée
ajouts en semaine 5
quicksort Tri de listes
suivant Suites géométriques
begaie Bégayer une liste
taille Taille d'une liste
nieme N-ième terme d'une liste
Fonctionnelles
liste-carres Liste des carrés d'une liste de nombres
plus-grands Liste des termes plus grands qu'un nombre donné
moins-occurrences Supprimer toutes les occurrences d'un élément d'une liste.
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!

sablier Dessin d'un sablier
sapin Dessin d'un sapin.
sierpinski Dessin de triangles de Sierpinski
dragon Courbe du dragon
Citations

Cette section contient des exercices manipulant des symboles et introduisant à l'emploi d'accumulateurs.

histogram Comptage de symboles
flatten Aplatissement d'une S-expression
reverse Renversement d'une liste
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-hauteur Hauteur d'un arbre binaire
ab-miroir Image miroir d'un arbre binaire
ab-liste-feuilles Listes des étiquettes des feuilles 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
equilibrage Équilibrage d'arbres binaires
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-post Liste postfixe des étiquettes 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-feuilles-niveau Calcul du nombre de feuilles d'un certain niveau dans un arbre général.
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
abrdag Arbre de prénoms