Chapitre 4
Initiation `a la
programmation
Un langage de programmation est un jeu d’instructions ´el´ementaires
donn´e avec un ensemble de r`egles d’assemblage permettant de r´ealiser n’im-
porte quel calcul. Nous pr´esentons ici une introduction tr`es succincte `a Py-
thon, langage autorisant la programmation imp´erative et la programmation
orient´ee-objet, portable sur la plupart des OS (Unix, Mac Os, Windows,
. . . ), plac´e sous la licence BSD (pour Berkeley Software Distribution) et
disponible gratuitement, aussi bien utilisable pour ´ecrire des programmes
de quelques lignes que des projets tr`es complexes. Le site officiel de Py-
thon est http://www.python.org/. Vous pourrez y t´el´echarger le langage
dans la version correspondant au syst`eme d’exploitation que vous utilisez,
ainsi que de la documentation. En particulier, le tutoriel de Guido van Ros-
sum, l’auteur principal de Python, est bien con¸cu pour apprendre le langage
(http://docs.python.org/tut/). Un tr`es bon ouvrage en fran¸cais est Ap-
prendre `a programmer avec Python, de G´erard Swinnen, Eds O’Reilly.
4.1 Programmer en Python
Un programme ´ecrit dans un langage de programmation donn´e est une
suite d’instructions ´el´ementaires choisies parmi les instructions propos´ees
par le langage et respectant des r`egles d’assemblage, une syntaxe, pr´ecis´ement
d´efinies par le langage. Un programme est ´ecrit `a l’aide d’un ´editeur de texte,
comme Emacs, et est appel´e code source. Il ne constitue pas encore un objet
directement ex´ecutable par par la machine. Pour pouvoir ˆetre ex´ecut´e, il faut
qu’il soit traduit en instructions directement ex´ecutables par la machine,
39
40 CHAPITRE 4. INITIATION `
A LA PROGRAMMATION
c’est-`a-dire en langage machine. Deux techniques sont utilis´ees pour cela,
l’interpr´etation et la compilation. Dans la premi`ere, le programme source est
analys´e et traduit `a la vol´ee en langage machine, les instructions r´esultantes
´etant imm´ediatement ex´ecut´ees. Dans la seconde, un compilateur analyse
et traduit le programme source en un programme objet qui peut `a son tour
ˆetre directement ex´ecut´e.
Un programme ´ecrit en Python peut ˆetre aussi bien interpr´et´e que com-
pil´e : nous n’utiliserons que la premi`ere technique. Les programmes sources
seront ´ecrits dans des fichiers dont le nom aura l’extension .py, par exemple
PremierProgramme.py. Ils seront ex´ecut´es par la commande
python PremierProgramme.py lanc´ee dans un terminal.
4.1.1 Les donn´ees
Tout langage de programmation comprend des types de donn´ees ´el´ementaires,
permettant en g´en´eral de travailler directement sur des nombres entiers, des
nombres r´eels, des caract`eres, des chaˆınes de caract`eres, . . . , ainsi qu’un
certain nombre de constructeurs de types permettant de travailler sur des
types de donn´ees plus complexes (tableaux, listes, dictionnaires, . . . ). Nous
´etudierons principalement dans cette introduction le type entier, permettant
de coder des nombres entiers, et le constructeur de listes.
4.1.2 Les op´erations sur les nombres
Les op´erations usuelles sont pr´ed´efinies : + (addition), - (soustraction),
* (multiplication) et / (division).
Le programme
# prog1.py
# ´ecrit par F. Denis,
# le 13/10/07
print 31+7
print 31-7
print 31*7
print 31/7 # Attention : division enti`ere
print 31.0/7
print 31**7 # exponentiation
print 31%7 # reste de la division euclidienne
sauvegard´e dans le fichier prog1.py, apr`es ex´ecution de la commande
python prog1.py, produira l’affichage suivant :
4.1. PROGRAMMER EN PYTHON 41
38
24
217
4
4.42857142857
27512614111
3
Commentaires :
print est une instruction d’affichage ;
les commentaires sont des informations ajout´ees par le programmeur
au programme source qui ne doivent pas ˆetre interpr´et´ees par la ma-
chine : en Python, il suffit de les faire pr´ec´eder du caract`ere # ;
par d´efaut, la division de deux entiers aet bproduit un entier, quotient
de la division euclidienne de apar b; si l’on souhaite obtenir le r´esultat
de la division r´eelle, on peut par exemple ajouter un point d´ecimal `a
l’un ou l’autre.
4.1.3 Les variables
Une variable est un objet qui poss`ede un nom qui fait r´ef´erence `a un
espace de la m´emoire vive de l’ordinateur dans lequel est stock´ee une donn´ee :
la valeur de la variable.
Les noms des variables en Python sont des s´equences de lettres et de
chiffres qui doivent commencer par une lettre et ne pas contenir de caract`eres
accentu´es ou sp´eciaux. Les lettres minuscules et majuscules sont distingu´ees.
Quelques mots r´eserv´es par le langage (comme print) ne doivent pas ˆetre
utilis´es comme nom de variables, afin de ne pas cr´eer d’ambigu¨ıt´e. Un pro-
gramme est d’autant plus lisible que le nom des variables refl`ete leur sens
dans le programme. Par exemple, si des variables doivent d´esigner la hau-
teur et la largeur d’un rectangle, on pr´ef´erera utiliser les noms hauteur et
largeur plutˆot que xet y.
L’op´eration consistant `a d´efinir la valeur d’une variable est appel´ee affectation.
Elle s’effectue en Python `a l’aide du signe =.
L’affichage de la valeur d’une variable se fait au moyen de l’instruction
print. Le programme suivant
n=3
print n
n=5 # la variable n change de valeur
print n
42 CHAPITRE 4. INITIATION `
A LA PROGRAMMATION
n=n+3 # la nouvelle valeur de la variable n d´epend de l’ancienne
print n
m=n # la valeur de la variable m est ´egale `a celle de n
print m
n=n*n
print n,m # la valeur de m n’est plus ´egale `a celle de n
m,n=n,m # affectation simultan´ee des deux variables n et m.
print n,m # les valeurs de m et n ont ´et´e permut´ees.
produit l’affichage
3
5
8
8
64 8
8 64
Commentaires :
l’affectation d’une valeur `a une variable est temporaire : elle peut ˆetre
modifi´ee `a tout moment ;
les variables peuvent ˆetre utilis´ees dans des calculs, les op´erations s’ap-
pliquant alors `a leurs valeurs ;
la permutation simultan´ee des valeurs de deux variables est interdite
dans la plupart des langages de programmation autres que Python.
La commande d’affichage print peut prendre plusieurs arguments, qui
peuvent ˆetre des variables ou des constantes de diff´erents types. L’ex´ecution
du programme suivant
n=12
n2=n*n
print ’le carr´e de’,n,’est’,n2
produira l’affichage
le carr´e de 12 est 144
Remarque : pour pouvoir afficher correctement les caract`eres accentu´es
(deuxi`eme partie de la table ASCII), il faut indiquer `a l’interpr´eteur Python
quel jeu de caract`eres utiliser. Pour cela, il faut ajouter une ligne en tˆete du
programme qui peut ˆetre
# -*- coding:Latin-1 -*-
4.1. PROGRAMMER EN PYTHON 43
ou
# -*- coding:Utf-8 -*-
Un programme doit pouvoir communiquer avec un utilisateur, par exemple
en lui permettant de d´efinir la valeur d’une variable. On appelle saisie
cette op´eration, r´ealis´ee en Python au moyen de l’instruction input. Le
programme
# -*- coding:Latin-1 -*-
n=input(’Entrez un nombre : ’)
print ’le carr´e de ’,n,’est’,n*n
produira d’abord l’affichage
Entrez un nombre :
attendant que l’utilisateur tape un nombre suivi de la touche Entr´ee. Le
programme calcule alors et affiche le carr´e de ce nombre. Par exemple,
Entrez un nombre : 3
le carr´e de 3 est 9
4.1.4 Les instructions conditionnelles
Les programmes pr´ec´edents sont des s´equences d’instructions ´el´ementaires
qui sont toutes ex´ecut´ees les unes `a la suites des autres. Un calcul doit don-
ner la possibilit´e de n’effectuer une op´eration que si telle donn´ee v´erifie telle
condition. On appelle instruction d’ex´ecution conditionnelle les instructions
permettant ce contrˆole `a l’ex´ecution du programme. On utilise essentielle-
ment deux instructions d’ex´ecution conditionnelle :
...
if (condition):
instruction1
...
et
...
if (condition):
instruction1
else:
instruction2
...
1 / 17 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !