Les variables

Les variables en programmation

Les variables sont des éléments fondamentaux d'un programme, elles décrivent l'état du système à un instant donné.

Affecter une valeur à une variable consiste à lui associer cette valeur jusqu'à une nouvelle affectation.

Soit la variable Temp , cette variable désigne la valeur de la température et peut changer de valeur régulièrement au fil du temps.

Temp est un nom qui représente une case mémoire dans une machine. La valeur stockée dans cette case mémoire correspond à la température.

Remarque : il n'y a pas d'unité en informatique, si la température est de 19°C alors Temp = 19.

On peut changer la valeur stockée dans la case mémoire en y affectant une nouvelle valeur.

Par exemple, si on veut affecter la valeur 21°C dans la variable Temp, on fait :

Temp \(\longleftarrow\)21

Exercice n°1 :  Soit l'extrait d'algorithme suivant :

  1. Temp \(\longleftarrow\)15

  2. Temp \(\longleftarrow\) Temp + 1

  3. Temp \(\longleftarrow\) Temp + 18

  4. Temp \(\longleftarrow\) Temp - 10

Question

Q1 : Prédéterminer, pour chaque ligne, la valeur de la variable Temp.

Indice

Temp \(\longleftarrow\) Temp + 1 correspond à :

  • ajouter 1 à la valeur précédemment stocké dans la variable Temp

  • affecter cette nouvelle valeur dans la variable Temp .

Solution

Ligne 1 : Temp = 15

Ligne 2 : Temp = 16 (car 15 + 1 = 16)

Ligne 3 : Temp = 34 (car 16 + 18 = 34)

Ligne 4 : Temp = 24 (car 34 - 10 = 24)

Question

Q2 : Coder le programme de l'exercice n°1 en langage Python puis exécuter votre programme afin de le valider.

Indice

Pour affecter une nouvelle valeur en langage Python on utilise le symbole =

Indice

Si vous exécutez votre programme, vous n'obtenez aucun résultat.

Il faut demander l'affichage de la valeur de la variable Temp en utilisant la commande print

Indice

1
Temp = 15
2
Temp = Temp + 1
3
Temp = Temp + 18
4
Temp = Temp - 10
5
print(Temp)

Solution

Lorsque l'on exécute le programme (voir indice ci-dessus), le résultat affiché dans la console Python est 24.

Question

Q3 : Saisir et exécuter le programme ci-dessous. Préciser la différence entre une variable de type int et float.

1
Temp = 15
2
Temp = Temp + 1
3
Temp = Temp + 18
4
Temp = Temp - 10
5
print(type(Temp))
6
print(Temp)
7
Temp = Temp + 0.0
8
print(type(Temp))
9
print(Temp)

Indice

A la ligne 5, on affiche le type de la variable Temp.

A la ligne 7, en ajoutant à la variable Temp 0.0°C, on modifie le type de cette dernière.

Solution

Une variable de type int est un nombre entier.

Une variable de type float est un nombre réel (ou nombre décimal).

Exercice n°2 : Soit l'extrait d'algorithme suivant :

  1. MoyenneGroupe1 \(\longleftarrow\) 14

  2. MoyenneGroupe2 \(\longleftarrow\) 13.6

  3. MoyenneClasse \(\longleftarrow\) MoyenneGroupe1 + MoyenneGroupe2

  4. MoyenneClasse \(\longleftarrow\) MoyenneClasse / 2

  5. lycee \(\longleftarrow\) " Turgot "

  6. classe \(\longleftarrow\) " première SI "

  7. texte \(\longleftarrow\) "Les élèves de " + classe + " du lycée " + lycee + " ont une moyenne de :"

  8. afficher(type(texte))

  9. afficher(texte)

  10. afficher(MoyenneClasse)

Il s'agit d'un algorithme simple, c'est pour cette raison que vous voyez le mot "afficher".

Question

Q4 : Prédéterminer la valeur la variable MoyenneClasse à la ligne 3 et 4.

Solution

A la ligne 3 : MoyenneClasse = 27.6 (car 14 + 13.6 = 27.6 ; en effet la variable étant la somme d'un nombre entier et d'un nombre décimal, elle est de type nombre décimal).

A la ligne 4 : MoyenneClasse = 13.8 (car 27.6 / 2 = 13.8).

Question

Q5 : Coder le programme de l'exercice n°2 en langage Python puis exécuter votre programme afin de le valider.

Indice

Rappel :

  • pour affecter une nouvelle valeur en langage Python on utilise le symbole = ;

  • pour demander l'affichage de la valeur d'une variable, on utilise la commande print.

Indice

1
MoyenneGroupe1 = 14
2
MoyenneGroupe2 = 13.6
3
MoyenneClasse = MoyenneGroupe1 + MoyenneGroupe2
4
MoyenneClasse = MoyenneClasse / 2
5
lycee = " Turgot "
6
classe = " première SI "
7
texte = "Les élèves de " + classe + " du lycée " + lycee + " ont une moyenne de "
8
print(type(texte))
9
print(texte, MoyenneClasse, "/20")

Solution

Lors de l'exécution du programme, on obtient le résultat suivant :

<class 'str'>

Les élèves de première SI du lycée Turgot ont une moyenne de :

13.8

Remarque : Une variable de type str est une chaîne de caractère (généralement du texte).

str représente le mot string en anglais, qui signifie une suite finie de caractères, autrement dit, du texte.

Notion d'indentation

Remarque : En python l’indentation (le décalage des lignes) est important et doit être respecté car il définit ce qu'on appelle des "blocs de code".

Exercice n°3 : soit le programme ci-dessous (la notion de programmation d'une structure alternative sera approfondie dans la prochaine partie de l'activité)

1
Temp=input("Entrer une valeur de température :")
2
print("La température est de : "+Temp+" °C.")
3
4
if float(Temp)>0:
5
Gel = False
6
else :
7
Gel = True
8
9
if Gel :
10
print("Attention, il gèle !!")
11
else :
12
print(" Il ne gèle pas, no soucy !")

Question

Q6 : Saisir et exécuter le programme de l'exercice n°3 en langage Python. S'il ne fonctionne pas, proposer une correction.

Indice

Oui, il ne fonctionne pas car il y a un problème d'indentation.

Il faut indenter (décaler les lignes de programmation de 3 espaces minimum ou une tabulation par exemple) pour séparer chaque "bloc de code".

Remarque : si vous ne tapez qu'une fois sur la barre d'espace à chaque indentation, le logiciel comprend votre indentation mais la lecture du programme s'en trouve beaucoup plus complexe pour les humains.

Solution

1
Temp=input("Entrer une valeur de température :")
2
print("La température est de : "+Temp+" °C.")
3
Gel=False
4
5
if float(Temp)>0:
6
   Gel = False
7
else :
8
   Gel = True
9
10
if Gel :
11
   print("Attention, il gèle !!")
12
else :
13
   print(" Il ne gèle pas, no soucy !")

Question

Q7 : Déterminer le type de la variable Gel.

Indice

Vous pouvez obtenir la réponse en rajoutant une ligne de programmation pour demander le type de la variable Gel.

Solution

On rajoute la ligne de programmation suivante : print(type(Gel))

On obtient la réponse : <class 'bool'>

Une variable de type bool est une valeur logique booléenne (0 ou 1 ; oui ou non ; vrai ou faux ; true ou false).

Question

Q8 : Expliquer la ligne de code suivante : float(Temp).

Solution

La variable Temp est défini en type float (nombre décimal).

Question

Q9 : Supprimer la ligne de code suivante : float(Temp) et exécuter le programme. Justifier la nécessité de cette ligne de programmation.

Indice

Pour avoir une piste de réflexion, rajouter une ligne de programmation pour demander le type de la variable Temp avant la ligne 5.

Solution

Par défaut, la variable Temp, issue de la fonction input, est de type str (chaîne de caractère).

On ne peut pas comparer une chaîne de caractère au nombre 0 d'où la nécessité de la redéfinir en variable de type float.

On aurait pu aussi la redéfinir en variable de type int en s'assurant que l'on saisisse la température en nombre entier.

Rôle du symbole #

Exercice 3 bis : Modifier le programme de l'exercice 3 comme ci-dessous (insertion du symbole # devant le dernier else) :

1
Temp=input("Entrer une valeur de température :")
2
print("La température est de : "+Temp+" °C.")
3
Gel=False
4
5
if float(Temp)>0:
6
   Gel = False
7
else :
8
   Gel = True
9
10
if Gel :
11
   print("Attention, il gèle !!")
12
#else :
13
   print(" Il ne gèle pas, no soucy !")

Question

Q10 : Exécuter le programme et en déduire le rôle du symbole #.

Indice

Si on saisit une température positive (Gel = False), on obtient rien.

Si on saisit une température négative (Gel = True), on obtient :

Attention, il gèle !!

Il ne gèle pas, no soucy !

Solution

La commande else n'est plus prise en compte.

Le symbole # neutralise la ligne de code.

Il permet d'insérer des commentaires à l'attention des programmeurs (des explications, par exemple).

Rôle des symboles """ """

Exercice 3 ter : Modifier le programme de l'exercice 3 bis comme ci-dessous (insertion de 3 symboles " devant et derrière le dernier bloc de code) :

1
Temp=input("Entrer une valeur de température :")
2
print("La température est de : "+Temp+" °C.")
3
Gel=False
4
5
if float(Temp)>0:
6
   Gel = False
7
else :
8
   Gel = True
9
10
"""if Gel :
11
   print("Attention, il gèle !!")
12
else :
13
   print(" Il ne gèle pas, no soucy !")"""

Question

Q11 : Exécuter le programme et en déduire le rôle des symboles """ """ dans le code.

Indice

Les lignes encadrées par les symboles """ ont changés de couleur.

Solution

La dernier bloc de code n'est plus pris en compte.

Les symboles """ """ neutralisent les lignes de codes qu'ils encadrent.

Ils permettent de neutraliser une partie du programme (qui n'est pas finalisé par exemple).

Bilan : Principaux types de Variables

Avec le langage Python, les variables sont typés dynamiquement (fait par la machine et non par le programmeur).

Pour déclarer une variable, il suffit simplement de donner son nom et de lui affecter une valeur.

Type

Signification

int

nombre entier

float

nombre réel (ou décimaux)

bool

valeur logique (booléen)

str

chaîne de caractère