QCM : Bases de Python et algorithmique — 32 questions

Questions et réponses du QCM

1. Quelle fonction permet d’analyser et d’afficher le type d’une expression Python ?

La fonction print()
La fonction type()
La fonction input()
La fonction int()

La fonction type()

Explication

La fonction type() analyse l’expression fournie et indique son type. La fonction print() affiche sa valeur, mais ne sert pas à déterminer son type.

2. Que produit l’instruction Python print("Bonjour") à l’écran ?

La conversion de Bonjour en nombre
Une demande de saisie nommée Bonjour
Le mot Bonjour sans guillemets
Le type de la chaîne Bonjour

Le mot Bonjour sans guillemets

Explication

print() affiche à l’écran la valeur de l’expression et retire les guillemets qui délimitent une chaîne. input() demande une saisie à l’utilisateur, ce qui n’est pas le rôle de print().

3. Quelle est la différence entre input() et input("Nom : ") ?

La seconde affiche une indication avant la saisie
La seconde convertit directement la saisie en texte
La première affiche une indication avant la saisie
La première analyse le type de la saisie

La seconde affiche une indication avant la saisie

Explication

Avec une chaîne en argument, input() affiche d’abord une indication destinée à l’utilisateur, puis attend sa saisie. Sans argument, input() attend directement les symboles tapés au clavier.

4. Si un utilisateur saisit 42 avec input(), quel type de donnée Python obtient-il ?

Une chaîne de caractères
Une valeur booléenne
Un nombre flottant
Un nombre entier

Une chaîne de caractères

Explication

Toute saisie obtenue avec input() est considérée comme une chaîne de caractères, même lorsque l’utilisateur tape un nombre. Une conversion explicite serait nécessaire pour obtenir un entier ou un flottant.

5. Dans quel cas une boucle for est-elle particulièrement adaptée ?

Pour demander une saisie au clavier
Pour choisir entre deux blocs conditionnels
Pour parcourir une suite de valeurs déterminée
Pour répéter jusqu’à une condition devenue vraie

Pour parcourir une suite de valeurs déterminée

Explication

Une boucle for fait varier une variable sur une suite de valeurs déterminée et répète ainsi le bloc associé. Une boucle while dépend plutôt d’une condition d’arrêt évaluée au cours de l’exécution.

6. Combien de fois le bloc est-il exécuté dans for v in range(3, 8) ?

Huit fois
Quatre fois
Trois fois
Cinq fois

Cinq fois

Explication

range(3, 8) fournit les entiers 3, 4, 5, 6 et 7, soit 8−3=58-3=5 valeurs. La borne supérieure 8 n’appartient pas à la suite parcourue.

7. Quelle affirmation décrit correctement for v in range(4) ?

Il équivaut à for v in range(0, 4)
Il équivaut à for v in range(1, 4)
Il exécute le bloc quatre fois après la valeur 4
Il produit les valeurs de 0 à 4 inclus

Il équivaut à for v in range(0, 4)

Explication

range(4) est l’écriture abrégée de range(0, 4), qui fournit 0, 1, 2 et 3. La borne 4 est exclue, mais le bloc est bien exécuté quatre fois.

8. Quand le bloc d’une boucle while est-il répété ?

Lorsque son expression booléenne devient False
Chaque fois qu’une nouvelle variable est créée
Après qu’une suite de valeurs est épuisée
Tant que son expression booléenne vaut True

Tant que son expression booléenne vaut True

Explication

Une boucle while répète son bloc tant que la condition évaluée possède la valeur True. Une boucle for, elle, parcourt une suite de valeurs déterminée.

9. Dans une structure if condition: ... else: ..., quand le bloc else est-il exécuté ?

Lorsque la condition vaut False
Avant l’évaluation de la condition
Après chaque itération d’une boucle
Lorsque la condition vaut True

Lorsque la condition vaut False

Explication

Le bloc if est exécuté lorsque l’expression vaut True, tandis que le bloc else est choisi dans le cas contraire. Le bloc else ne s’exécute donc pas lorsque la condition est vraie.

10. Quel est l’intérêt principal de la forme elif dans une structure conditionnelle ?

Remplacer une boucle for par une boucle while
Répéter un bloc tant qu’une condition est vraie
Exécuter un bloc sans tester de condition
Tester une nouvelle condition alternative

Tester une nouvelle condition alternative

Explication

elif permet d’enchaîner plusieurs conditions alternatives sans imbriquer un nouvel if dans un bloc else. À la différence d’elif, else ne teste pas de condition supplémentaire.

11. Quelle description distingue correctement une variable d’une constante en Python ?

Une variable associe une valeur à un symbole sans mémoire
Une variable associe deux noms à une même valeur constante
Une variable associe un type à une valeur qui reste fixe
Une variable associe un nom à une valeur qui peut évoluer

Une variable associe un nom à une valeur qui peut évoluer

Explication

Une variable relie un nom à une valeur stockée, et cette valeur peut être modifiée pendant l’exécution. La stabilité d’une valeur correspond plutôt à la notion de constante, pas à celle de variable.

12. Après l’exécution de `x = 3` puis `x = 8`, quelle valeur est associée à `x` ?

La valeur 8, car la seconde affectation remplace la précédente
Aucune valeur, car une variable doit être déclarée avant l’affectation
La valeur 3, car une variable conserve sa première affectation
Les valeurs 3 et 8, car Python mémorise chaque affectation

La valeur 8, car la seconde affectation remplace la précédente

Explication

En Python, une affectation crée une variable ou remplace sa valeur précédente, donc `x` vaut 8 après la seconde instruction. Le symbole `=` réalise une affectation, tandis que `==` sert à comparer.

13. Quel comportement illustre le typage dynamique de Python ?

Une variable doit garder le type indiqué lors de sa création
Une variable peut recevoir un entier puis une chaîne
Une variable ne peut recevoir qu’une valeur numérique
Une variable change de nom lorsqu’elle reçoit une nouvelle valeur

Une variable peut recevoir un entier puis une chaîne

Explication

Le typage dynamique signifie que le type associé à une variable peut évoluer pendant l’exécution. Une déclaration préalable imposant un type fixe correspondrait à un autre modèle de typage.

14. Laquelle des propositions est une expression Python qui définit une valeur ?

`=` placé entre deux instructions
`2 < 3`
`nom_variable` sans valeur associée
Un commentaire décrivant un calcul

`2 < 3`

Explication

`2 < 3` est une expression, car elle définit une valeur booléenne. Un symbole d’affectation ou un commentaire ne constitue pas, à lui seul, une expression de cette nature.

15. Quel type Python représente la valeur entière `-1000` ?

`bool`
`str`
`int`
`float`

`int`

Explication

Le type `int` représente les nombres entiers, positifs, nuls ou négatifs. Une valeur comme `5.0`, en revanche, appartient au type `float` en raison de sa notation décimale.

16. Quelle valeur est un `float` en Python ?

`0`
`5`
`5.0`
`-5`

`5.0`

Explication

`5.0` est un nombre à virgule flottante et relève donc du type `float`. Les valeurs `5`, `-5` et `0`, écrites sans partie décimale, sont des entiers de type `int`.

17. Quelle expression Python calcule le carré de `x` ?

`x * 2`
`x // 2`
`x ** 2`
`x ^ 2`

`x ** 2`

Explication

L’opérateur `**` exprime la puissance, donc `x ** 2` calcule le carré de `x`. Les autres opérateurs proposés correspondent respectivement à une opération binaire, un quotient entier et une multiplication.

18. Pour `a = 17` et `b = 5`, quelles sont les valeurs de `a // b` et `a % b` ?

`12` et `2`
`3` et `2`
`3` et `5`
`2` et `3`

`3` et `2`

Explication

La division euclidienne de 17 par 5 donne un quotient entier de 3 et un reste de 2. L’opérateur `//` fournit le quotient, tandis que `%` fournit le reste.

19. Quelle distinction entre `''` et `' '` est correcte en Python ?

Les deux chaînes contiennent exactement le même caractère
`''` contient un espace, tandis que `' '` est vide
Les deux écritures représentent une valeur booléenne fausse
`''` est vide, tandis que `' '` contient un espace

`''` est vide, tandis que `' '` contient un espace

Explication

Une chaîne est une suite de symboles entre guillemets, et l’espace compte comme un caractère. Ainsi, `''` ne contient aucun caractère alors que `' '` en contient un, l’espace.

20. Laquelle est une donnée booléenne représentant le vrai en Python ?

`1.0`
`'vrai'`
`'True'`
`True`

`True`

Explication

Une donnée booléenne ne peut prendre que les valeurs `True` ou `False`, et `True` représente le vrai. Les écritures entre guillemets sont des chaînes de caractères, même lorsqu’elles contiennent le mot « True ».

21. Quel est le résultat de la concaténation de `'Bon'` et `'jour'` ?

`'Bon jour'`
`'jourBon'`
`'Bon+jour'`
`'Bonjour'`

`'Bonjour'`

Explication

L’opérateur `+` concatène deux chaînes en plaçant leurs caractères successivement, ce qui produit `'Bonjour'`. Il n’ajoute pas automatiquement d’espace et ne renverse pas l’ordre des chaînes.

22. Quel type de valeur renvoie l’expression `7 >= 4` ?

Une valeur booléenne
Une valeur flottante
Une valeur entière
Une chaîne de caractères

Une valeur booléenne

Explication

Les comparaisons comme `>=` renvoient un booléen, ici `True` puisque 7 est supérieur ou égal à 4. Le résultat n’est donc pas le nombre comparé ni une chaîne décrivant la comparaison.

23. Quelle définition distingue correctement un algorithme d’un programme ?

Un algorithme est une méthode, tandis qu’un programme en est l’implémentation dans un langage.
Un algorithme est une machine, tandis qu’un programme correspond à ses résultats.
Un algorithme est un langage, tandis qu’un programme décrit une méthode indépendante.
Un algorithme est une variable, tandis qu’un programme indique son domaine de valeurs.

Un algorithme est une méthode, tandis qu’un programme en est l’implémentation dans un langage.

Explication

Un algorithme organise des instructions pour obtenir un résultat en un nombre fini d’étapes, alors qu’un programme traduit cette méthode dans un langage. Confondre l’algorithme avec un langage revient à lui attribuer le rôle du programme.

24. Quel énoncé caractérise le mieux le pseudo-code ?

Il exécute directement des instructions selon la syntaxe précise d’un langage choisi.
Il transforme automatiquement chaque variable en une adresse mémoire utilisable.
Il impose les mêmes mots-clés et les mêmes règles qu’un langage compilé.
Il décrit un algorithme avec un vocabulaire simple et indépendant d’un langage particulier.

Il décrit un algorithme avec un vocabulaire simple et indépendant d’un langage particulier.

Explication

Le pseudo-code sert à exprimer la logique d’un algorithme sans dépendre de la syntaxe d’un langage donné. Python, en revanche, est un langage exécutable avec ses propres règles.

25. Laquelle de ces listes regroupe les cinq instructions fondamentales d’un algorithme ?

Lecture, écriture, calcul, comparaison et sauvegarde
Variable, constante, fonction, classe et commentaire
Entrée, compilation, stockage, affichage et débogage
Déclaration, affectation, séquence, test conditionnel et boucle

Déclaration, affectation, séquence, test conditionnel et boucle

Explication

Les cinq instructions fondamentales sont la déclaration, l’affectation, la séquence, le test conditionnel et la boucle. Les autres listes mélangent des éléments de programmation, des opérations ou des activités de développement.

26. Qu’est-ce qui caractérise l’écriture binaire d’un nombre ?

Elle utilise les symboles 0 et 1, chaque position étant associée à une puissance de 2.
Elle utilise les symboles 1 et 2, chaque position étant associée à une puissance de 2.
Elle utilise les lettres A à F, chaque position étant associée à une puissance de 16.
Elle utilise les symboles 0 à 9, chaque position étant associée à une puissance de 10.

Elle utilise les symboles 0 et 1, chaque position étant associée à une puissance de 2.

Explication

Le système binaire est une écriture en base 2 : ses deux symboles sont 0 et 1, et leurs positions représentent des puissances de 2. L’utilisation de dix symboles correspond au système décimal.

27. Combien de valeurs entières différentes peut-on encoder avec 5 bits non signés, et quelle est la valeur maximale ?

3131 valeurs, de 0 à 3232
3232 valeurs, de 0 à 3131
6464 valeurs, de 0 à 6363
2525 valeurs, de 0 à 2424

$$32$$ valeurs, de 0 à $$31$$

Explication

Avec n=5n=5 bits, la capacité vaut 25=322^5=32 valeurs, allant de 0 à 25−1=312^5-1=31. La valeur maximale est donc inférieure à la capacité totale.

28. Dans une mémoire limitée à 8 bits, que se passe-t-il lorsqu’une addition produit un neuvième bit ?

Le bit supplémentaire est perdu et l’addition provoque un dépassement de capacité.
Le bit supplémentaire est ajouté automatiquement à la taille de la mémoire.
Les huit bits précédents sont déplacés pour conserver le bit supplémentaire.
Le résultat est converti en décimal avant d’être conservé sur 8 bits.

Le bit supplémentaire est perdu et l’addition provoque un dépassement de capacité.

Explication

Une mémoire de taille fixe ne peut pas conserver le bit supplémentaire : il est perdu, ce qui constitue un overflow. La capacité de stockage ne s’agrandit pas automatiquement pour accueillir ce bit.

29. Comment convertir correctement un nombre binaire en nombre décimal ?

On divise successivement le nombre par 2 et on lit les restes de bas en haut.
On construit les bits en choisissant les restes des divisions successives par 2.
On additionne les puissances de 2 correspondant aux positions occupées par les bits à 1.
On multiplie chaque chiffre par une puissance de 10 selon sa position.

On additionne les puissances de 2 correspondant aux positions occupées par les bits à 1.

Explication

La conversion binaire-décimale consiste à développer le nombre selon les puissances de 2, puis à additionner les contributions des bits. La lecture des restes de bas en haut appartient à la conversion décimale-binaire par divisions successives.

30. Lorsqu’on convertit un nombre décimal en binaire par divisions successives, dans quel ordre lit-on les restes ?

On les lit de haut en bas, en commençant par la première division effectuée.
On les classe selon leur valeur avant de les placer dans les positions binaires.
On les additionne dans l’ordre où les quotients deviennent successivement pairs.
On les lit de bas en haut, après avoir effectué les divisions successives par 2.

On les lit de bas en haut, après avoir effectué les divisions successives par 2.

Explication

Chaque division par 2 fournit un reste, et ces restes doivent être lus de bas en haut pour former l’écriture binaire. Les lire dans l’ordre des divisions inverse les positions des bits.

31. Quelle caractéristique définit l’écriture hexadécimale ?

Elle utilise dix symboles, de 0 à 9, associés aux puissances de 10.
Elle utilise huit symboles, de 0 à 7, associés aux puissances de 8.
Elle utilise deux symboles, 0 et 1, associés aux puissances de 2.
Elle utilise seize symboles, de 0 à 9 et de A à F, associés aux puissances de 16.

Elle utilise seize symboles, de 0 à 9 et de A à F, associés aux puissances de 16.

Explication

L’hexadécimal est une représentation en base 16 : ses chiffres vont de 0 à 9, puis de A à F, et chaque position correspond à une puissance de 16. Le binaire, contrairement à l’hexadécimal, repose sur deux symboles et la base 2.

32. Pour convertir correctement le nombre binaire 11010110 en hexadécimal, quelle méthode faut-il appliquer ?

Regrouper les bits par quatre en partant de la droite, puis convertir chaque groupe en un chiffre hexadécimal.
Regrouper les bits par quatre en partant de la gauche, puis lire chaque groupe comme une puissance de dix.
Regrouper les bits par deux en partant de la gauche, puis convertir chaque groupe en un chiffre hexadécimal.
Regrouper les bits par huit en partant de la droite, puis associer chaque groupe à une lettre.

Regrouper les bits par quatre en partant de la droite, puis convertir chaque groupe en un chiffre hexadécimal.

Explication

La conversion binaire-hexadécimale consiste à former des paquets de quatre bits en commençant par la droite, puis à coder chaque paquet par un symbole hexadécimal. Un regroupement par deux ou par huit ne correspond pas à la structure de la base 16, et le sens du regroupement est également incorrect.

Révisez avec les flashcards

Mémorisez les réponses avec 55 flashcards sur Bases de Python et algorithmique.

Que fait la fonction type(expression) en Python ?

Elle analyse et affiche le type de l’expression fournie.

Que fait la fonction print(expression) en Python ?

Elle affiche à l’écran la valeur de l’expression sans guillemets pour les chaînes.

Que fait la fonction input() sans argument en Python ?

Elle attend que l’utilisateur saisisse des symboles au clavier.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Bases de Python et algorithmique.

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