Variables, boucles et conditions
🔴 ExpertLes énoncés sont gratuits, et les 2 premiers corrigés sont offerts. Les autres suivent l'accès à la famille « Algorithmique et Python ».
- 1
Explique la différence de comportement entre une suite de « si » indépendants et une suite de « sinon si », à l'aide d'un exemple.
Voir le corrigéoffert
Avec des « si » indépendants, chaque test est évalué, même si un précédent a déjà réussi : plusieurs blocs peuvent donc s'exécuter.
Avec des « sinon si », le parcours s'arrête au premier test réussi : un seul bloc s'exécute.
Prenons une note de 15, avec deux tests : supérieure ou égale à 10, puis supérieure ou égale à 8. Écrits en « si » indépendants, les deux réussissent, et le programme affiche « admis » puis « rattrapage ».
Écrits en « sinon si », seul le premier s'exécute. C'est presque toujours ce que l'on veut quand les cas s'excluent. - 2
Écris un programme qui détermine le plus petit entier n tel que 2 élevé à la puissance n dépasse 1000, puis déroule-le.
Voir le corrigéoffert
On ne connaît pas le nombre de tours à l'avance : il faut une boucle « tant que ».
On pose n = 0 et p = 1, puis tant que p est inférieur ou égal à 1000, on fait p = p * 2 et n = n + 1.
On déroule : p prend les valeurs 2, 4, 8, et ainsi de suite jusqu'à 512 avec , puis 1024 avec . Le test est faux, on sort.
La réponse est , puisque dépasse 1000 alors que ne le dépasse pas. - 3
Explique ce qu'est une variable booléenne servant de drapeau, et donne un exemple d'utilisation.
🔒 Corrigé réservé aux abonnésS'abonner → - 4
Un programme doit afficher les entiers de 1 à 10 inclus. Un élève écrit : pour i dans range(1, 10). Explique l'erreur et donne deux corrections possibles.
🔒 Corrigé réservé aux abonnésS'abonner → - 5
Compare le nombre d'opérations effectuées par une boucle simple de 100 tours et par deux boucles imbriquées de 100 tours chacune.
🔒 Corrigé réservé aux abonnésS'abonner → - 6
Démontre que la boucle suivante se termine : n = 100, puis tant que n est strictement supérieur à 1, n = n // 2, où le symbole représente la division entière.
🔒 Corrigé réservé aux abonnésS'abonner → - 7
Explique pourquoi il faut tester un programme sur des cas limites, et donne trois exemples de tels cas.
🔒 Corrigé réservé aux abonnésS'abonner → - 8
On exécute : a = 5, b = 0, puis si b est différent de 0 et a divisé par b est supérieur à 2, afficher « grand ». Explique pourquoi ce programme ne provoque pas d'erreur.
🔒 Corrigé réservé aux abonnésS'abonner → - 9
Explique comment repérer, dans un programme, une condition qui est toujours vraie ou toujours fausse, et pourquoi c'est un défaut.
🔒 Corrigé réservé aux abonnésS'abonner → - 10
Explique pourquoi l'initialisation d'un accumulateur doit se faire avant la boucle, et décris ce qui se passe si elle est placée à l'intérieur.
🔒 Corrigé réservé aux abonnésS'abonner →
Comment ça s'est passé ?
Retrouve tout dans Mon suivi.
