{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "# Table of Contents\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Agrégation externe de mathématiques, texte d’exercice diffusé en 2012" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Épreuve de modélisation, option informatique" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> - Ce [notebook Jupyter](http://jupyter.org/), utilisant [OCaml](https://ocaml.org/) (via le [kernel Ocaml](https://github.com/akabe/ocaml-jupyter/)), est une correction [non officielle](https://github.com/Naereen/notebooks/tree/master/agreg) d'un texte de modélisation pour l'option informatique de l'agrégation externe de mathématiques.\n", "> - Il s'agit du texte [public2012-D5](http://agreg.org/Textes/public2012-D5.pdf).\n", "> - Cette tentative de correction partielle a été rédigée par [Lilian Besson](http://perso.crans.org/besson/) ([sur GitHub ?](https://github.com/Naereen/), [sur Bitbucket ?](https://bitbucket.org/lbesson)), et [est open-source](https://github.com/Naereen/notebooks/blob/master/agreg/public2012_D5_OCaml.ipynb).\n", "> - J'avais déjà rédigé une solution, pendant ma propre préparation à l'agrégation en 2013/2014, voir [ce fichier](https://perso.crans.org/besson/agreg/m/29-04/code_Public2012-D5.html).\n", "\n", "> Retour ?\n", "> - Vous avez trouvé un bug ? → [Signalez-le moi svp !](https://github.com/Naereen/notebooks/issues/new), merci d'avance.\n", "> - Vous avez une question ? → [Posez la svp !](https://github.com/Naereen/ama.fr) [![Demandez moi n'importe quoi !](https://img.shields.io/badge/Demandez%20moi-n'%20importe%20quoi-1abc9c.svg)](https://GitHub.com/Naereen/ama.fr)\n", "\n", "----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## *Proposition* d'implémentation, en [OCaml](https://ocaml.org/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pour [l'option informatique (D)](http://www.dit.ens-rennes.fr/agregation-option-d/programme-de-l-option-informatique-de-l-agregation-de-mathematiques-48358.kjsp) de l'[agrégation de mathématiques](http://agreg.org/) (en France)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Attention** : ce document ne prétend pas être LA correction du texte, mais **un exemple de solution**.\n", "\n", "Je me suis inspiré des propositions d'implémentations rédigées par les élèves qui ont préparé ce texte en 3h50 le lundi 13 mai 2019.\n", "\n", "----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercice requis\n", "\n", "L'exercice de programmation était en page 2/8 du texte, après l'explication du problème et de l'algorithme de Bresenham.\n", "\n", "> Écrire un programme permettant de représenter le segment $[A B]$, où $A= (a_1,a_2)$ et $B=(b_1,b_2)$, en suivant l'algorithme de Bresenham.\n", "> On supposera que $a_1