CNRS Université de Marne-la-Vallée
Institut Gaspard Monge

Pierre Guillon

Programmation Fonctionnelle (L3.1)

Voici les sujets de TD de Logique:

01.10 TD1 (opérateurs logiques, tables de vérités, complétude)
08.10 TD2 (simplifications syntaxiques, forme normale, valuation, séquents)
11.10 TD3 (quantificateurs, séquents, résolution)

Voilà les sujets de TP de Caml:

06.11 TP4 (premières fonctions, types) +correction
08.11 TP5 (listes) +correction
20.11 TP6 (formules) +correction
26.11 TP7 (tri par insertion) +correction
04.12 Partiel (formules, séquents, récursion, arbres) +correction
06.12 TP8 (filtrage et poker) +correction
11.12
13.12
20.12

Le projet:

Voici le sujet. Il est à faire, facultativement, seul ou en binôme, et à m'envoyer par mel, accompagné d'un rapport de quelques pages (expliquant l'utilisation du programme et les choix d'implantation), pour le vendredi 25 janvier 2008, non sans avoir jeté un rapide coup d'œil à la charte des projets. A priori:
  #let moyenne_td note_partiel = function
     | Some note_projet when note_projet > note_partiel -> (note_projet+note_partiel)/2
     | _ -> note_partiel
  val moyenne_td : int -> int option -> int = <fun>
  # (*rappel*) type 'a option = None | Some of 'a;;
  type 'a option = None | Some of 'a
  

Et puis au cas où:

Un tutoriel Objective Caml (pas trop dur)
La documentation officielle de Objective Caml (en anglais)
Développement d'applications en Objective Caml (utilisateur avancé)
Quelques raccourcis clavier dans Emacs
Si vous avez des questions, n'hésitez pas à m'écrire.