F.JUNIER 2012/2013 Chapitre 1 : Eléments de programmation ISN
1 Notion de langage de programmation
DĂ©ïŹnition 1
Un procĂ©dĂ© systĂ©matique qui permet de traiter des informations sous la forme dâune sĂ©rie dâinstructions Ă exĂ©cuter sâappelle un
algorithme. Ce mot vient du nom du mathématicien Al-Khwarizmi.
Une recette de cuisine, le calcul de la longueur de lâhypotĂ©nuse dâun triangle rectangle, une technique de calcul multiplication,
sont des algorithmes.
Au XXĂšme siĂšcle, on a inventĂ© des machines capables dâexĂ©cuter des algorithmes, ce sont les ordinateurs. Un programme est un
texte qui dĂ©crit un algorithme que lâon veut faire exĂ©cuter par un ordinateur. Lâordinateur ne comprend que le langage machine
suite binaire de 0 et de 1, difïŹcilement manipulables par lâhomme, mĂȘme si les langages dâassemblage en donnent des reprĂ©-
sentations compréhensibles.
En pratique, on Ă©crit le code source du programme dans un langage de programmation de haut niveau(C, Python, Java . . .) sous
la forme dâun ïŹchier texte puis un compilateur ou un interprĂ©teur le transforme en une suite dâinstructions comprĂ©hensibles
par la machine.
âą dans les langages compilĂ©s (C), le code source doit ĂȘtre compilĂ© en un ïŹchier binaire par un compilateur qui dĂ©pend de
lâarchitecture de la machine puis on exĂ©cute ce ïŹchier binaire;
⹠dans les langages interprétés (Perl), un interpréteur transcrit les instructions du code source en langage machine à la volée,
au fur et à mesure de son exécution ;
âą dans les langages semi-interprĂ©tĂ©s, le ïŹchier source est transformĂ© en un code intermĂ©diaire le byte-code qui est en-
suite interprété. En Java les deux étapes sont distinctes, le byte-code étant exécuté par une machine virtuelle. En Py-
thon, les deux opĂ©rations sont effectuĂ©es Ă la volĂ©e par lâinterprĂ©teur : le texte du programme est dâabord traduit en
byte-code, puis ce dernier est exécuté. On peut le constater si programme1.py est importé dans un autre programme
programme2.py. Python crée lors de la premiÚre exécution de programme2.py, un répertoire __pycache__ contenant un
ïŹchier programme1.cpython-32.pyc contenant le byte-code de programme1.py. Une partie du travail sera donc faite
pour une prochaine exécution de programme2.py.
Les langages compilés sont plus rapides et les langages interprétés ont une meilleure portabilité sur les différentes architectures
de machines. La plupart des langages de programmation comportent des constructions fondamentales : la déclaration et
lâaffectation de variables, la sĂ©quence, le test, la boucle, la fonction . ..Câest le noyau impĂ©ratif du langage. Il existe dâautres
styles (ou paradigmes) de programmations (objets, fonctionnelle . ..).
Remarque 1
Python est un langage semi-interprété multi-paradigme (impératif, objets . . . ) créé par Guido Van Rossum au début des années 90.
Il est sous licence libre GPL et gratuit et fonctionne sur toutes les plateformes (Windows, Linux, OSX . . . ). Actuellement les versions
courantes sont Python 2.7.3 et Python 3.2.3, lâĂ©volution du langage Ă©tant assurĂ©e par la Python Software Foundation Ă but non lucratif.
Attention la branche 3.x de Python nâest pas totalement rĂ©trocompatible avec la branche 2.x.
Quelques liens vers des ressources :
âą Site ofïŹciel : http: // www. python. org/ http: // www. python. org/ download/ http: // www. python. org/ doc/
âą Cours sur Python : http: // inforef. be/ swi/ python. htm ou http: // python. developpez. com/ cours/
âą Tutoriel sur Python : http: // www. siteduzero. com/ tutoriel-3-223267-apprenez-a-programmer-en-python. html
En Python on peut tester des instructions en mode console mais on composera les programmes (ou scritps) plus longs avec un Ă©diteur
de texte (Ă©diteur dâIdle, Notepad+ sous Windows, Geany . . . ).
Nous travaillerons avec Python 2.7 et et Python 3.2 car certaines bibliothĂšques (comme Pygame) nâont pas Ă©tĂ© encore portĂ©es sur la
branche 3.x.
Python est installé par défaut sur la distribution Linux Ubuntu, sous Windows on peut télécharger les installateurs à partir de http:
// www. python. org/ download/ et on disposera dâun environnement graphique Idle avec console et Ă©diteur de texte.
2 La console Python
On peut utiliser la console Python (celle fournie par Idle, ou avec la commande python ou python3 dans une console si Python
est installĂ© ), comme une calculatrice. On saisit une expression ou une instruction aprĂšs les trois >>> de lâinvite de commande,
on appuie sur EntrĂ©e et Python lâinterprĂšte. Si câest une expression il applique la fonction eval() pour lâĂ©valuer.
Page 1/15