QCM : Boucles et algorithmes itératifs — 11 questions

Questions et réponses du QCM

1. Que fait une boucle « Répéter 4 fois » lorsqu’elle contient un bloc d’instructions ?

Elle exécute le bloc selon la position du robot
Elle exécute le bloc quatre fois par variable
Elle exécute le bloc jusqu’à une condition fausse
Elle exécute le bloc quatre fois

Elle exécute le bloc quatre fois

Explication

La boucle « Répéter 4 fois » fixe à quatre le nombre d’exécutions du bloc. Une boucle « tant que » fonctionnerait selon l’évolution d’une condition, et non selon un nombre prédéfini.

2. Un robot commence en bas à gauche de l’échiquier. Que produit une commande « droite » ?

Une répétition du déplacement jusqu’au bord
Un déplacement de plusieurs cases vers la droite
Un déplacement d’une case vers le haut
Un déplacement d’une case vers la droite

Un déplacement d’une case vers la droite

Explication

Les commandes haut, bas, droite et gauche déplacent chacune le robot d’une case dans la direction indiquée. Un déplacement de plusieurs cases nécessite plusieurs commandes ou une répétition.

3. Dans quel cas une boucle « tant que » continue-t-elle son exécution ?

Lorsque le programme atteint sa valeur finale
Lorsque sa condition reste réalisée
Lorsque son bloc contient plusieurs instructions
Lorsque la variable conserve sa valeur initiale

Lorsque sa condition reste réalisée

Explication

Une boucle « tant que » poursuit ses itérations aussi longtemps que la condition portant sur une ou plusieurs variables est réalisée. La présence de plusieurs instructions dans le bloc ne suffit pas à déterminer sa poursuite.

4. Une boucle continue tant que les conditions x>0x > 0 et y<5y < 5 sont réalisées. Dans quelle situation poursuit-elle son exécution ?

Quand x=0x = 0 et y=5y = 5 sont vraies
Quand x>0x > 0 ou y<5y < 5 est vraie
Quand x>0x > 0 et y<5y < 5 sont vraies
Quand x>0x > 0 et y>5y > 5 sont vraies

Quand $$x > 0$$ et $$y < 5$$ sont vraies

Explication

Avec le connecteur « et », chaque condition doit être satisfaite pour que la boucle continue. Le connecteur « ou » autoriserait une seule condition vraie, ce qui correspond à une règle différente.

5. Que devient l’ancienne valeur d’une variable lorsqu’elle reçoit une nouvelle valeur pendant une itération ?

Elle est transférée à la condition de la boucle
Elle reste mémorisée avec la nouvelle valeur
Elle est additionnée automatiquement à la nouvelle valeur
Elle est remplacée et n’est plus utilisée ensuite

Elle est remplacée et n’est plus utilisée ensuite

Explication

Lorsqu’une variable change de valeur, son ancienne valeur est oubliée pour la suite de l’algorithme. La nouvelle valeur devient alors celle qui intervient dans les étapes suivantes.

6. Quelle situation provoque une boucle infinie ?

Une variable change de valeur à chaque étape
Le bloc contient plusieurs instructions différentes
La condition reste vraie à chaque itération
La condition devient fausse après une itération

La condition reste vraie à chaque itération

Explication

Une boucle est infinie lorsque l’évolution de ses variables ne peut jamais rendre sa condition fausse. Le simple fait qu’une variable change ne suffit pas à arrêter la boucle.

7. Quelle méthode permet d’analyser correctement un programme itératif ?

Tester la condition finale, puis appliquer les instructions dans un ordre choisi
Compter les instructions du programme sans relever les valeurs des variables
Relever l’état initial, suivre chaque instruction, tester la condition, puis lire l’état final
Lire la valeur finale, puis déduire l’état initial sans suivre les étapes

Relever l’état initial, suivre chaque instruction, tester la condition, puis lire l’état final

Explication

L’analyse consiste à partir de la valeur initiale, à appliquer les instructions dans l’ordre à chaque étape, à tester la condition obtenue et à relever la valeur finale. Lire directement le résultat ne permet pas de vérifier le déroulement des itérations.

8. Pour rechercher les entiers naturels vérifiant 2n<10 0002^n < 10\,000, quelle démarche convient ?

Augmenter nn de 1 tant que l’inégalité stricte reste vraie
Arrêter dès que 2n2^n devient inférieur ou égal à 10 00010\,000
Diminuer nn de 1 dès que 2n2^n devient supérieur à 10 00010\,000
Augmenter nn de 1 tant que 2n≤10 0002^n \leq 10\,000 reste vraie

Augmenter $$n$$ de 1 tant que l’inégalité stricte reste vraie

Explication

Il faut augmenter progressivement nn tant que 2n<10 0002^n < 10\,000, car la condition utilise une inégalité stricte. Remplacer cette condition par ≤\leq inclurait un cas qui n’appartient pas nécessairement à l’ensemble recherché.

9. Quelle transformation la suite de Syracuse applique-t-elle à un entier NN lorsqu’il est impair ?

Elle remplace NN par N/2N/2.
Elle remplace NN par N−1N-1.
Elle remplace NN par 2N+32N+3.
Elle remplace NN par 3N+13N+1.

Elle remplace $$N$$ par $$3N+1$$.

Explication

Lorsqu’un entier NN est impair, la règle de Syracuse calcule 3N+13N+1. La division par 22 correspond au cas où NN est pair, tandis que les autres transformations ne font pas partie de cette suite.

10. Pour arrêter un algorithme de Syracuse dès qu’il atteint la valeur 11, quelle condition faut-il utiliser dans une boucle ?

Continuer tant que NN est pair.
Continuer tant que N=1N=1.
Continuer tant que N>1N>1.
Continuer tant que N≠1N\neq1.

Continuer tant que $$N\neq1$$.

Explication

La condition N≠1N\neq1 permet de poursuivre les calculs jusqu’à l’arrivée à 11, puis d’arrêter la boucle. Sans cette condition d’arrêt, l’algorithme peut poursuivre le cycle 4,2,14,2,1 au lieu de terminer.

11. Que soutient la conjecture de Syracuse concernant une valeur naturelle initiale de NN ?

La suite atteint 00 après avoir appliqué les deux transformations.
La suite atteint une valeur maximale, puis devient strictement décroissante.
La suite finit par atteindre 11, mais cette affirmation reste non démontrée.
La suite revient à sa valeur initiale après un nombre fini d’étapes.

La suite finit par atteindre $$1$$, mais cette affirmation reste non démontrée.

Explication

La conjecture affirme que toute valeur naturelle initiale conduit finalement à 11, mais cette hypothèse n’a pas encore été démontrée. Le retour à la valeur initiale ou l’atteinte de 00 ne constituent pas l’affirmation de cette conjecture.

Révisez avec les flashcards

Mémorisez les réponses avec 14 flashcards sur Boucles et algorithmes itératifs.

Que fait une boucle « Répéter k fois » en programmation ?

Elle exécute exactement k fois le bloc d’instructions qui suit.

Quelle commande déplace le robot d’une case vers le haut sur l’échiquier ?

La commande haut déplace le robot d’une case vers le haut.

Où commence le robot sur l’échiquier ?

Le robot commence en bas à gauche.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Boucles et algorithmes itératifs.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM