INF1007 Chapitre 3 PolyMtl
INF1007 Chapitre 3 PolyMtl
INF1007 Chapitre 3 PolyMtl
INF1007 : Introduction à la
programmation
Chapitre 3 – Variables, types de données,
expressions, opérateurs
Plan du cours
1. Affectation, initialisation, ré-affectation, modification,
emplacement dans la mémoire
2. Composition, affectation composée et affectation multiple
3. Nom de variables, mots réservés et encodage des caractères
4. Type de données simples et notions de typage dynamique fort
5. Fonctions et opérations arithmétiques sur les nombres
6. Opérateurs d’affectation composée, de comparaison, de
logique, d’identité et d’appartenance, définition d’une
expression et priorité des opérations
7. None
Entrée Sortie
(clavier, Mémoire
(écran, etc.)
etc.)
Bus
Unité
Unité de
arithmétique et Registres
contrôle
logique
Verre Variable
Contenant Adresse mémoire
Contenu Valeur
Le type indique:
• la grandeur du verre,
• le liquide admis,
• la façon dont ce liquide doit être manipulé.
1 a = 1
2 b = a 1 1 1 15 1
3 print(a)
4 print(b) a a b a b
5
6 a = 15 Après
Après Après
7 print(a) a = 15
a=1 b=a
8 print(b)
1 height = 178
2 print(‘Sa taille est :’)
3 print(heigth)
1 data = 12
2 print(data)
3
4 data = 99
5 print(data)
Affectation composée
En Python, on peut mettre à jour une variable par rapport à la valeur
qu'elle possède actuellement.
Par exemple, on peut vouloir augmenter la valeur d’une variable d’une
certaine quantité:
data = data + 1
Affectation multiple
Afin de simplifier le code Python, on peut également assigner une
valeur à plusieurs variables simultanément.
x = y = 7
Composition
L'une des grandes forces d'un langage de programmation de haut
niveau est qu'il permet de construire des instructions complexes par
assemblage de fragments divers
Ce principe est appelé la composition et fait généralement appel à des
opérateurs.
h, m, s = 15, 27, 34
print("nombre de secondes écoulées depuis minuit = ", h*3600 + m*60 + s)
1 x, y = 4, 7.0 6 print(type(x))
2 print(x, y) 7 print(type(y))
3 8 print(type(z))
4 z = x + y
5 print(z)
1 a, b, c = 1, 1, 1
2 while c < 50:
3 print(c, ":", b, type(b))
4 a, b, c = b, a+b, c+1
1 a, b, c = 3, 2, 1
2 while c < 15:
3 print(c, ":", b, type(b))
4 a, b, c = b, a*b, c+1
1 a, b, c = 1., 2., 1
2 while c < 18:
3 print(c, ":", b, type(b))
4 a, b, c = b, a*b, c+1
Arrondi et conversion
• int(flottant) : float → int : troncature et conversion
• round(flottant, ndigits) : float → int : arrondi, et le cas échéant
conversion
• arrondi à ndigits chiffres après la virgule (si ndigits positif), ou avant la
virgule (si négatif) ; par défaut ndigits=0, c'est-à-dire conversion à l'entier
supérieur (si flottant est positif) ou inférieur (si négatif)
• float(entier) : int → float : conversion
• int('nombre', base)
• pour faire une conversion en entier base 10 d'un nombre exprimé sous
forme de chaîne en n'importe quelle base (2= binaire, 8= octale, 16=
hexadécimale, etc...), on peut utiliser
• abs(entier_ou_flottant)
• Pour récupérer la valeur absolue d'un entier ou flottant, on dispose de la
fonction habituelle.
Arrondi et conversion
1 # bool : booléen (logique)
2 vlog = True
3 type(vlog) # => builtins.bool
4 not vlog # => False
5 # notez le 1er car. majuscule de True et False !
Arrondi et conversion
20 # arrondi et conversion
21 int(3.67) # => 3 (int)
22 int(-3.67) # => -4 (int)
23 round(3.67) # => 4 (int), comme round(3.67, 0)
24 round(3.67,1) # => 3.7 (float)
25 round(133,-1) # => 130 (int)
26 round(133,-2) # => 100 (int)
Description Notation
Addition +
Soustraction -
Multiplication *
Division /
Exponentiation **
Division entière //
Reste de la division entière %
Opérateurs de comparaison
Opérateurs logiques
1 x = 11 1 x = 4 < 5
2 y = 2 2 print(x)
3 z = x // y 3 print(not x)
4 zz = x / y 4
5 print(z, zz) 5
Exercices
1. Écrire un programme qui calcule la racine carré et le carré d’un
nombre.
2. Écrire un programme qui calcule la moyenne de trois nombres.
3. Écrire un programme qui convertisse en radians un angle fourni au
départ en degrés, minutes, secondes.
4. Écrire un programme qui convertisse en degrés, minutes,
secondes un angle fourni au départ en radians.
5. Écrire un programme qui convertisse en degrés Celsius une
température exprimée au départ en degrés Fahrenheit, ou
l'inverse. La formule de conversion est : 𝑇! = 𝑇" ×1.8 + 32