ENSAE : Programmation et algorithmes

Enseignement de première année

Enseignant : Xavier Dupré

Correction des TD

TD 1

tri_classique.py, tri_fusion.py.

mortalite_cor1.py mortalite_cor2.py

TD 2

texte_langue.py

pendule.py.

Le premier programme utilise les fichiers hugo_dernier_jour_condamne.txt, hugo_legend_siecle_francais.txt, hugo_the_man_who_laugh.txt.

TD 3

Le programme sur la popularité internet des stars : popularite.py. Quelques variantes apportées lors des TD, la première variante popularite_variante1.py compare la popularité de deux groupes en faisant la moyenne par groupe des réponses apportées pour chaque moteur. La seconde variante popularite_variante2.py propose de compter le nombre de fois qu'un individu du premier groupe est plus populaire qu'un individu du second groupe.

Une première version de la résolution de l'énigme de Harry Potter sans les classes : hermionne.py, avec les classes : hermionne_classes.py.

TD 4

gene.html, carre_magique.py.

TD 5

nomination_test.py.

TD 6

Le début du programme : vigenere_carre.py et la solution qui inclut le codage, décodage d'un message, la méthode qui permet de déterminer la longueur de la clé et celle qui permet de déterminer la clé : vigenere_carre_solution.py. Ce programme utilise le fichier hugo_dernier_jour_condamne.txt.

TD 7

Interrogation
30 minutes

énoncé 2012-2013, programmes en vrac : p1.py, p2.py, p2b.py, p3.py, p3b.py, p3c.py

TD 7

Fichiers nécessaires à la réalisation du TD : femme.txt, homme.txt, table.txt. Le programme harmonie.py comprend les réponses aux questions 1 à 6 ainsi qu'une fonction permettant de répondre numériquement à la question 8 pour des petites tables. Le document position_table_cor.pdf montre comment répondre théoriquement à cette question en s'aidant de l'informatique et en introduisant les chaînes de Markov. Une dernière fonction du programme permet de vérifier que les résultats théoriques sont égaux à ceux déjà calculés sur des petites tables.

L’autre énoncé concernant la classification non supérvisée : cluster.py et cluster_action.py pour la seconde partie financière. Les deux corrections sont regroupées dans le fichier suivant : cluster_cor.pdf. La seconde partie utilise le fichier contenant la liste des actions du CAC 40 : cac40_quote.txt.

TD 8

Année 2005-2006 : td_note_2006.py, données td_note_texte.txt

Année 2006-2007 : td_note_2007.py

Année 2007-2008 : td_note_2008.py, données logpdf.txt

Année 2008-2009 : td_note_2009.py, autre énoncé : rattrapage_2009.py, (données : td_note_2009_cluedo_1.txt, td_note_2009_cluedo_2.txt)

Année 2009-2010 : td_note_2010.py autre énoncé : rattrapage_2010.py, (données : villes.txt)

Année 2010-2011 : td_note_2011.py, (données restaurant_paris.txt)

Année 2011-2012 : td_note_2012.py

Année 2012-2013 : correction des exercices de préparation au TD noté.

TD 9

Un exemple d'interface : foncteur_tkinter_exemple.py.

Jeu du pendu : pendu_cor.pdf et le programme : pendu_tkinter.py.

TD 10

Comment empêcher un avion d'aller s'écraser sur deux girafes ? C'est un exemple d'utilisation du module pygame : girafe.py. Quelques images et sons sont nécessaires : girafe.zip. Il suffit de décompresser ce fichier compressé dans le même répertoire que le programme.

TD sur le fil

occurences.py

star.py, données : star.txt

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.