Vous êtes sur la page 1sur 5

Licence PC-EEA Memento 1

1ère année I.N.U. Champollion

Consigne :
Éventuellement, pour disposer d’un interpréteur Python, vous pourrez :
— vous connecter sur https ://cloud.sagemath.com/
— télécharger la distribution Python(x,y (le guide d’installation peut être téléchargé sur
http ://www.prepas.org/2013/Info/DocumentsIG/install-python-windows.pdf)

Partie A : Principe de programmation


Programmation impérative : qu’èsaquo:
Le principe fondamental d’une programmation à but scientifique se repose sur le fondement de la programma-
tion impérative, c’est-à-dire les instructions seront lues et excécutées par l’ordinateur de manière séquentielle,
et cela en exploitant des espaces de mémoires de l’ordinateur.

Par analogie, comparons les deux suites d’instructions suivantes :

Exemple 1a:

1. Remplir le bassin A avec de l’eau


2. Verser le bassin A

Exemple 1b:

1. Verser le bassin A
2. Remplir le bassin A avec de l’eau.

Les deux exemples précédents comprennnet deux instructions élémentaires identiques. Cependant le résultat
de l’exécution de chaque exemple induit aux conséquences très différentes !

Conséquences à retenir:

— Chaque variable utilisée doit avoir été déclarée en amont.


— La valeur d’une variable à une étape de la programmation correspond à la dernière opération d’écriture
sur la variable (ou modification de la variable), avant l’étape considérée.

Partie B : Les variables


Les variables sont des espaces de stockage:
Sous python, lorsque nous déclarons une variable, cela revient à faire comprendre à l’ordinateur que nous
souhaitons alouer un espace de mémoire pour stocker des données. Le nom aloué à une variable doit être
unique et sans risque de confusion.

Il est important de :
— déclarer chaque variable au préalable avant son utilisation (avec le signe d’affectation).
— de respecter le nomenclature des variables
— de faire un bilan préalable des variables (ce qu’elle doit contenir) à utiliser et de les initialiser au début
d’un script.
— d’utiliser des variables sciemment, c’est à dire lorsqu’il y en besoin pour facilier la lecture d’une code de
programmation, mais sans exagération.

Nomenclature des variables:


Les noms des variables sont des identifiants uniques des espaces de mémoire de l’ordinateur que nous souhaitons
utiliser.

1
Licence PC-EEA Memento 1
1ère année I.N.U. Champollion

Les noms employés :


— ne doivent pas contenir des caractères spéciaux (e.g. #, $, , %, etc.) ni d’accents (e.g. à, é, è , etc.)
— ne doivent pas commencer avec un chiffre
— ne doivent pas reprendre des mots clés propres au bon fonctionnement du langage utilisé (e.g. for, def,
if, max, min, help, e, exp, eps, float, etc.)

Ecriture et affectation d’une variable:


Sous python, la notion d’écriture consiste à écraser la valeur contenue dans une variable par une autre.
L’écriture se réalise avec l’opérateur d’affectation (sous python c’est le symbole « = » ) Exemple : l’instruction
A=2 écrase la valeur d’avant de la variable A et stocke la valeur 2 dans cette variable. A l’issu de cette
instruction, l’ordinateur ne « se rappelle » plus de l’ancienne valeur de A.

Il est important de :
— déclarer chaque variable au préalable avant son utilisation (avec le signe d’affectation).
— de faire un bilan préalable des variables (ce qu’elle doit contenir) à utiliser et de les initialiser au début
d’un script.
— d’utiliser des variables sciemment, c’est à dire lorsqu’il y en besoin pour facilier la lecture d’une code de
programmation, mais sans exagération.

Remarque sur le signe d’affectation et l’égalité:


Sous python le symbole « = » est utilisé comme signe d’affectation (dans d’autres langage, ça peut être autre
chose). A ne pas confondre affectation et égalité au sens mathématique. La variable que nous souhaitons
modifier doit se trouver immédiatement à gauche du symbôle d’affectation. On peut écrire A=2 ou A=B+C
mais jamais 2=A ni C+B=A

Lecture et utilisation d’une variable:


Sous python, la notion de lecture consiste à lire et utiliser la valeur contenue dans une variable. Systématique-
ment, lorsqu’une variable ne se trouve pas à gauche d’une signe affectation, la variable est en lecture.

Exemple 1:
E.g. Pour l’instruction A=B+C , la variable A est en écriture, tandis que les variables B et C sont en lecture.
L’ordinateur comprendra qu’il lui faudra chercher les valeurs contenues dans les variables B et C et effectuer
les opérations indiquées, afin d’écraser la valeur de la variable A. Bien évidemment, cette écriture n’est possible
que si au préalable, B et C ont été initialisées/

Exemple 2:
E.g. Pour l’instruction A=A+C , la variable C est en lecture tandis que la variable A est à la fois en écriture et
en lecture. L’ordinateur comprendra qu’il lui faudra chercher les valeurs contenues dans les variables A et C
et effectuer les opérations indiquées, puis écraser la valeur de la variable A. Notons que l’ancienne valeur de
A n’existe plus à l’issu de l’opération.

Exemple 2:
E.g. Pour l’instruction A+C , la variable C et A sont en lecture. Il n’y a pas de signe d’affectation en amont, cela
veut dire que le résultat de l’opération ne sera plus accessible après cette instruction. L’ordinateur comprendra
qu’il lui faudra chercher les valeurs contenues dans les variables A et C et effectuer les opérations indiquées,
mais les valeurs calculées n’est aucunement utilisée.

2
Licence PC-EEA Memento 1
1ère année I.N.U. Champollion

Partie C : Types de variables


Du numérique au bon sens:
Les ordinateurs ne manipulent et ne communiquent que des ensembles de valeurs binaires « 0 » et « 1 ». E.g.
sur 8 bits 00101010, sur 16 bits 0010 1011 0101 0010, etc. La traduction des valeurs binaires vers des valeurs
que nous souhaitons manipuler comme des nombres réels, des nombres entiers, des mots... se font par typage
des variables. Il existe plusieurs types de variables :
1. des entiers, i.e. 0, 1, 2, 3, 4...
2. des flottants, i.e. des chiffres avec des virgules flottantes (ou des nombres réels)
3. des chaînes de caractères, e.g. "coco", "je ne suis pas la" ; qui doivent toujours être compris entre les
guillemets.
4. des booléennes, i.e. les valeurs logiques True ou False. Il n’y a que ces deux valeurs possibles.
5. des tableaux.

Opération et obtention des variables de différentes types:


Les types de variables s’obtient avec les opérateurs qui leur sont associés. On ne peut pas effectuer des
opérations sur deux types de variables différentes. Exemple, on ne peut pas additionner une chaîne de caractères
(texte) avec un entier (nombre).

Opération sur des nombres:


Pour les entiers, nous avons les opérations arithmétiques suivantes :
— « + » pour addition
— « - » pour soustrattion
— « / » pour division
— « * » pour multiplication
— « = » pour affectation
— « // » pour division entier
— « % » pour le reste de la division entier (modulo)
— « ** » pour puissance
Les opérations arithmétiques doivent être entourées de deux nombres (à gauche et à droite du symbôle).
Pour les booléannes, nous avons les opérations booléannes suivantes :
— « == » pour est égal
— « != » pour est différent
— « < » pour inférieur
— « > » pour supérieur
— « and » et booléen
— « or » ou booléen

Partie D : Exercices Affectation et types de variable


Exercice 1
Nous nous proposons de calculer la valeur de 2/3 7/5 sous python, et l’affecter à la variable a. Parmi les propo-
sitions suivantes, choisir la solution correcte et indiquer les raisons pour lesquelles les autres propositions sont
incorrectes.
Proposition 1
1 a =2./3./(7./5.)

Proposition 2
1 a =(2/3) / ( 7 / 5 )

Proposition 3

3
Licence PC-EEA Memento 1
1ère année I.N.U. Champollion

1 (2./3.) ∗(5./7.) = a

Raisons :

Exercice 2
Que font les opérateurs ∗∗ et % ? Quelle est la différence entre les opérateurs / et // ? Pour chacune des
opérations suivantes, donner la valeur de a :
a. a=7**3
b. a=7%3
c. a=7/3
d. a=7//3
e. a=7./3.

Exercice 3
Considérons le code suivant :
1 mon_max = 7
2 mon_min = 3
3 mon_min = (mon_max+mon_min) /2
4 p o i n t _ m i l i e u = (mon_max+mon_min) /2

Que vaut la variable point_milieu à la fin du code ?


a. 5
b. 6
c. 7
Justifier :

Exercice 4
Considérons les affectations de variables suivantes, et représenter la valeur numérique représentée pour
chaque cas :
a=5*10**2 a=5e2 a=5*10**(-2) a=5e-2

Exercice 5
Considérons le code suivant où des valeurs numériques ont été affectées aux variables a et b :
1 a=5
2 b=2

Parmi les propositions suivantes, choisir celle qui permet de permuter les valeurs respectives de a et b :
Proposition 1
1 a = b
2 b = a

Proposition 2

4
Licence PC-EEA Memento 1
1ère année I.N.U. Champollion

1 a = b
2 tempo = a
3 b = tempo

Proposition 3
1 tempo = a
2 a = b
3 b = tempo

Proposition 4
1tempo = a
2a = b
3b = a

Exercice 7
Considérons une liste L de dimension n. Parmi les propositions suivantes, sélectionner celle(s) qui per-
met(tent) de permuter tous les éléments de la liste. Le dernier élément permutera avec le premier, le n − 1ième
élémeent permutera avec le deuxième, le n − 2ième permutera avec le troisième, etc..
Proposition 1
1 n= len (L)
2 f o r i in range ( 0 , n ) :
3 tempo = L [ i ]
4 L [ i ]=L [ n−i ]
5 L [ n−i ]=tempo

Proposition 2
1 n= len (L)
2 f o r i in range ( 0 , n / / 2 ) :
3 tempo = L [ i ]
4 L [ i ]=L [ n−i ]
5 L [ n−i ]=tempo

Proposition 3
1 n= len (L)
2 f o r i in range ( 0 , n / / 2 ) :
3 tempo = L [ i ]
4 L [ i ]=L[− i −1]
5 L[− i −1]=tempo

Vous aimerez peut-être aussi