QCM : Bases des algorithmes

[enonce]
Ce QCM porte sur les bases des algorithmes : définition, variables et programmes de calcul. Pour chaque question, choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
Qu'est-ce qu'un algorithme ?
[qcm]
[option]Un logiciel de programmation[/option]
[option]Un programme écrit obligatoirement en Python ou en Scratch[/option]
[option correct="true"]Une suite finie d'instructions exécutées dans un ordre précis pour résoudre un problème[/option]
[option]Un calcul mathématique unique[/option]
[reponse statut="correct"]Exact !
Un algorithme est une méthode systématique composée d'étapes bien définies, exécutées les unes après les autres, pour résoudre un problème.[/reponse]
[reponse motif="Un logiciel de programmation"]Non.
Un algorithme n'est pas un logiciel. C'est une méthode de résolution, qui peut être décrite en français, en pseudo-code ou dans un langage de programmation.[/reponse]
[reponse motif="Un programme écrit obligatoirement en Python ou en Scratch"]Non.
Un algorithme peut être décrit en français (en langage naturel) sans aucun langage de programmation. Le traduire en Scratch ou en Python est une étape supplémentaire, pas une obligation.[/reponse]
[reponse motif="Un calcul mathématique unique"]Non.
Un algorithme n'est pas un simple calcul : c'est une suite d'instructions (il peut y en avoir plusieurs) qui décrit une méthode complète pour résoudre un problème.[/reponse]
[reponse statut="incorrect"]Non.
Un algorithme est une suite finie d'instructions, exécutées dans un ordre précis, qui permet de résoudre un problème.[/reponse]
[/qcm]
[/etape]

[etape]
Dans un algorithme, une variable $x$ contient la valeur $5$.
On exécute l'instruction : « mettre $x$ à $8$ ».

Quelle est la valeur de $x$ après cette instruction ?
[qcm]
[option]$5$[/option]
[option correct="true"]$8$[/option]
[option]$13$[/option]
[option]$40$[/option]
[reponse statut="correct"]Bonne réponse !
L'instruction « mettre $x$ à $8$ » remplace l'ancienne valeur par $8$. La valeur $5$ est effacée.[/reponse]
[reponse motif="$5$"]Non.
L'instruction « mettre à » remplace l'ancienne valeur. Après « mettre $x$ à $8$ », la variable $x$ ne contient plus $5$.[/reponse]
[reponse motif="$13$"]Non.
Attention, « mettre $x$ à $8$ » ne signifie pas « ajouter $8$ à $x$ ». Cette instruction remplace la valeur actuelle par $8$, elle n'ajoute rien.[/reponse]
[reponse motif="$40$"]Non.
Il ne faut pas confondre « mettre à » avec une multiplication. L'instruction « mettre $x$ à $8$ » remplace simplement la valeur par $8$.[/reponse]
[reponse statut="incorrect"]Non.
L'instruction « mettre $x$ à $8$ » remplace la valeur actuelle de $x$ par $8$, quelle que soit l'ancienne valeur.[/reponse]
[/qcm]
[/etape]

[etape]
On exécute les deux instructions suivantes :

  • Mettre $\text{score}$ à $8$
  • Ajouter $5$ à $\text{score}$

Quelle est la valeur de $\text{score}$ à la fin ?
[qcm]
[option]$5$[/option]
[option]$8$[/option]
[option correct="true"]$13$[/option]
[option]$40$[/option]
[reponse statut="correct"]C'est bien ça !
On donne d'abord la valeur $8$ à $\text{score}$, puis on ajoute $5$ : on obtient $8 + 5 = 13$.[/reponse]
[reponse motif="$5$"]Non.
La première instruction donne la valeur $8$, puis la seconde ajoute $5$. Le résultat n'est pas uniquement la valeur ajoutée.[/reponse]
[reponse motif="$8$"]Non.
La première instruction donne bien la valeur $8$, mais la seconde ajoute $5$ à cette valeur. Il faut tenir compte des deux instructions.[/reponse]
[reponse motif="$40$"]Non.
L'instruction « ajouter $5$ » effectue une addition, pas une multiplication. Il faut calculer $8 + 5$.[/reponse]
[reponse statut="incorrect"]Non.
On exécute les instructions dans l'ordre : $\text{score} = 8$, puis $\text{score} = 8 + 5 = 13$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme de calcul suivant :

  • Choisir le nombre $5$
  • Multiplier par $3$
  • Ajouter $2$

Quel est le résultat ?
[qcm]
[option]$15$[/option]
[option correct="true"]$17$[/option]
[option]$21$[/option]
[option]$11$[/option]
[reponse statut="correct"]Bravo !
On suit les instructions dans l'ordre : $5 \times 3 = 15$, puis $15 + 2 = 17$.[/reponse]
[reponse motif="$15$"]Non.
Le calcul $5 \times 3 = 15$ est correct, mais il reste une étape : il faut encore ajouter $2$ au résultat.[/reponse]
[reponse motif="$21$"]Non.
Attention à l'ordre des opérations. Il faut d'abord multiplier $5 \times 3 = 15$, puis ajouter $2$. Le calcul $(5 + 2) \times 3 = 21$ ne respecte pas l'ordre des instructions.[/reponse]
[reponse motif="$11$"]Non.
Attention, la première opération est une multiplication, pas une addition. Il faut calculer $5 \times 3$ puis ajouter $2$.[/reponse]
[reponse statut="incorrect"]Non.
En suivant l'ordre : $5 \times 3 = 15$, puis $15 + 2 = 17$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme de calcul suivant :

  • Choisir le nombre $10$
  • Soustraire $4$
  • Multiplier par $3$

Quel est le résultat ?
[qcm]
[option correct="true"]$18$[/option]
[option]$26$[/option]
[option]$6$[/option]
[option]$42$[/option]
[reponse statut="correct"]Exactement !
On suit les instructions dans l'ordre : $10 - 4 = 6$, puis $6 \times 3 = 18$.[/reponse]
[reponse motif="$26$"]Non.
Attention à l'ordre des instructions. Il faut d'abord soustraire $4$, puis multiplier par $3$. Le calcul $10 \times 3 - 4 = 26$ inverse les deux opérations.[/reponse]
[reponse motif="$6$"]Non.
Le calcul $10 - 4 = 6$ est correct, mais ce n'est pas le résultat final. Il reste une étape : multiplier par $3$.[/reponse]
[reponse motif="$42$"]Non.
La première opération est « soustraire $4$ », pas « ajouter $4$ ». Le calcul $(10 + 4) \times 3 = 42$ confond les deux opérations.[/reponse]
[reponse statut="incorrect"]Non.
En suivant l'ordre des instructions : $10 - 4 = 6$, puis $6 \times 3 = 18$.[/reponse]
[/qcm]
[/etape]

[etape]
On exécute les instructions suivantes :

  • Mettre $n$ à $0$
  • Ajouter $4$ à $n$
  • Ajouter $4$ à $n$
  • Ajouter $4$ à $n$

Quelle est la valeur de $n$ à la fin ?
[qcm]
[option]$4$[/option]
[option]$8$[/option]
[option correct="true"]$12$[/option]
[option]$64$[/option]
[reponse statut="correct"]Tu as raison !
On part de $n = 0$ et on ajoute $4$ trois fois : $0 + 4 + 4 + 4 = 12$.[/reponse]
[reponse motif="$4$"]Non.
L'instruction « ajouter $4$ » est exécutée trois fois, pas une seule. Chaque instruction s'applique au résultat de la précédente.[/reponse]
[reponse motif="$8$"]Non.
Il y a trois instructions « ajouter $4$ », pas deux. Chaque ajout se fait sur la valeur courante de $n$ : $0 + 4 = 4$, puis $4 + 4 = 8$, puis $8 + 4 = 12$.[/reponse]
[reponse motif="$64$"]Non.
Chaque instruction ajoute $4$ (addition), ce n'est pas une multiplication. Il faut calculer $0 + 4 + 4 + 4$.[/reponse]
[reponse statut="incorrect"]Non.
On exécute chaque instruction dans l'ordre : $n = 0$, puis $n = 4$, puis $n = 8$, puis $n = 12$.[/reponse]
[/qcm]
[/etape]

Vrai/Faux : Notions d’algorithme

[enonce]
Pour chaque affirmation suivante sur les algorithmes, indiquer si elle est Vraie ou Fausse.
[/enonce]

[etape]
Affirmation : Un algorithme est une suite finie d'instructions exécutées dans un ordre précis pour résoudre un problème.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Exact !
C'est la définition d'un algorithme : une méthode systématique composée d'étapes bien définies, exécutées les unes après les autres.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Un algorithme est bien une suite finie d'instructions, dans un ordre précis, qui permet de résoudre un problème ou d'effectuer un calcul.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. Un algorithme est une suite finie d'instructions exécutées dans un ordre précis pour résoudre un problème.
[/solution]
[/etape]

[etape]
Affirmation : Un algorithme doit obligatoirement être écrit dans un langage de programmation comme Scratch ou Python.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Bonne réponse !
Un algorithme peut être décrit en français (on parle de « pseudo-code » ou de description en langage naturel).
Le traduire dans un langage de programmation est une étape supplémentaire, pas une obligation.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Il ne faut pas confondre algorithme et programme.
Un algorithme peut être écrit en français, sous forme de liste d'instructions. Le traduire en Scratch ou en Python donne un programme, mais l'algorithme existe indépendamment du langage utilisé.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. Un algorithme peut être décrit en français (en pseudo-code). Le traduire dans un langage de programmation est facultatif.
[/solution]
[/etape]

[etape]
Affirmation : Une variable est un espace mémoire qui porte un nom et qui peut stocker une valeur (nombre ou texte).
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]C'est bien ça !
Une variable fonctionne comme une boite étiquetée : elle a un nom (l'étiquette) et contient une valeur que l'on peut lire ou modifier.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : une variable est un espace mémoire identifié par un nom.
On peut y stocker un nombre, un texte, ou tout autre type de donnée.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. Une variable est un espace mémoire nommé qui stocke une valeur (nombre ou texte).
[/solution]
[/etape]

[etape]
Affirmation : L'instruction « mettre score à 5 » ajoute 5 à la valeur actuelle de la variable score.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Correct !
L'instruction « mettre score à 5 » remplace la valeur actuelle par 5, quelle que soit l'ancienne valeur.
Pour ajouter 5, il faudrait utiliser « ajouter 5 à score ».[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Attention, « mettre à » et « ajouter à » sont deux instructions différentes.
« Mettre score à 5 » remplace l'ancienne valeur par 5 (l'ancienne valeur est effacée). Pour ajouter 5 à la valeur actuelle, on utilise « ajouter 5 à score ».[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. « Mettre score à 5 » remplace la valeur par 5. Pour ajouter 5, il faut utiliser « ajouter 5 à score ».
[/solution]
[/etape]

[etape]
On considère le programme de calcul suivant :

  • Choisir le nombre 7
  • Multiplier par 2
  • Ajouter 3

Affirmation : Le résultat de ce programme de calcul est 17.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Bravo !
On applique les instructions dans l'ordre : $7 \times 2 = 14$, puis $14 + 3 = 17$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Il suffit de suivre les instructions dans l'ordre :
$7 \times 2 = 14$
$14 + 3 = 17$
Le résultat est bien 17.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. En appliquant les instructions : $7 \times 2 = 14$, puis $14 + 3 = 17$.
[/solution]
[/etape]

[etape]
Affirmation : L'ordre des instructions dans un algorithme n'a pas d'importance : on obtient toujours le même résultat.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Exactement !
L'ordre est essentiel. Par exemple, « multiplier par 2 puis ajouter 3 » donne un résultat différent de « ajouter 3 puis multiplier par 2 ».[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
L'ordre des instructions change le résultat.
Par exemple, en partant de 5 : « multiplier par 2 puis ajouter 3 » donne $5 \times 2 + 3 = 13$, tandis que « ajouter 3 puis multiplier par 2 » donne $(5 + 3) \times 2 = 16$.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. L'ordre des instructions est fondamental : changer l'ordre modifie le résultat.
[/solution]
[/etape]