Option informatique 1ère année (2016-2017)

Judicaël Courant

5 juin 2017

Version imprimable de ce document

Table des matières

1  Mardi 7 février

Premier cours et premier TP. Vous pouvez récupérer le fichier Caml que nous avons créé en cours.

2  Mardi 14 février

Second cours. Exercice pour le mardi 7 mars:

  1. Écrire une fonction append : ’a list -> ’a list -> ’a list telle que append l1 l2 retourne la liste constituée des éléments de l1 suivis de ceux de l2. Ainsi append [1; 2; 3] [4; 5; 6] doit retourner la liste [1;2;3;4;5;6]. On rappelle que [a; b; c] n’est qu’une notation (pratique) pour la liste a::(b::(c::[])).
  2. Calculer la complexité temporelle de l’exécution de append l1 l2 en fonction des longueurs respectives n1 et n2 de l1 et l2.
  3. Écrire une fonction reverse : ’a list -> ’a list prenant en argument une liste [x0;;xn−1] et retournant la liste [xn−1;;x0].
  4. Calculer la complexité temporelle de l’exécution de reverse l en fonction de la longueur n de l.

3  Mardi 21 et 28 février

Vacances.

4  Mardi 7 mars

Types sommes. Distribution du poly sur les ordres bien fondés.

5  Mardi 14 mars

Ordres bien fondés (compléments au poly). Exercice: montrer la terminaison de la fonction de Ackermann.

6  Mardi 21 mars

Tri par insertion.

7  Mardi 28 mars

Diviser pour régner (suite).

8  Mardi 4 avril

Programmation impérative.

9  Mardi 11 avril

Cours sur la programmation dynamique.

10  Mardi 6 juin

TP 6 sur les arbres tournois et les fichiers associés

11  Programme officiel

Le programme officiel en PDF