Ce dossier contient des notebooks Jupyter, écrits en Python (version 3), pour l'option informatique (D) de l'agrégation de mathématiques (en France).
Ces documents sont les seules corrections de texte de modélisation d'option info pour l'agrég de maths que vous pourrez trouver en ligne (j'ai cherché partout). Profitez en bien !
Liste des notebooks sur nbviewer.jupyter.org
⚠️ Si vous êtes en train de préparer l'agrégation, lire des corrections sans avoir travailler (très sérieusement) le texte ou le développement avant, ça ne sert à rien !! Si vous êtes parmi mes élèves, n'utilisez pas ces ressources pour tricher pendant les oraux blancs : ça ne sert à rien, je le verrai, et vous n'aurez rien appris (spoiler alert : le jour des oraux, on ne peut pas tricher...).
Cela étant dit, si vous avez travaillé un texte, n'hésitez pas à jeter un oeil à la correction et à la travailler aussi. Vous faites les choses différemment, et souvent plus vite et mieux, donc si vous avez envie, contactez moi pour me signaler n'importe quoi (un bug, une meilleure façon de faire, une question ou autre).
- Algorithme de Cocke-Kasami-Younger, pour résoudre le problème du mot pour une grammaire sous forme normale de Chomsky (et la mise en forme normale de Chomsky depuis la forme normale, en bonus) : Algorithme de Cocke-Kasami-Younger (python3).ipynb (sur GitHub) -- Leçons 906, 907, 910, 923.
- Calcul du plus long sous mot commun : Plus long sous mot commun (python3).ipynb (sur GitHub) -- Leçons 906, 907.
- Tris à bulles et cocktail : Tri_a_bulle_et_tri_cocktail.ipynb (sur GitHub) -- 903, 926, 927.
- Lambda-Calcul embarqué en OCaml : Lambda_Calcul_en_OCaml.ipynb (sur GitHub) -- 929.
- Mémoïsation générique, en Python et en OCaml : Mémoisation_en_Python_et_OCaml.ipynb (sur GitHub) -- Leçons 906, 907.
- Bitsets en OCaml et comparaison avec un
bool array
et unSet.Make(Int)
(sur GitHub) -- Leçon ?
- Pour le texte public2012-D3 : public2012_D3.ipynb (sur GitHub) en Python 3, public2012_D3.ipynb (sur GitHub) en OCaml.
- Pour le texte public2018-D1 : public2018_D1.ipynb (sur GitHub) en OCaml.
- Pour le texte public2018-D2 : public2018_D2.ipynb (sur GitHub) en OCaml.
Note: ces textes ont enfin été mis en ligne récemment (décembre 2017), et je les ai corrigé le plus rapidement possible.
Pour quatre textes donnés pour les oraux blancs début avril 2017 :
-
lundi 3 avril :
- Crime parfait,
- et Sudoku,
-
vendredi 7 avril :
(tous en OCaml, pour des textes non officiels).
- Pour le texte public2012-D6 : Mots_bien_formes.ipynb en OCaml.
- Pour le texte pub2008-D1 : Robots.ipynb en OCaml.
Pour quatre textes donnés pour les oraux blancs fin mai 2017 :
-
lundi 22 mai :
-
lundi 29 mai :
(tous en OCaml).
- Plus d'informations sur ce dépôt se trouvent ici.
- Plus d'informations sur les notebooks (documentation de IPython) ou FAQ sur le site de Jupyter.
Les solutions présentes ici sont rédigés comme des notebooks Jupyter. J'utilise un kernel spécifique pour coder en OCaml via Jupyter.
Il ne devrait pas être trop compliqué à installer, avec opam :
opam install jupyter
Cela demande d'avoir déjà installé Jupyter.
Note : ce petit article en français présente comment (essayer d') installer OCaml et Jupyter et ocaml-jupyter
sur un système Windows (version 10 ou plus récente).
Tout ces documents sont distribues publiquement sous les conditions de la licence MIT (fichier LICENSE.txt, en anglais). © Lilian Besson, 2016-17.