11 – Programmation dynamique

  1. Structures enregistrements mutables
  2. Fermetures et effets de bords
  3. Principes généraux de la programmation dynamique
  4. Calcul des coefficients binomiaux
  5. Problème de découpe de planches
  6. Multiplication chaînée de matrices
  • DM n°4 avec évaluation

Il y aura un deuxième DS sur machine mercredi 23/05/18 de 15h à 18h au laboratoire informatique.

Pour le 28/05/18 :

  • Terminer la feuille de TD n°6.
  • Lire le polycopié sur la programmation dynamique et chercher le DM n°5.

10 – Tableaux en Caml

  1. La structure de données tableau
  2. Représentation mémoire
  3. Implémentation en Caml
  4. Parcours d’un tableau
  5. Copie d’un tableau
  6. Tableaux multi-dimensionnels
  • TP n°8 sur la programmation impérative en Caml
  • TP n°9 sur les tableaux

Pour la semaine prochaine :

  • Terminer les TP n°8 et n°9 et comparer avec le corrigé.
  • DM n°4

08 – Parcours d’arbres et forêts

  1. Parcours d’arbres
  2. Parcours en largeur
  3. Parcours en profondeur
  4. Arbres n-aires
  5. Types enregistrements
  • TD n°5 : Arbres (exercices 1 à 4)
  • TP n°7 : Types enregistrements et forêts d’arbres

Pour mercredi (DS n°2 de 15h à 18h, en salles machines) :

  • Lire la feuille de conseils de programmation.
  • Travailler le corrigé du DM n°3.
  • Terminer le TP n°7.

Pour la semaine prochaine :

  • Chercher les exercices 5 et 6 du TD n°5 sur les arbres.

07 – Arbres

  1. Introduction
  2. Induction
  3. Arbres binaires
  • TD n° 4 : Récursivité terminale (exercices 1 à 5)
  • TP n° 5 : Arbres

Pour la rentrée :

  • Terminer le TP n°5 et comparer avec le corrigé.
  • Relire le cours sur les arbres.
  • Préparer le TD n°5 sur les arbres.
  • Préparer le DM n°3.

06 – Fonctions sur les listes

  1. Concaténation
  2. Miroir d’une liste
  3. La fonctionnelle List.map
  • Correction du DM n°2 et calculs de complexité
  • TP n°5 : Diviser pour régner

Pour mercredi (DS n°1 de 15h à 17h, salles 254-255) :

  • En plus des révisions générales, bien réviser le tri insertion et sa complexité et l’exponentiation rapide (TP n°5, partie II).
  • Lire et bien comprendre le corrigé du DM n°2.

Pour la semaine prochaine :

  • Lire le cours sur la récursivité terminale
  • Terminer le TP n°5 jusqu’au tri fusion (au moins).
  • Préparer le TD n°4.

05 – Rappels de complexité et listes

  1. Rappels de complexité
  2. Quelques fonctions simples sur les listes
  • TD n°3 : Listes (exercices 1 à 5)
  • TP n°4 : Listes (suite et fin) et début du DM n°2

Pour la semaine prochaine :

  • Chercher le DM n°2.
  • Vous pouvez également terminer la feuille de TD n°3 et comparer avec le corrigé.

04 – Filtrage et listes

  1. Filtrage de motifs (support)
  2. La construction match with
  3. Gardes
  4. Listes en Caml
  5. Structure de liste chaînée
  6. Implémentation en Caml
  7. Filtrage sur les listes
  • TD n°2 (exercices 7, 8 et 9)
  • TP n°4 – Listes

Pour la semaine prochaine

  • Continuer le TP n°4 sur les listes et terminer le TD n°2 avec le corrigé.

03 – Récursivité (suite)

  1. Notion de pile d’appel
  2. Fonctions mutuellement récursives
  3. Terminaison d’une fonction récursive
  4. Exceptions
  5. Spécification d’une fonction
  6. Correction d’une fonction récursive
  • TD n°2 (exercices 1 à 6)
  • TP n°3 – Types sommes

Pour la semaine prochaine :

  • Terminer le TP n°3.
  • Chercher les exercices 7, 8 et 9 du TD n°2.

02 – Fonctions et récursivité

  1. Polymorphisme
  2. Application de fonctions
  3. Fonctions d’ordre supérieur
  4. Fonctions de plusieurs variables et curryfication
  5. Récursivité
  • TD n°1 (exercices 1 à 5)
  • TP n°2 – Fonctions et récursivité

Pour la rentrée :

  • Terminer le TP n°2 et étudier le corrigé.
  • Préparer le DM n°1.
  • Bien revoir le cours, le TP n°1 et le TD n°1 car il y aura une petite interrogation.