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 :
Temp \(\longleftarrow\)15
Temp \(\longleftarrow\) Temp + 1
Temp \(\longleftarrow\) Temp + 18
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
Temp = 15
Temp = Temp + 1
Temp = Temp + 18
Temp = Temp - 10
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.
Temp = 15
Temp = Temp + 1
Temp = Temp + 18
Temp = Temp - 10
print(type(Temp))
print(Temp)
Temp = Temp + 0.0
print(type(Temp))
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 :
MoyenneGroupe1 \(\longleftarrow\) 14
MoyenneGroupe2 \(\longleftarrow\) 13.6
MoyenneClasse \(\longleftarrow\) MoyenneGroupe1 + MoyenneGroupe2
MoyenneClasse \(\longleftarrow\) MoyenneClasse / 2
lycee \(\longleftarrow\) " Turgot "
classe \(\longleftarrow\) " première SI "
texte \(\longleftarrow\) "Les élèves de " + classe + " du lycée " + lycee + " ont une moyenne de :"
afficher(type(texte))
afficher(texte)
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
MoyenneGroupe1 = 14
MoyenneGroupe2 = 13.6
MoyenneClasse = MoyenneGroupe1 + MoyenneGroupe2
MoyenneClasse = MoyenneClasse / 2
lycee = " Turgot "
classe = " première SI "
texte = "Les élèves de " + classe + " du lycée " + lycee + " ont une moyenne de "
print(type(texte))
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é)
Temp=input("Entrer une valeur de température :")
print("La température est de : "+Temp+" °C.")
if float(Temp)>0:
Gel = False
else :
Gel = True
if Gel :
print("Attention, il gèle !!")
else :
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
Temp=input("Entrer une valeur de température :")
print("La température est de : "+Temp+" °C.")
Gel=False
if float(Temp)>0:
Gel = False
else :
Gel = True
if Gel :
print("Attention, il gèle !!")
else :
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) :
Temp=input("Entrer une valeur de température :")
print("La température est de : "+Temp+" °C.")
Gel=False
if float(Temp)>0:
Gel = False
else :
Gel = True
if Gel :
print("Attention, il gèle !!")
#else :
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) :
Temp=input("Entrer une valeur de température :")
print("La température est de : "+Temp+" °C.")
Gel=False
if float(Temp)>0:
Gel = False
else :
Gel = True
"""if Gel :
print("Attention, il gèle !!")
else :
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 |