On peut schématiquement distinguer trois grandes étapes lors de l'exécution d'un programme :
L'entrée : l'utilisateur fournit des données au programme,
le traitement : le programme traite les données fournies par l'utilisateur,
la sortie : le programme communique à l'utilisateur le résultat du traitement.
Lorsque l'utilisateur communique une donnée au programme celui-ci la conserve dans la mémoire de l'ordinateur. Cette zone de stockage est représentée par une variable et possède un nom qui permet de l'identifier.
Dans le programme suivant, la variable nom
sert à conserver le prénom entré par l'utilisateur :
L'instruction raw_input
provoque l'affichage d'une boite de dialogue avec une zone d'entrée. Le texte saisi est envoyé dans la variable nom
.
L'instruction print "text "
affiche text.
print nom
affiche l'information stockée dans la variable nom
, c'est à dire le texte que l'utilisateur a entré.
Dans le programme précédent la variable nom
reçoit et stocke une chaîne de caractères : la variable nom
est du type String. Une variable peut également stocker un nombre, la variable est alors de type Integer noté int pour les nombres entiers ou de type float pour les nombres àvirgule.
Dans le programme suivant nous utilisons des variables de type nombre pour effectuer une division :
Les variables a
et b
reçoivent les nombres 5 et 3 qui par défaut sont de type integer.
La variable division
reçoit le résultat de l'opération a/b
qui restera de type integer. Lors de l'évaluation de l'expression a/b
, le programme utilise les valeurs stockées dans a
et b
et donne le quotient de 5/3
.
Les variables c
et d
reçoivent les nombres 5 et 3 qui sont de type float (on aurait aussi pu écrire c=5.0
).
La variable division
reçoit le résultat de l'opération c/d
qui restera de type float. Lors de l'évaluation de l'expression c/d
, le programme utilise les valeurs stockées dans c
et d
et donne le résultat de 5/3
.
Lorsqu'un utilisateur entre une donnée par l'intermédiaire d'une boite de dialogue (instruction prompt
), cette donnée est toujours du type chaîne de caractères. Lorsque la chaîne de caractères est le texte d'un nombre, il est possible de la convertir dans le type nombre. Exécutez les deux programmes qui suivent et observez les résultats obtenus :
Programme n°1
L'expression a+b
est évaluée alors que a
et b
sont des variables du type chaîne de caractères, l'addition de deux chaînes de caractères ne provoque pas de calcul, mais la juxtaposition des deux chaînes.
Programme n°2
L'expression float(a)
donne (si possible) le nombre représenté par la chaîne de caractères a
, de même float(b)
donne le nombre de la chaîne de caractères b
. Du coup float(a)+float(b)
calcule la somme des deux nombres écrits sous forme de chaînes de caractères dans les variables a
et b
.
Essayez le programme n°2, en entrant des chaînes de caractères qui ne représentent pas des nombres, vous aurez un message d'erreur Not a Number
.
Ecrivez les instructions dans le cadre gris, et cliquez sur le bouton « Exécuter » en bas du cadre.
Si rien ne s'affiche, vous avez certainement fait une erreur de syntaxe.
1. Ecrire un programme qui calcule l'aire et le périmètre d'un rectangle dont on donne les deux dimensions.
2. Ecrire un programme qui échange le contenu de deux variables a
et b
.