ENSAE : Programmation et algorithmes

Enseignement de première année

Enseignant : Xavier Dupré

Enoncés des TD

Séance 1

tests, boucles

Deux énoncés possibles, le premier présente le tri par fusion tri.pdf. Le second reprend un exemple présenté en cours mais appliqué à des tables de mortalité mortalite.pdf. (données mortalite.py)

Séance 2

fonctions

Deux énoncés possibles, le premier, plus simple, propose quelques statistiques sur des textes afin de déterminer la langue d'un texte langue_fa.pdf. Pour ce second énoncé, trois textes sont disponibles en exemple : hugo_dernier_jour_condamne.txt, hugo_legend_siecle_francais.txt, hugo_the_man_who_laugh.txt.

Le second, pour les physiciens, résout des équations différentielles avec un pendule : pendule.pdf.

Séance 3

classes

Le premier énoncé s'intéresse à la popularité des acteurs et actrices via internet au travers du nombre de réponses retournées par différents moteurs de recherche. Ces chiffres sont obtenus grâce aux fonctions du programme recherche_voila_popularite.py qu'il faudra reprendre pour réaliser le TD : popularite.pdf.

Le second énoncé reprend la résolution d'un petit système de règle et l'applique au cas de l'énigme présente dans le premier tome de Harry Potter : hermione.pdf. Il faut avoir vu pour cela la résolution de l'énigme d'Einstein.

Séance 4

classes et opérateurs

Est-ce que les yeux bleus vont disparaître ? Pas évident de répondre à cette question, ce TD apporte un embryon de réponse dans un cas très particulier : gene_recessif.pdf.

Un énoncé plus simple pour déterminer si un carré 3x3 est un carré magique : carre_magique.pdf.

Séance 5

fichiers

On n'est pas souvent d'accord avec le palmarès de la cérémonie des Césars, chacun à sa manière. Ce TD propose de construire un programme qui compare les palmarès de chacun afin de déterminer le plus proche et plus éloigné du sien : nomination_test.pdf.

Séance 6

modules, travail d'équipe

Le cryptage est un domaine assez secret à propos duquel on apprend les dernières avancées lorsque tout le monde est déjà au courant. C'est pourquoi, plutôt que de choisir un code secret utilisé aujourd'hui et donc ne sait pas s'il sera cassé un jour (RSA) ou s'il est déjà secrètement, cryptons et décryptons des messages avec le code de Vigenère qui resta sûr pendant près de trois siècles, de 1600 à 1900, jusqu'à Babbage n'en trouve la faille que les plus courageux auront le temps de programmer : vigenere.pdf.

Séance 7

préparation au TD noté

Ce TD est une préparation au TD suivant qui sera noté : position_table.pdf. Trois fichiers textes sont nécessaires à ce TD : femme.txt, homme.txt, table.txt.

Le second énoncé est centré autour d’un algorithme de classification non supervisée qui est plus une curiosité que souvent utilisé. Il sert de prétexte à la manipulation de matrice sous Python via le module Numpy : cluster.pdf. Pour les plus aguerris, la seconde partie applique l’algorithme à des séries financières dont on téléchargera automatiquement les cours grâce à Internet. Cette partie utilise un fichier contenant la liste des actions : cac40_quote.txt.

Séance 8

TD noté

corrections

énoncé 2005-2006, données td_note_texte.txt

énoncé 2006-2007

énoncé 2007-2008, données logpdf.txt

énoncé 2008-2009, rattrapage 2008-2009 (données td_note_2009_cluedo_1.txt, td_note_2009_cluedo_2.txt)

énoncé 2009-2010, rattrapage 2009-2010 (données : villes.txt)

énoncé 2010-2011, (données : restaurant_paris.txt)

énoncé 2011-2012, (données cannes_charleville_2010_max_t.txt, donnees_enquete_2003_television.txt, python_examen_2011_2012.py)

Séance 9

interface graphique

Il ne manque qu'une interface graphique pour donner à un programme un aspect plus séduisant. Elle permet de modifier des paramètres et d'afficher des graphiques comme cet exemple de fonction : window.pdf. L’autre sujet illustre leur utilisation au travers du jeu de pendu : pendu.pdf.

Séance 10

un petit avec PyGame

Deux girafes sont en danger : elles sont sur la route d'un avion, arriverez-vous à retarder l'inévitable. L'objectif de ce TD est de manipuler le module PyGame pour ceux qui veulent faire des jeux : girafe.pdf. Le lien suivant vous permettra de télécharger les images et les bruitages sonores : girafe.zip.

TD sur le fil

Voici quelques énoncés de TD, ce sont des gammes en quelques sortes :

surlefil.pdf

surlefil2.pdf

surlefil3.pdf

surlefil4.pdf

Données : td_note_texte.txt, star.txt, electricite.txt

correction

On trouvera un résumé des instructions fréquentes en Python au chapitre 13 du document : initiation_via_python.pdf.

Les énoncés et leurs corrections sont présents dans le document : python_td.pdf.