À la récréation, vous croisez un groupe d'enfants qui vous proposent de participer à leur jeu. Vous acceptez de bon cœur et voilà votre robot engagé dans une partie de cache-cache !
Ce que doit faire votre programme :
Le robot devra compter jusqu'à 100, c'est à dire afficher les entiers de 1 à 100, un par ligne, et ensuite afficher « J'arrive ! ». Ainsi, s'il ne devait compter que jusqu'à 3 au lieu de 100, votre robot devrait afficher :
1 2 3 J'arrive !
Important : votre programme ne doit pas faire plus d'une quinzaine de lignes.
Modifier une variable
Comme son nom l'indique, une variable a vocation à varier, c'est-à-dire à représenter différentes valeurs. En programmation, il est notamment intéressant de changer la valeur que nous mettons dans nos boîtes. La flèche que nous employons en pseudo-code :
variable <- valeur
signifie que valeur devient le nouveau contenu de variable. On dit qu'on affecte la valeur à la variable.
Une même variable peut se voir affecter différentes valeurs au cours du programme. C'est comme si on prenait une vraie boîte et qu'on y mettait des objets, un seul restant à chaque fois :
boîte <- chaussure boîte <- poupée
Ainsi, considérons un programme qui se sert d'une variable nommée contenance pour représenter la contenance d'une bouteille d'eau d'un litre. Cette bouteille contient initialement 60 cl, puis on la remplit en entier (jusqu'à 100 cl). Cela donne :
contenance <- 60 Afficher "Départ : ", contenance contenance <- 100 Afficher "Remplissage : ", contenance
Maintenant, supposons que l'on boive 15 cl d'eau. Comment calculer la nouvelle contenance ? Il s'agit de la soustraction « contenance − 15 ». On l'affecte donc à la variable :
contenance <- contenance - 15 Afficher "Consommation : ", contenance
En Python, c'est l'opérateur =
qui symbolise l'affectation, plutôt que la flèche.
Voici donc le programme final :
contenance = 60 print("Départ :", contenance) contenance = 100 print("Remplissage :", contenance) contenance = contenance - 15 print("Consommation :", contenance)
Départ : 60 Remplissage : 100 Consommation : 85
L'utilisation du symbole d'égalité peut vous paraître particulière. En effet, en mathématiques, l'égalité énonce un fait. Ainsi, dans un contexte donné, x = y − z signifie qu'il est vrai que x a la même valeur que y − z.
L'affectation contenance = contenance - 15
en revanche, décrit une action :
l'enregistrement de la valeur placée à droite du =
dans la variable indiquée à gauche.
Le contenu de la variable contenance changera donc la prochaine fois que l'on affectera une valeur à la variable.
Observez aussi les instructions d'affichage :
print("Départ :", contenance)
Avec une seule instruction print
, on peut afficher plusieurs données sur une ligne
en les séparant par des virgules. Il y a alors une espace entre chaque donnée et la suivante
(on n'a donc pas mis d'espace à la fin du texte).
L'exécution du programme est détaillée ci-dessous, la ligne rouge indiquant à quel endroit on est arrivé.
Début du programme. La variable contenance n'existe pas encore. | ||||
Exécution de l'initialisation. La variable contenance est créée, initialisée avec la valeur 60. |
|
|||
On affiche un message avec le contenu actuel de la variable contenance. |
↳
Départ : 60 |
|||
On affecte la valeur 100 à la variable contenance. |
↳
Départ : 60 |
|||
On affiche la nouvelle valeur de la variable. |
↳
Départ : 60 Remplissage : 100 |
|||
On récupère la contenance actuelle, on y retire 15, et on retient le résultat (85) dans la variable. |
↳
Départ : 60 Remplissage : 100 |
|||
On affiche un dernier message. |
↳
Départ : 60 Remplissage : 100 Consommation : 85 |
Vous devez être connecté(e) pour résoudre ce problème.
L'inscription ne prendra qu'une minute et vous pourrez alors résoudre les exercices puis faire valider automatiquement vos solutions.
Une fois identifié(e), vous pourrez demander sur cette page des conseils pour résoudre le sujet ou demander de l'aide sur le forum d'entraide.
Lorsque vous serez connecté(e), vous pourrez voir vos actions ici.
Une correction détaillée sera disponible lorsque vous aurez résolu le sujet.