QCM : Algorithmique et programmation Python (22 questions)

Questions et réponses du QCM

1. Qu’est-ce qu’un algorithme ?

Une liste de résultats obtenus après l’exécution d’un programme
Une succession finie d’étapes ordonnées pour résoudre un problème
Un ensemble de symboles utilisés pour décorer un programme
Un logiciel servant à écrire des instructions informatiques

Une succession finie d’étapes ordonnées pour résoudre un problème

Explication

Un algorithme décrit un nombre fini d’étapes réalisées dans un ordre précis afin de résoudre un problème. Un logiciel d’écriture peut servir à programmer, mais il ne constitue pas la définition d’un algorithme.

2. Quelle transformation permet d’utiliser un algorithme sur une machine ?

Le traduire dans un langage de programmation pour créer un programme
Le recopier dans un environnement informatique sans modifier sa forme
Le convertir en règles de présentation propres à un traitement de texte
Le remplacer par une liste de résultats obtenus manuellement

Le traduire dans un langage de programmation pour créer un programme

Explication

Un algorithme doit être traduit dans un langage de programmation pour devenir un programme ou un script utilisable par une machine. Le simple recopiage ne fournit pas nécessairement des instructions compréhensibles par celle-ci.

3. Quels éléments caractérisent une variable en programmation ?

Une instruction, une fonction et un résultat
Un nom, une valeur et un type
Un symbole, une ponctuation et une indentation
Un fichier, un programme et un environnement

Un nom, une valeur et un type

Explication

Une variable est un espace de stockage défini par un nom, une valeur et un type. Le nom sert à l’identifier, tandis que sa valeur peut changer pendant l’exécution.

4. Quelle valeur peut prendre une variable Python de type int ?

Une valeur décimale comprise entre zéro et un
Une valeur entière négative, nulle ou positive
Une suite de caractères placée entre guillemets
Une valeur limitée à vrai ou faux

Une valeur entière négative, nulle ou positive

Explication

Le type int représente des nombres entiers, qu’ils soient négatifs, nuls ou positifs. Les nombres décimaux relèvent du type float, tandis que vrai et faux relèvent du type booléen.

5. Quel type Python convient à une variable contenant la valeur numérique décimale 4,5 ?

Le type str
Le type float
Le type bool
Le type int

Le type float

Explication

Le type float sert à stocker une valeur numérique décimale. Le type int concerne les nombres entiers, alors que str et bool représentent respectivement du texte et une valeur logique.

6. Comment reconnaît-on une chaîne de caractères en Python ?

Elle contient un nombre entier sans signe particulier
Elle contient un nombre décimal séparé par une virgule
Elle contient une valeur logique écrite sous forme numérique
Elle contient des caractères écrits entre guillemets

Elle contient des caractères écrits entre guillemets

Explication

Une chaîne de caractères de type str contient des mots ou des ensembles de caractères placés entre guillemets. Un nombre entier ou décimal est interprété comme une valeur numérique, pas comme une chaîne, lorsqu’il n’est pas placé entre guillemets.

7. Quelle instruction affecte la valeur 6 à la variable b en Python ?

6 = b
print(b)
b == 6
b = 6

b = 6

Explication

L’instruction b = 6 attribue la valeur 6 à la variable b. L’instruction print(b) affiche sa valeur, tandis que == sert à comparer des expressions.

8. Quelle instruction affiche la valeur actuellement contenue dans la variable b ?

b == print
print(b)
afficher(b)
b = 6

print(b)

Explication

L’instruction print(b) demande à Python d’afficher la valeur de b. L’écriture b = 6 réalise une affectation et modifie la valeur de la variable au lieu de l’afficher.

9. Si a = 17 et b = 5, quelles valeurs produisent a % b et a // b ?

a % b vaut 3 et a // b vaut 2
a % b vaut 12 et a // b vaut 85
a % b vaut 2 et a // b vaut 3
a % b vaut 2 et a // b vaut 3,4

a % b vaut 2 et a // b vaut 3

Explication

L’opérateur % fournit le reste de la division euclidienne, soit 2, et // fournit son quotient entier, soit 3. La valeur 3,4 correspondrait à une division décimale, pas au quotient euclidien.

10. Quelle caractéristique définit une fonction en Python ?

Un bloc nommé qui peut recevoir des arguments et renvoyer un résultat
Une condition qui choisit une instruction selon une valeur logique
Une variable qui conserve automatiquement le résultat d’un calcul
Une boucle qui répète des instructions pendant un nombre fixé d’itérations

Un bloc nommé qui peut recevoir des arguments et renvoyer un résultat

Explication

Une fonction est un bloc d’instructions nommé, pouvant dépendre d’arguments et renvoyer un résultat. Une condition sert plutôt à choisir entre plusieurs traitements selon qu’une expression est vraie ou fausse.

11. Quelle association décrit correctement la définition et le renvoi d’un résultat dans une fonction Python ?

def crée un argument et return modifie les paramètres
def teste une condition et return répète les instructions
def définit la fonction et return renvoie un résultat
def renvoie le résultat et return définit la fonction

def définit la fonction et return renvoie un résultat

Explication

Le mot-clé def introduit le nom, les paramètres et le bloc indenté de la fonction, tandis que return transmet son résultat. Confondre ces rôles revient à attribuer à def une action réalisée par return.

12. Quel est le rôle général d’une instruction conditionnelle ?

Parcourir successivement les valeurs produites par une séquence
Répéter une séquence d’instructions selon un nombre d’itérations connu
Regrouper des instructions dans un bloc appelé avec des arguments
Exécuter des instructions différentes selon la valeur d’une condition

Exécuter des instructions différentes selon la valeur d’une condition

Explication

Une instruction conditionnelle choisit un traitement en fonction du fait qu’une condition est vraie ou fausse. La répétition selon un nombre connu relève d’une boucle bornée, et non d’une condition.

13. Dans une structure conditionnelle Python, quelle instruction exécute l’alternative lorsque la condition testée est fausse ?

return
elif
else
if

else

Explication

Le bloc else correspond au traitement exécuté lorsque la condition associée au if est fausse. if lance le traitement lorsque la condition est vraie, tandis qu'elif permet de tester une autre condition.

14. Que caractérise une boucle for dite bornée ?

Elle répète une séquence un nombre connu de fois
Elle renvoie une valeur après l’exécution d’un bloc
Elle regroupe un calcul dans un bloc appelé par son nom
Elle choisit une séquence selon une condition vraie ou fausse

Elle répète une séquence un nombre connu de fois

Explication

Une boucle for bornée répète des instructions pendant un nombre connu d’itérations. Le choix entre traitements appartient aux conditions, tandis que le regroupement et le renvoi relèvent des fonctions.

15. Quelles valeurs successives prend i dans la boucle Python suivante : for i in range(3) ?

0, 1, 2 et 3
0, 1 et 2
3, 2 et 1
1, 2 et 3

0, 1 et 2

Explication

range(3) produit les entiers à partir de 0 jusqu’à 3 sans inclure 3, donc i vaut successivement 0, 1 et 2. La valeur 3 est la borne d’arrêt et ne fait pas partie des valeurs parcourues.

16. Quelle valeur renvoie somme(3,8) si cette fonction additionne les entiers de n à m−1 ?

28
33
21
25

25

Explication

La fonction additionne 3, 4, 5, 6 et 7, ce qui donne 25. La borne m est exclue, donc 8 ne doit pas être ajouté au calcul.

17. Dans quelle situation une boucle `while` est-elle particulièrement adaptée ?

Lorsque le programme doit exécuter une instruction avec un nombre fixé de répétitions
Lorsque chaque élément d’une collection doit être parcouru dans un ordre déterminé
Lorsque les données doivent être regroupées dans une variable entre crochets
Lorsque le nombre de répétitions dépend d’une condition et reste inconnu au départ

Lorsque le nombre de répétitions dépend d’une condition et reste inconnu au départ

Explication

Une boucle `while` convient lorsque le nombre de répétitions ne peut pas être déterminé à l’avance et dépend d’une condition. Le parcours d’une collection correspond plutôt à l’usage d’une boucle `for`.

18. Quand une boucle `while` cesse-t-elle d’exécuter son bloc d’instructions ?

Lorsque sa condition devient fausse
Lorsque le programme rencontre une nouvelle définition de variable
Lorsque sa condition devient vraie
Lorsque la liste parcourue atteint son premier élément

Lorsque sa condition devient fausse

Explication

La boucle `while` répète son bloc tant que sa condition est vraie et s’arrête dès que cette condition devient fausse. Le fait que la condition soit vraie déclenche donc la poursuite, et non l’arrêt, de la boucle.

19. Quelle description correspond à une liste Python ?

Une variable numérique contenant plusieurs résultats reliés par des signes égal
Une collection ordonnée d’objets regroupés dans une variable et écrits entre crochets
Une suite d’instructions conditionnelles regroupées entre accolades et séparées par des opérateurs
Une collection non ordonnée de valeurs placées entre parenthèses et séparées par des points-virgules

Une collection ordonnée d’objets regroupés dans une variable et écrits entre crochets

Explication

Une liste Python regroupe plusieurs objets dans une collection ordonnée, avec des éléments séparés par des virgules et placés entre crochets. Les parenthèses ne constituent pas la notation décrite pour une liste.

20. Pour la liste `L = [1, 3, 5, "a", 9, 1.6]`, quelle affirmation est correcte ?

`L[1]` vaut `3` et `len(L)` vaut `6`
`L[5]` vaut `9` et `len(L)` vaut `5`
`L[1]` vaut `1` et `len(L)` vaut `5`
`L[0]` vaut `3` et `len(L)` vaut `6`

`L[1]` vaut `3` et `len(L)` vaut `6`

Explication

Les indices commencent à 0 : l’indice 1 désigne donc le deuxième élément, qui vaut 3, tandis que la liste contient six éléments. Confondre l’indice 0 avec le deuxième élément décale toutes les positions.

21. Quelle instruction ajoute la valeur `x` à la fin d’une liste `L` ?

`L.insert(x)`
`L.append(x)`
`del L[x]`
`L.append(0, x)`

`L.append(x)`

Explication

La méthode `append(x)` ajoute `x` comme dernier élément de `L`. La méthode `insert` demande un indice, tandis que `del` supprime l’élément situé à un indice donné.

22. Quelle boucle permet de parcourir les indices d’une liste `L` plutôt que ses éléments ?

`for i in range(len(L))`
`for i in del(L)`
`for i in L`
`for i in append(L)`

`for i in range(len(L))`

Explication

`range(len(L))` produit les indices valides de la liste, ce qui permet d’accéder aux éléments par leur position. Avec `for i in L`, la variable reçoit directement les éléments et non leurs indices.

Révisez avec les flashcards

Mémorisez les réponses avec 45 flashcards sur Algorithmique et programmation Python.

Qu'est-ce qu'un algorithme ?

Une succession finie d'étapes ordonnées pour résoudre un problème.

Dans quel langage un algorithme doit-il être traduit pour être utilisé sur une machine ?

Dans un langage de programmation.

Comment appelle-t-on un algorithme traduit en langage de programmation ?

Un programme ou un script.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Algorithmique et programmation Python.

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