Technologie · 4e
Variables et conditions : exercices corrigés de 4e
Publié le 12 novembre 2026 · Mis à jour le 12 novembre 2026 · Signaler une erreur
L'essentiel
- Une variable garde une valeur qui peut changer pendant l'exécution du programme ; elle a un nom et un type (mot, nombre ou booléen).13
- L'affectation range une valeur dans une variable.1 Les instructions s'exécutent ligne après ligne, de haut en bas.
- Une condition est un test dont le résultat est vrai ou faux (un booléen) ; selon ce résultat, le programme choisit une action ou une autre.1
- Pour suivre un programme, on note l'état des variables après chaque instruction, dans un tableau de suivi.
- Une variable jamais initialisée n'a pas de valeur définie : on lui donne toujours une valeur de départ.3
Comment utiliser ces exercices
Dans un programme qui pilote un objet technique (un robot, un portail, un volet roulant), une variable sert à retenir une information : une distance mesurée, un score, un état allumé ou éteint. Au programme du cycle 4, on manipule des variables de type mot, nombre et booléen, et on utilise l'instruction d'affectation pour leur donner une valeur.1
Les exercices
Exercice 1 Suivre une affectation
Un programme de robot contient les instructions suivantes :
n = 5
n = n + 3
n = n * 2
Quelle est la valeur de la variable n à la fin du programme ?
Indice 1
Écris la valeur de n après chaque ligne.
Indice 2
À la deuxième ligne, utilise la valeur de n obtenue à la première.
Voir la correction pas à pas
Après
n = 5, la variable n contient 5.Après
n = n + 3, on calcule 5 + 3 = 8 et on range 8 dans n. L'ancienne valeur 5 est effacée.Après
n = n * 2, on calcule 8 × 2 = 16 et on range 16 dans n.À la fin du programme, n vaut 16.
Chaque affectation remplace la valeur précédente : on suit donc la variable ligne après ligne.
Exercice 2 Choisir le type d'une variable
Pour chaque variable d'un système de portail automatique, indique si son type est mot, nombre ou booléen :
nomUtilisateurqui contient « Camille » ;distanceVoiturequi contient 120 (en cm) ;portailOuvertqui contient vrai ou faux ;nombreDePassagesqui contient 37 ;messageAffichequi contient « Bienvenue ».
Indice 1
Un booléen n'a que deux valeurs possibles.
Indice 2
Un mot est un texte, même s'il ne contient qu'un seul caractère.
Voir la correction pas à pas
nomUtilisateurcontient du texte : c'est un mot.distanceVoitureest une mesure sur laquelle on peut calculer : c'est un nombre.portailOuvertne prend que deux valeurs, vrai ou faux : c'est un booléen.nombreDePassagesest un compteur : c'est un nombre.messageAffichecontient du texte : c'est un mot.
Le type dépend de ce que la variable représente et de ce qu'on veut faire avec : calculer (nombre), afficher (mot), tester un état (booléen).1
Exercice 3 Un compteur de points
Un robot de course parcourt un circuit. Au départ, la variable score vaut 0. Chaque fois qu'il passe devant un plot sans le toucher, le programme exécute score = score + 10. Le robot passe devant 4 plots sans les toucher.
Quelle est la valeur de score à l'arrivée ?
Indice 1
Cette instruction est exécutée une fois par plot passé.
Indice 2
Tu peux écrire le score après chaque plot : 10, puis ...
Voir la correction pas à pas
Au départ, score = 0.
Après le 1er plot : 0 + 10 = 10.
Après le 2e plot : 10 + 10 = 20.
Après le 3e plot : 20 + 10 = 30.
Après le 4e plot : 30 + 10 = 40. À l'arrivée, score vaut 40.
Une variable qui augmente à chaque événement s'appelle un compteur ; la valeur de départ (ici 0) est indispensable.
Exercice 4 Une condition simple
Un robot aspirateur utilise une variable distance (en cm) mesurée par son capteur avant. Son programme est :
si distance < 20 alors
vitesse = 0
sinon
vitesse = 30
- Que vaut
vitessesidistancevaut 15 ? - Que vaut
vitessesidistancevaut 20 ? - Que vaut
vitessesidistancevaut 80 ?
Indice 1
Commence par dire si la condition distance < 20 est vraie ou fausse.
Indice 2
Attention au cas où distance vaut exactement 20 : « strictement inférieur » exclut 20.
Voir la correction pas à pas
Pour distance = 15 : la condition 15 < 20 est vraie, donc le programme exécute
vitesse = 0. Le robot s'arrête.Pour distance = 20 : la condition 20 < 20 est fausse (20 n'est pas strictement inférieur à 20), donc le programme exécute la partie « sinon » :
vitesse = 30.Pour distance = 80 : la condition 80 < 20 est fausse, donc
vitesse = 30.
Une condition a pour résultat vrai ou faux, c'est-à-dire une valeur de type booléen.1 Le cas limite (ici 20) se vérifie toujours à part.
Exercice 5 Batterie et recharge
Un robot livreur démarre avec batterie = 100 (en %). Après chaque trajet, le programme exécute batterie = batterie - 15. Puis il teste la condition : si batterie < 30, alors la variable recharge prend la valeur vrai, sinon elle reste à faux (valeur de départ).
Le robot effectue 5 trajets de suite.
- Quelle est la valeur de
batterieaprès les 5 trajets ? - Que vaut
rechargeà la fin ? - Après quel trajet la recharge est-elle demandée pour la première fois ?
Indice 1
Fais un tableau : trajet 1, trajet 2, etc., avec la batterie à chaque ligne.
Indice 2
Le test se fait après chaque trajet.
Voir la correction pas à pas
Trajet 1 : 100 - 15 = 85 ; 85 < 30 est faux.
Trajet 2 : 85 - 15 = 70 ; 70 < 30 est faux.
Trajet 3 : 70 - 15 = 55 ; 55 < 30 est faux.
Trajet 4 : 55 - 15 = 40 ; 40 < 30 est faux.
Trajet 5 : 40 - 15 = 25 ; 25 < 30 est vrai, donc
rechargepasse à vrai.Réponses : après 5 trajets, batterie = 25 (%) ; recharge vaut vrai ; la recharge est demandée dès le 5e trajet.
Ici, la variable batterie est un nombre et recharge un booléen : le résultat du test sert à fixer la valeur du booléen.1
Exercice 6 Échanger deux variables
Deux variables contiennent a = 7 et b = 12. On veut échanger leurs valeurs. Un élève propose :
a = b
b = a
- Que valent a et b après ce programme ?
- Corrige le programme avec une variable intermédiaire
t. - Avec ton programme corrigé, que vaut
bà la fin ?
Indice 1
Après la première ligne, la valeur 7 existe-t-elle encore quelque part ?
Indice 2
Il faut mettre 7 de côté avant de l'écraser.
Voir la correction pas à pas
Après
a = b, a contient 12. L'ancienne valeur 7 est effacée.Après
b = a, b reçoit la valeur actuelle de a, donc 12. Résultat : a = 12 et b = 12. L'échange a échoué.Version corrigée :
t = a(t vaut 7), puisa = b(a vaut 12), puisb = t(b vaut 7).À la fin, a = 12 et b = 7 : la valeur de b est 7.
Une affectation efface l'ancienne valeur. Pour la conserver, on la range d'abord dans une autre variable.
Exercice 7 Volet roulant à deux conditions
Un volet roulant intelligent utilise trois variables : lumiere (nombre, en unités du capteur), presence (booléen, vrai si quelqu'un est dans la pièce) et volet (mot, « ouvert » ou « ferme »). Le programme est :
volet = "ouvert"
si lumiere < 300 et presence = vrai alors
volet = "ferme"
Donne la valeur de volet à la fin dans chaque cas :
- cas A : lumiere = 250, presence = vrai ;
- cas B : lumiere = 250, presence = faux ;
- cas C : lumiere = 800, presence = vrai.
Puis modifie la condition pour que le volet se ferme dès que la lumière est inférieure à 300 ou que quelqu'un est présent. Que devient le résultat du cas C ?
Indice 1
Avec « et », les deux tests doivent être vrais en même temps.
Indice 2
Avec « ou », un seul test vrai suffit.
Voir la correction pas à pas
Au départ, volet = « ouvert ».
Cas A : 250 < 300 est vrai et presence est vrai ; les deux tests sont vrais, donc la condition est vraie et volet = « ferme ».
Cas B : 250 < 300 est vrai mais presence est faux ; avec « et », la condition est fausse, volet reste « ouvert ».
Cas C : 800 < 300 est faux ; la condition est fausse, volet reste « ouvert ».
Avec « ou » :
lumiere < 300 ou presence = vrai. Pour le cas C, 800 < 300 est faux mais presence est vrai : un seul test vrai suffit, donc volet = « ferme ».Le résultat du cas C passe donc de « ouvert » à « ferme ».
Le mot « et » exige que les deux tests soient vrais ; le mot « ou » demande qu'au moins un le soit. Teste toujours un cas où un seul des deux tests est vrai.
Les questions qu'on se pose
Pourquoi faut-il donner une valeur de départ à une variable ?
Si une variable n'a jamais reçu de valeur, son contenu n'est pas défini.3 Le programme risque alors de se comporter de façon imprévisible. Prends l'habitude d'écrire l'affectation de départ (score = 0, portailOuvert = faux) avant d'utiliser la variable.
Comment savoir si une condition est vraie ou fausse ?
Remplace chaque variable par sa valeur du moment, puis fais le test comme en mathématiques. Le résultat est toujours vrai ou faux, donc de type booléen.1 Vérifie en particulier les cas limites : avec distance < 20, la valeur 20 rend la condition fausse, alors qu'avec distance <= 20 elle serait vraie.
Sources
Programme visé : Programme de technologie - Cycle 4 (4e) · education.gouv.fr
- Programme de technologie - Cycle 4 (4e), education.gouv.fr. Consulté le 12 novembre 2026.
- Ressources pédagogiques et didactiques technologie - Guide pédagogique Cycle 4 - Académie de Toulouse, ac-toulouse.fr. Consulté le 12 novembre 2026.
- Variable (mathématiques), Wikipédia. Consulté le 12 novembre 2026.
- Condition aux limites, Wikipédia. Consulté le 12 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.