QCM : Introduction à l'Algorithmique et Structures de Données — 18 questions

Questions et réponses du QCM

1. Qu’est-ce qui caractérise un algorithme ?

Une suite d’actions infinie qui s’adapte aux données au fur et à mesure
Une suite finie d’instructions ordonnées pour produire un résultat à partir de données
Un langage de programmation destiné à remplacer le code source
Une description libre sans contrainte d’exécution ni d’ordre

Une suite finie d’instructions ordonnées pour produire un résultat à partir de données

Explication

Un algorithme est bien une suite finie d’instructions exécutées dans un ordre déterminé afin d’obtenir un résultat à partir de données. Les autres propositions décrivent soit un langage, soit une démarche non rigoureuse ou non finie.

2. À quoi sert principalement le pseudo-code ?

À remplacer les spécifications du problème par du code machine
À écrire un algorithme dans une forme indépendante de la syntaxe d’un langage
À stocker les données d’entrée et de sortie dans un fichier
À exécuter directement un programme sur une machine sans traduction

À écrire un algorithme dans une forme indépendante de la syntaxe d’un langage

Explication

Le pseudo-code est une écriture intermédiaire qui décrit l’algorithme sans dépendre de la syntaxe d’un langage de programmation. Il sert donc à la conception et à la lecture, pas à l’exécution directe.

3. Que désigne le PGCD de deux entiers ?

Le quotient obtenu lors de leur division euclidienne
Le reste de leur division dans l’algorithme d’Euclide
Le plus petit entier qui les divise tous les deux
Le plus grand entier qui divise exactement ces deux entiers

Le plus grand entier qui divise exactement ces deux entiers

Explication

Le PGCD est le plus grand entier qui divise exactement les deux nombres donnés. Le reste et le quotient sont des notions différentes liées à la division euclidienne.

4. Quel est le rôle de l’algorithme d’Euclide ?

Déterminer si deux entiers sont premiers entre eux par comparaison directe
Transformer un entier en nombre décimal
Calculer le PGCD à partir de deux entiers
Additionner deux entiers de manière rapide

Calculer le PGCD à partir de deux entiers

Explication

L’algorithme d’Euclide est une méthode de calcul du PGCD de deux entiers. Il repose sur des divisions successives et non sur une simple addition ou conversion de format.

5. Dans une spécification algorithmique, que représente le champ ENTREE ?

Les opérations internes effectuées pendant le calcul
Le résultat affiché à la fin du traitement
Les commentaires destinés au lecteur
Les données fournies à l’algorithme avant son exécution

Les données fournies à l’algorithme avant son exécution

Explication

ENTREE décrit les données disponibles avant l’exécution de l’algorithme. Le résultat attendu relève au contraire du champ SORTIE.

6. Que fait la primitive LIRE() dans un algorithme ?

Elle compare deux valeurs pour produire un booléen
Elle écrit une constante dans une variable
Elle récupère une valeur saisie par l’utilisateur au clavier
Elle affiche un résultat calculé à l’écran

Elle récupère une valeur saisie par l’utilisateur au clavier

Explication

LIRE() sert à lire une valeur saisie par l’utilisateur, en entrée de l’algorithme. L’affichage relève de ECRIRE(), pas de LIRE().

7. Quelle affirmation décrit correctement une variable ?

Elle désigne forcément une chaîne de caractères
Elle ne peut contenir qu’un nombre décimal
Sa valeur peut changer pendant l’algorithme, mais son type reste le même
Sa valeur ne change jamais après la déclaration

Sa valeur peut changer pendant l’algorithme, mais son type reste le même

Explication

Une variable est une donnée dont la valeur peut varier au cours de l’algorithme, tandis que son type reste fixe. Une constante, elle, ne change pas après initialisation.

8. Comment doit être écrit un caractère en algorithmique ?

Sans délimiteur, comme a
Entre guillemets doubles, comme "a"
Entre crochets, comme [a]
Entre quotes simples, comme 'a'

Entre quotes simples, comme 'a'

Explication

Un CARACTERE s’écrit entre quotes simples. Les guillemets doubles servent pour une CHAINE, qui peut contenir plusieurs caractères.

9. Que renvoie l’opérateur MOD(a, b) ?

La somme de a et b
Le reste de la division euclidienne de a par b
Le quotient entier de a par b
Le plus grand diviseur commun de a et b

Le reste de la division euclidienne de a par b

Explication

MOD(a, b) renvoie le reste de la division euclidienne de a par b. Le quotient est une autre grandeur, et le PGCD se calcule par une méthode utilisant ces restes.

10. Dans l’algorithme d’Euclide, que fait-on après avoir calculé r ← MOD(a, b) ?

On divise r par b pour poursuivre le calcul
On additionne a et b pour obtenir r
On remplace a par b puis b par r
On remplace a par r puis b par a

On remplace a par b puis b par r

Explication

Après le calcul du reste, l’algorithme d’Euclide met a ← b puis b ← r afin de poursuivre avec de nouvelles valeurs. C’est cette mise à jour répétée qui permet d’obtenir le PGCD.

11. Quel opérateur renvoie le reste de la division euclidienne de deux entiers ?

LONGUEUR()
MOD()
CONCATENATION()
DIV()

MOD()

Explication

MOD() est l’opérateur défini pour calculer le reste de la division euclidienne. DIV() donne un quotient entier, tandis que CONCATENATION() et LONGUEUR() concernent les chaînes.

12. Dans l’algorithme d’Euclide, quelle suite d’actions est effectuée à chaque itération tant que b > 0 ?

Calculer r ← a + b, puis a ← b et b ← r
Calculer r ← a DIV b, puis a ← r et b ← a
Calculer r ← MOD(b, a), puis a ← r et b ← a
Calculer r ← MOD(a, b), puis a ← b et b ← r

Calculer r ← MOD(a, b), puis a ← b et b ← r

Explication

L’algorithme d’Euclide utilise le reste r ← MOD(a, b), puis remplace a par b et b par r. C’est ce mécanisme qui permet d’obtenir le PGCD.

13. Quel énoncé décrit correctement un caractère et une chaîne en algorithmique ?

Un caractère s’écrit entre guillemets, alors qu’une chaîne s’écrit entre quotes simples
Un caractère s’écrit entre quotes simples, alors qu’une chaîne s’écrit entre guillemets
Un caractère est toujours composé de plusieurs symboles, alors qu’une chaîne est un seul symbole
Un caractère et une chaîne s’écrivent tous deux entre quotes simples

Un caractère s’écrit entre quotes simples, alors qu’une chaîne s’écrit entre guillemets

Explication

Un CARACTERE est noté avec des quotes simples, comme 'a', tandis qu’une CHAINE est notée avec des guillemets, comme "abc". Les autres propositions inversent ou confondent ces écritures.

14. Quel opérateur permet d’assembler deux chaînes pour former une nouvelle chaîne ?

EXTRACTION(chaine, debut, longueur)
MOD(a, b)
LONGUEUR(chaine)
CONCATENATION(chaine1, chaine2)

CONCATENATION(chaine1, chaine2)

Explication

CONCATENATION assemble deux chaînes en une seule nouvelle chaîne. EXTRACTION sert à prélever un caractère ou une sous-chaîne, tandis que LONGUEUR compte les caractères.

15. Quel opérateur booléen est unaire et inverse la valeur logique qu’il reçoit ?

NON
OU
ET
=

NON

Explication

NON est l’opérateur unaire qui renvoie l’opposé logique d’une valeur booléenne. ET et OU sont binaires, et = sert à tester une égalité.

16. Quelle affirmation décrit correctement l’opérateur OU ?

Il compare deux chaînes par ordre alphabétique
Il inverse une seule valeur booléenne
Il renvoie vrai seulement si les deux valeurs sont vraies
Il renvoie vrai si au moins l’une des deux valeurs est vraie

Il renvoie vrai si au moins l’une des deux valeurs est vraie

Explication

OU est l’opérateur booléen qui vaut vrai dès qu’au moins un des deux opérandes est vrai. La condition “les deux sont vrais” correspond à ET, pas à OU.

17. Quel schéma permet d’échanger deux entiers sans variable temporaire ?

a ← b - a, puis b ← a - b, puis a ← a + b
a ← a - b, puis b ← a + b, puis a ← b - a
a ← a + b, puis b ← a - b, puis a ← b + a
a ← b, puis b ← a, puis a ← b

a ← a - b, puis b ← a + b, puis a ← b - a

Explication

L’échange sans intermédiaire repose sur trois affectations successives : a ← a - b, puis b ← a + b, puis a ← b - a. Chaque étape utilise la valeur modifiée de la variable précédente pour reconstruire l’échange.

18. Avec a = 10 et b = -5, quelles sont les valeurs finales après l’échange sans variable temporaire ?

a = -15 et b = 5
a = -5 et b = 10
a = 10 et b = -5
a = 15 et b = 10

a = -5 et b = 10

Explication

En appliquant les trois affectations, on obtient successivement a = 15, puis b = 10, puis a = -5. Les deux valeurs initiales sont donc bien échangées.

Révisez avec les flashcards

Mémorisez les réponses avec 18 flashcards sur Introduction à l'Algorithmique et Structures de Données.

Algorithme — définition ?

Suite finie d'instructions pour obtenir un résultat.

Algorithmique — rôle ?

Concevoir des méthodes efficaces de calcul.

Pseudo-code — usage ?

Écriture intermédiaire indépendante des langages.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Introduction à l'Algorithmique et Structures de Données.

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