Variables, affectations et fonctions · Choisir avec une condition · Répéter un nombre connu de fois. Exemples guidés, exercices progressifs et problème corrigé.
Ce petit quiz t’aide à partir avec les bons outils. Une base mal comprise peut rendre la suite plus difficile, même si tu travailles sérieusement.
Ce n’est pas une note : en cas d’erreur, tu sauras précisément quoi revoir avant d’avancer.
Tu peux revoir les explications ci-dessus, puis ouvrir le chapitre à ton rythme.
Avant de commencer5 questions pour vérifier tes bases
Pourquoi ce chapitre ?
Un programme répète une démarche que tu sais expliquer. Les variables et les boucles deviennent utiles pour suivre un stock et trouver un seuil. Ton parcours. Module du programme professionnel pour les groupements A, B, C. Les automatismes, le raisonnement et les outils numériques se travaillent tout au long du parcours.
Variables, affectations et fonctions.
Choisir avec une condition.
Répéter un nombre connu de fois.
Répéter jusqu’à un objectif.
Listes, données et contrôles numériques.
Construire et recopier une formule de tableur.
L’idée avant la formule
Joue d’abord le rôle de l’ordinateur sur trois tours. Une affectation remplace une valeur ; la trace rend les mises à jour visibles.
Le cours formel
Variables, affectations et fonctions
Choisir avec une condition
Répéter un nombre connu de fois
Répéter jusqu’à un objectif
Listes, données et contrôles numériques
Construire et recopier une formule de tableur
Boîte à outils
Exercices progressifs
Les exercices 1 à 6 consolident les bases ; 7 à 12 demandent plusieurs étapes ; 13 à 18 t’invitent à choisir, justifier et contrôler. Cherche avant de consulter les indices.
Exercice 1 : Suivre une affectation ★☆☆
Après x = 4, y = x + 3, puis x = 10, quelles sont les valeurs finales ?
Exercice 2 : Inclure une borne ★☆☆
Quel test Python traduit \(3\le x<8\) ?
Exercice 3 : Les bornes de range ★☆☆
Quels entiers parcourt range(2, 6) ? Combien y en a-t-il ?
Exercice 4 : Zéro passage ★☆☆
On initialise x = 12, puis exécute while x < 10: x = x + 1. Quelle est la valeur finale ?
Exercice 5 : Lire un indice ★☆☆
Pour L = [12, 8, 15, 10], que valent L[2] et len(L) ?
Exercice 6 : Un montant calculé ★☆☆
A2 contient une quantité de 4 et B2 un prix unitaire de 12 euros. Quelle formule écrire en C2 pour calculer le montant ? Que devient ce montant si A2 passe à 5 ?
Exercice 7 : Coder une formule ★★☆
Écris une fonction Python qui renvoie \(2x^2-5x+1\), puis donne sa valeur en 3.
Exercice 8 : Le cas frontière ★★☆
Un code renvoie « accepté » si x > 10, sinon « refusé ». Que renvoie-t-il pour 10 et comment inclure 10 ?
Exercice 9 : Un accumulateur ★★☆
On initialise s = 0 puis on ajoute 2*k pour k dans range(1, 4). Quelle valeur finale obtient-on ?
Exercice 10 : Compter les passages ★★☆
On part de \(x=3\) et on ajoute 4 tant que \(x<15\). Combien de passages ont lieu et quelle est la valeur finale ?
Exercice 11 : Une moyenne dans une liste ★★☆
Calcule le résultat de sum(L)/len(L) pour L = [6, 10, 14].
Exercice 12 : Recopier avec un taux fixe ★★☆
B2 contient 80 euros et D2 contient un taux de TVA de 20 %. On veut recopier vers le bas une formule en C2 calculant le montant TTC. Écris la formule et sa version après recopie en C3.
Exercice 13 : Afficher ou renvoyer ★★★
Une fonction contient seulement print(2*x). Pourquoi ne peut-on pas utiliser directement son résultat comme un nombre dans un autre calcul ?
Exercice 14 : L’ordre des tests ★★★
Un code teste d’abord note >= 10 puis, dans elif, note >= 16. Pourquoi la seconde branche ne s’exécute-t-elle jamais ?
Exercice 15 : Un produit mal initialisé ★★★
Un programme veut calculer \(1\times2\times3\times4\) mais commence par p = 0. Explique l’erreur et corrige-la.
Exercice 16 : Une mise à jour dans le mauvais sens ★★★
Un code commence avec \(x=5\) et répète \(x=x-1\) tant que \(x<10\). Pourquoi est-il incorrect pour atteindre 10 ?
Exercice 17 : Garder les couples ★★★
On a les abscisses [1, 2, 3] et les ordonnées associées [30, 10, 20]. Pourquoi trier seulement les ordonnées est-il une erreur ?
Exercice 18 : Tester un seuil et totaliser ★★★
C2:C5 contient les montants 12, 18, 25 et 15 euros. Calcule le total avec une formule. Une cellule F2 doit afficher « gratuit » si ce total est au moins égal à 70, sinon « payant ». Propose la formule et contrôle le cas frontière.
Problème : Pour aller plus loin
Suivre une réserve de matériel
Une réserve commence à 30, gagne 8 unités par jour et doit atteindre au moins 120.
Nomme les variables et leurs valeurs initiales.
Écris une fonction Python renvoyant le jour et la réserve atteinte.
Fais la trace de trois tours puis calcule le résultat final.
Explique la condition de boucle et le risque d’un ajout nul.
Propose un tableur à deux colonnes et explique comment mémoriser les réserves dans une liste.
Corrigés détaillés
Corrigé 1
Corrigé 2
Corrigé 3
Corrigé 4
Corrigé 5
Corrigé 6
Corrigé 7
Corrigé 8
Corrigé 9
Corrigé 10
Corrigé 11
Corrigé 12
Corrigé 13
Corrigé 14
Corrigé 15
Corrigé 16
Corrigé 17
Corrigé 18
Corrigé du problème
Comprendre la question. Les variables doivent distinguer le temps écoulé, la quantité actuelle et les paramètres.
Construire la réponse.
Au départ, aucun jour n’est écoulé : jour vaut 0. La réserve initiale vaut 30.
L’ajout quotidien 8 et l’objectif 120 sont deux paramètres fixes : ils ne doivent pas être modifiés dans la boucle.
Après chaque tour, jour compte les jours terminés et reserve contient la quantité disponible à ce moment.
Vérifier. Cette convention associe bien le rang zéro à la réserve de départ ; elle évite un décalage d’un jour.
Comprendre la question. La boucle doit continuer tant que la réserve n’a pas encore atteint le seuil.
Construire la réponse.
def seuil(depart, ajout, objectif):
if ajout <= 0 and depart < objectif:
raise ValueError("Seuil inaccessible")
jour, reserve = 0, depart
while reserve < objectif:
reserve += ajout
jour += 1
return jour, reserve
Le contrôle initial rejette un ajout nul ou négatif lorsque le départ ne suffit pas : le seuil ne pourrait jamais être atteint.
La condition while est strictement inférieure au seuil. À chaque tour, on ajoute la quantité quotidienne puis on augmente le jour de 1.
Le return est placé après la boucle : la fonction renvoie le premier jour où la condition devient fausse et la réserve correspondante.
Vérifier. Si la réserve initiale suffit, la boucle effectue zéro tour et renvoie le jour zéro. Le compteur avance une seule fois par ajout.
Conclure. L’appel avec les paramètres (30, 8, 120) calcule le premier jour où la réserve vaut au moins 120.
Comprendre la question. Une trace manuelle vérifie le programme, puis la formule de suite contrôle le résultat final.
Construire la réponse.
Après les jours 1, 2 et 3, les réserves valent 38, 46 et 54.
Après n jours, \(u_n=30+8n\). La condition \(u_n\ge120\) donne \(n\ge(120-30)/8=11{,}25\).
Le plus petit entier adapté est 12. La réserve vaut alors 126.
Vérifier. La veille, au jour 11, elle vaut 118, encore inférieure à 120. Le jour 12 respecte le seuil.
Conclure. La fonction renvoie le jour 12 et une réserve de 126.
Comprendre la question. La condition de continuation est le contraire de l’objectif d’arrêt.
Construire la réponse.
Atteindre au moins 120 signifie reserve supérieure ou égale au seuil. On continue donc tant que reserve est strictement inférieure.
Si l’on utilisait une condition inférieure ou égale, une égalité exacte provoquerait un tour supplémentaire inutile.
Avec un ajout nul et un départ insuffisant, reserve ne changerait jamais : la condition resterait vraie indéfiniment. Un ajout négatif éloignerait également du seuil.
Vérifier. Le test placé avant la boucle couvre ces cas inaccessibles. Il ne rejette pas un départ déjà suffisant, qui ne nécessite aucune progression.
Conclure. La condition stricte permet le bon arrêt ; le contrôle d’accessibilité évite une boucle sans fin.
Comprendre la question. Le tableur et la liste conservent l’historique au lieu de ne garder que la dernière valeur.
Construire la réponse.
En tableur, A2 contient 0 et B2 contient 30. A3 reçoit =A2+1 et B3 =B2+8, puis on recopie vers le bas.
Chaque formule utilise la ligne précédente : les références doivent donc rester relatives.
En Python, on initialise historique = [depart]. Après chaque mise à jour de la réserve, on exécute historique.append(reserve).
La valeur au rang n de la liste correspond alors à la réserve après n jours ; le départ occupe déjà le premier élément, d’indice zéro.
Vérifier. Au dernier jour 12, la liste contient 13 valeurs, car elle inclut aussi le jour zéro.
Conclure. Les deux outils rendent visibles le départ, chaque progression et le premier franchissement.
Variante autonome et bilan
Une réserve de 90 perd 7 unités par jour. Adapte la boucle pour trouver quand elle est au plus égale à 40.
Je peux expliquer : variables, affectations et fonctions.
Je peux expliquer : choisir avec une condition.
Je peux expliquer : répéter un nombre connu de fois.
Je peux expliquer : répéter jusqu’à un objectif.
Je peux expliquer : listes, données et contrôles numériques.
Je peux expliquer : construire et recopier une formule de tableur.
Fiche-mémoire
Variables, affectations et fonctions.
Définis les entrées, leur unité et la sortie attendue. Pour une formule de coût, indique si les frais fixes sont toujours facturés.
Écris les opérations avec les symboles de Python : * pour multiplier, ** pour une puissance, un point pour un nombre décimal.
Exécute les instructions dans l’ordre. Après chaque affectation, recopie les valeurs inchangées dans une table de trace.
Pour une fonction, distingue sa définition et son appel. Vérifie que return fournit bien la valeur dont le reste du programme a besoin.
Teste une entrée simple à la main et une valeur frontière, comme zéro si cette valeur appartient au domaine.
Choisir avec une condition.
Traduis la règle en français et repère les mots « au moins », « strictement », « entre », « et » et « ou ».
Écris une condition vraie exactement pour les cas souhaités ; vérifie chaque borne séparément.
Classe les branches de manière à ce que les premiers tests ne capturent pas à tort les cas des branches suivantes.
Teste une valeur dans chaque branche et chaque valeur frontière. Explique le chemin suivi avant d’observer la sortie.
Répéter un nombre connu de fois.
Écris la liste des valeurs produites par range sur un petit cas. Vérifie le début et la borne exclue.
Définis le rôle de chaque variable : indice, compteur ou résultat accumulé.
Initialise avant la boucle : zéro pour une somme, un pour un produit. Justifie ce choix par l’opération répétée.
À chaque tour, calcule le membre droit avec les valeurs actuelles puis range le nouveau résultat.
Compare la trace à un calcul manuel et contrôle ce qui est placé après la boucle.
Répéter jusqu’à un objectif.
Écris la condition d’arrêt en français, puis sa négation pour obtenir la condition du while.
Fixe l’état initial et vérifie si le test est déjà faux. Si oui, explique pourquoi zéro passage est correct.
Identifie la mise à jour de toutes les variables nécessaires, y compris le compteur de passages.
Fais une trace contenant l’état initial, chaque modification et le premier test faux.
Pour un premier rang, contrôle le rang retenu et son prédécesseur. Explique la terminaison.
Listes, données et contrôles numériques.
Nomme les données et précise leur ordre. Si deux colonnes vont ensemble, conserve leur association.
Compte les éléments pour connaître la longueur, puis numérote leurs indices à partir de zéro.
Pour construire une liste, initialise-la avant la boucle et ajoute les résultats au fur et à mesure.
Pour une moyenne, calcule séparément somme et effectif et vérifie que l’effectif est strictement positif.
Contrôle une première valeur, une dernière valeur et la longueur totale avant d’interpréter le résultat.
Construire et recopier une formule de tableur.
Donne une signification et une unité à chaque colonne. Vérifie que les données d’une ligne concernent le même article ou la même observation.
Écris le calcul en mots, puis remplace les nombres par leurs adresses de cellules. Commence la formule par =.
Pour chaque référence, décide si elle doit se déplacer à la recopie. Bloque un paramètre fixe avec les signes dollar nécessaires.
Contrôle la formule de la première ligne, puis celle de la deuxième après recopie. Ne te contente pas d’un résultat numérique plausible.
Pour une fonction SI, teste un cas vrai, un cas faux et l’égalité à la frontière. Pour une somme, vérifie que la plage comprend toutes les lignes utiles.
Maîtrise du chapitre
Validation contrôlée
Réponds aux QCM, sélectionne les bonnes propositions ou remets les étapes dans l'ordre. Le site vérifie chaque réponse avant d'ouvrir la balise suivante.