Introduction `a l’algorithmique avec Python
PROT Olivier
13 novembre 2009
Table des mati`eres
1 Introduction `a Python 1
1.1 Syntaxe .................................................... 1
1.1.1 Ex´ecution d’un programme Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Variables, op´erations et typage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Fonctions ............................................... 2
1.1.4 BouclesFORetWHILE....................................... 3
1.1.5 Instructions conditionnelles : IF - ELIF - ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.6 Illustration - Calcul d’une moyenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Algorithmes pour le calcul de π4
2.1 M´ethoded’Archim`ede ............................................ 4
2.1.1 ´
Etudedel’algorithme ........................................ 5
2.1.2 Algorithmecorrig´e.......................................... 6
2.1.3 Erreursnum´eriques.......................................... 7
2.1.4 Lam´ethodedeVi`ete......................................... 8
2.1.5 Le vrai algorithme d’Archim`ede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 M´ethode des fl´echettes (Monte-Carlo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Construction de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 ´
Etude de la convergence au sens des probabilit´es . . . . . . . . . . . . . . . . . . . . . . . . . 10
1 Introduction `a Python
Python (www.python.org) est un langage de programmation moderne, favorisant la programmation structur´ee
(`a l’aide de fonctions) et orient´e-objet. C’est ´egalement un logiciel libre pouvant s’installer sur la plupart des
ordinateurs.
Python est ce que l’on appelle un langage interpr´et´e, cela signifie qu’un programme est traduit en langage-
machine au moment de son ex´ecution. Lorsque l’on ouvre une session Python, chaque ligne de programme saisie
est imm´ediatement traduite et ex´ecut´ee. On peut bien sˆur, sauver le programme dans un fichier afin de l’ex´ecuter
ult´erieurement, mais `a chaque appel le programme est toujours traduit avant d’ˆetre ex´ecut´e. Ceci est en opposition
avec les langages compil´es (par exemple FORTRAN,Cou C++) o`u le programme est traduit en langage machine une
fois pour toutes.
Enfin, Python est ce que l’on appelle un langage haut-niveau, il permet de faire simplement des op´erations
complexes et cela implique que son fonctionnement soit assez ´eloign´e de celui de la machine. Au contraire, un
langage bas-niveau (par exemple le C) est un langage dont les op´erations sont assez proches de ce que fait la
machine et qui par cons´equent ne permet pas de faire des op´erations complexes de mani`ere simple. L’avantage
de l’utilisation d’un langage haut-niveau est qu’il permet d’´ecrire des programmes plus rapidement en ´evitant les
erreurs.
1.1 Syntaxe
1.1.1 Ex´ecution d’un programme Python
Comme signal´e plus haut, il est possible d’ex´ecuter un programme Python en tapant les lignes de code une `a
une dans l’interpr´eteur. Cela est fastidieux car pour r´e-ex´ecuter le programme il faut re-taper tout le code en entier
1