Informatique Prise en main TP 1
Premiers pas avec un environnement Python
Le shell
Le shell peut être vu comme une calculatrice (assez basique initialement, seulement en mode texte).
Le shell interprète en direct les commandes qu’on lui donne, sans attendre.
On peut faire des calculs simples dans le shell.
Il y a peu de commandes de base, mais il est facile de l’enrichir. Par exemple, les constantes et les fonctions usuelles
mathématiques seront ajoutées avec la bibliothèque math.
Avec les flèches haut et bas, on peut rappeler une commande précédente et la modifier avant de l’exécuter à nouveau.
Les commandes peuvent être sur plusieurs lignes.
Exercice 1 : Vous pouvez tout de suite utiliser l’interpréteur comme une simple calculatrice de bureau. Veuillez donc
vous-même tester et commenter les commandes ci-dessous :
>>> 5+3
>>> 2 - 9 # les espac e s sont o ption n els
>>> 7 + 3 * 4 # la h i érarc h ie des opéra t ions mat h émat i que s
# est - ell e r es pe ct ée ?
>>> (7+3) *4
>>> 20 / 3 # att e n tion : ceci fonct i onne rait di f fére m ment sous Py t h o n 2
>>> 20 // 3
>>> 20.5 / 3
>>> 8 ,7 / 5 # Erreur !
>>> sin (0)
Éditeur
Les environnements de développement possèdent tous en plus du shell un éditeur. Les avantages d’utilisation de l’éditeur
sont multiples.
On peut taper plusieurs commandes à la suite, elles ne seront exécutées que lorsqu’on lancera le script. On va donc
pouvoir écrire un algorithme complet avant de vérifier s’il marche.
On peut enregistrer le fichier pour revenir le modifier ou l’exécuter plus tard.
Il en beaucoup plus aisé de corriger un algorithme. Alors que dans le shell, il faudrait retaper toutes les lignes, ici, il
suffit de modifier le fichier.
Un programme sera aussi plus lisible. En effet, on va pouvoir aérer le code et ajouter des commentaires dans le fichier
qui ne serviront pas à l’ordinateur, mais qui expliqueront au codeur qui relira le code l’utilité de chacune des parties du
programme.
Les deux éditeurs qu’on va utiliser :
IDLE : éditeur inclus dans la distibution Python.
IEP : éditeur associé à l’environnement de développement Pyzo bien plus performant
Les variables
En Python, les variables permettent de stocker plus ou moins provisoirement toute sorte d’objets : des valeurs, des resultats
de calculs, des fonctions.. . La syntaxe est la suivante :
nom = expre s sion
1 année 2016/2017
Informatique Prise en main TP 1
Sous Python, les noms de variables doivent en outre obéir à quelques règles simples :
Un nom de variable est une séquence de lettres (a-z, A-Z) et de chiffres (0-9), qui doit toujours commencer par une
lettre.
Seules les lettres ordinaires sont autorisées. Les lettres accentuées, les cédilles, les espaces, les caractères spéciaux
tels que $, #, etc sont interdits, à l’exception du caractère _ (souligné).
La casse est significative (les caractères majuscules et minuscules sont distingués).
Prenez l’habitude d’écrire l’essentiel des noms de variables en caractères minuscules (y compris la première lettre). Il
s’agit d’une simple convention, mais elle est largement respectée. N’utilisez les majuscules qu’à l’intérieur même du
nom, pour en augmenter éventuellement la lisibilité, comme dans tableDesMatieres.
En plus de ces règles, il faut encore ajouter que vous ne pouvez pas utiliser comme nom de variables les 33 « mots
réservés » ci-dessous (ils sont utilisés par le langage lui-même) :
and as array break class continue def
del elif else except False finally for
from global if import in is lambda
None nonlocal not or pass raise return
True try while with yield
L’expression : elle peut prendre beaucoup de forme différentes – un entier, un flottant, un calcul, un calcul qui utilise
d’autres variables définies auparavant, une liste, un tableau, une fonction, une chaine de caractères...
Exemple :
>>> n = 7 # dé f i n ir la varia b l e n et lui donner la valeur 7
>>> msg = " Q uoi de n euf ? " # affecter la valeur " Quoi de neuf ?" à msg
>>> pi = 3.14159 # a s s igner sa valeur à la va r i able pi
Les exemples ci-dessus illustrent des instructions d’affectation Python tout à fait classiques. Après qu’on les ait exécutées, il
existe dans la mémoire de l’ordinateur, à des endroits différents :
trois noms de variables, à savoir n, msg et pi;
trois séquences d’octets, où sont encodées le nombre entier 7, la chaîne de caractères « Quoi de neuf ? » et le nombre
réel 3,14159.
Exercice 2 : Décrivez le plus clairement et le plus complètement possible ce qui se passe à chacune des trois lignes de
l’exemple ci-dessous :
>>> largeu r = 20
>>> hauteur = 5 * 9.3
>>> largeur * hauteur
930
Affectation multiple
On peut effectuer plusieurs affectations simultanées, ou multiples
>>> a ,b , c = 2 ,4 ,6
>>> c
6
>>> a = b =5
>>> a; b
5 5
et compliquer un peu
>>> a =2; b =3 ;
>>> a , b = b , 3* b + a
>>> b
11
Un petit raccourci
>>> a =17
>>> a +=2
>>> a
19
2 année 2016/2017
Informatique Prise en main TP 1
On peut donc utiliser +=,-=,*=,/= pour raccourcir certaines affectations.
Traduire un algorithme en Python
La structuration du code repose sur l’indentation, i.e. sur le décalage plus ou moins marqué du début de la ligne.
Les conditions
Les comparaisons sont possibles à l’aide des opérateurs suivants :
x == y # x est egal a y
x != y # x est dif f é rent de y
x > y # x est plus grand que y
x < y # x est plus petit que y
x >= y # x est plus grand que , ou égal a y
x <= y # x est plus petit que , ou égal a y
On peut combiner différents tests avec les opérateurs and,or et not
>>> (1 <3) and (4 >2)
True
>>> (5 >8) or not (2 >4)
True
Comment traduire les briques de base d’un algorithme en Python ?
Le branchement conditionnel avec alternative :
1if co ndi t ion :
2bloc de comm a ndes
3else:
4bloc de comm a ndes
Le branchement conditionnel sans alternative :
1if co ndi t ion :
2bloc de comm a ndes
La boucle « pour ». Pour signifier les bornes entre lesquelles la variable de boucle va varier, on utilise la commande
range.
Si on écrit range(n), où nest un entier naturel, alors la variable prendra les valeurs de 0 à n1.
Si on écrit range(a,b), où aet bsont deux entiers naturels, alors la variable prendra les valeurs de aàb1.
1for var i a ble in range (bornes):
2bloc de comm a ndes
La boucle « tant que » :
1while c on d iti o n :
2bloc de comm a ndes
Quelques exemples
1if age >= 18:
2print (majeur)
3else:
4print (mineur)
1for iin range (10) :
2j = i* i
3print ( j )
3 année 2016/2017
Informatique Prise en main TP 1
1p = 0
2while 3 ** p < 10 00 :
3p += 1
4print (’ La plus petite puissan c e de 3 qui d é p a s se 1000 vaut ’)
5print ( 3** p )
Une petite différence de comportement entre le shell et l’éditeur
Essayer de taper le script suivant dans le shell et dans un fichier (avant de l’exécuter) :
1a = 2
2a
Si dans le shell, on tape juste le nom d’une variable, Python va évaluer cette variable et alors afficher le résultat. Alors que
si on utilise un script, cette évaluation aura aussi lieu, mais en arrière plan. Aucune valeur n’est affichée. Dans un programme,
on utilisera la commande print pour afficher la valeur d’une variable.
1a = 2
2print (a)
Exercices
Exercice 3 : Écrire un programme qui pour un réel xdonné (affecté en première ligne de l’éditeur) affiche sa valeur
absolue (sans utiliser la commande abs).
Exercice 4 : Écrire un programme qui affiche un compte à rebours de 50 jusqu’à 0 (on le fera d’au moins deux façons
différentes).
Exercice 5 : Écrire un programme qui donne le signe d’un produit de deux nombres non nuls. Attention, on ne doit pas
calculer le produit de ces deux nombres.
Exercice 6 : Écrire un programme qui résout l’équation ax +b=0 dans Raet bsont deux réels saisis par l’utilisateur
(on tapera le programme dans l’éditeur et on effectera les variables aet bavant d’évaluer le programme). Le tester avec (2,3),
(2,0), (0,2) et (0,0).
Exercice 7 : Écrire un programme qui calcule la somme des entiers de 1 jusqu’à 500.
Exercice 8 : Soit (un)nla suite définie par u0=1 et nN,un+1=2un3. Calculer u8puis u20.
Calculer le premier terme de la suite strictement inférieur à 1000.
Exercice 9 : Quelques algorithmes supplémentaires à programmer
1. reste de la division euclidienne de deux entiers naturels en utilisant que des soustractions.
2. quotient et reste de la division euclidienne (mêmes contraintes).
3. déterminer le maximum de 3 entiers a,bet c.
4. déterminer la parité d’un entier qelconque.
5. calcul des puissances entières d’un réel (puissances positives, puis quelconques).
4 année 2016/2017
Informatique Prise en main TP 1
Solutions
Exercice 1 :
>>> 5+3
8# pas de su r p r ise
>>> 2 - 9
-7
>>> 7 + 3 * 4
19 # même p rior ité qu ’en maths
>>> (7+3) *4
40 # idem
>>> 20 / 3
6.6 6 666 6 66 6 666 6 67 # passage en flo t t ant
>>> 20 // 3
6# c ’ e st la di vi si o n e ntiè re
>>> 20.5 / 3
6.833333333333333 # la vir g u l e est un point
>>> 8 ,7 / 5
(8 , 1 .4 ) # on crée le c o u p l e 8 et 7/5
>>> sin (0)
Traceb a ck (most recent call last ) :
File " < stdi n > " , line 1, in <module >
NameEr ror : name ’ sin ’ is not defined
Exercice 2 :
première instruction : on affecte la valeur 20 à la variable largeur
seconde instruction : le calcul 59.3 est evalué et le résultat est affecté à hauteur
troisième instruction : le produit est effectué, le résultat est affiché mais stocké nulle part.
Exercice 3 :
1x = -2
2if x>=0:
3print ( x )
4else:
5print ( - x )
Exercice 4 :
On peut le faire de plusieurs manières (il faut faire attention aux indices de début et de fin) :
avec une boucle for de 0 à 50
1for iin range (51) :
2print(50 - i )
avec une boucle while
1compteur =50
2while compteur >=0:
3print( compte ur )
4compt eu r = compte ur -1
avec une boucle for avec un pas négatif de 1 (attention au dernier entier)
1for iin range (50 , -1 , -1) :
2print(i)
Exercice 5 :
On peut le faire de différentes manières, avec plus ou moins de tests. On suppose que les deux nombres sont xet y.
5 année 2016/2017
1 / 8 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 !