QCM : Algorithmique et Python : bases (21 questions)

Questions et réponses du QCM

1. Un programme exécute `print("Bonjour")`. Quelle action cette fonction réalise-t-elle ?

Affecter l’information fournie à une variable
Afficher la représentation textuelle de l’information fournie
Lire une valeur saisie au clavier et la retourner
Convertir l’information fournie en nombre entier

Afficher la représentation textuelle de l’information fournie

Explication

`print()` affiche la représentation textuelle des informations passées en paramètre. La lecture au clavier correspond à `input()`, tandis que la conversion en entier relève de `int()`.

2. Une personne saisit `27` au clavier avec `input()` et aucune conversion n’est effectuée. Quel type de valeur la variable reçoit-elle ?

Une valeur affichée sans affectation
Un nombre entier
Une valeur logique
Une chaîne de caractères

Une chaîne de caractères

Explication

`input()` retourne la saisie sous forme de chaîne de caractères, même lorsque celle-ci représente un nombre. La conversion en entier nécessite `int()`; l’affichage relève de `print()`.

3. Un concepteur décrit, sans choisir de langage informatique, des étapes ordonnées pour résoudre une famille de problèmes similaires. De quoi s’agit-il ?

D’un paradigme
D’un langage de programmation
D’un programme
D’un algorithme

D’un algorithme

Explication

Un algorithme est une suite ordonnée d’instructions décrivant une démarche pour résoudre une série de problèmes équivalents. Un programme est défini dans un langage, un paradigme désigne une logique de programmation et un langage sert à écrire du code.

4. En Python, quel résultat obtient-on pour l’expression 18−3∗4+218 - 3 * 4 + 2 ?

62
8
14
68

8

Explication

La multiplication est prioritaire : 3∗4=123 * 4 = 12, puis les additions et soustractions se font de gauche à droite, donc 18−12+2=818 - 12 + 2 = 8. Le résultat 62 vient d’un calcul strictement de gauche à droite, tandis que 68 donne priorité à l’addition.

5. Pour vérifier si la chaîne « lune » contient la sous-chaîne « un », quelle opération convient en Python ?

Utiliser la fonction len
Utiliser l’opérateur *
Utiliser l’opérateur +
Utiliser l’opérateur in

Utiliser l’opérateur in

Explication

L’opérateur in teste si une sous-chaîne appartient à une chaîne donnée. + concatène, * duplique et len mesure une longueur.

6. Une fonction doit fournir le quotient entier de 23 par 4, sans conserver la partie décimale : quel opérateur faut-il employer ?

L’opérateur *
L’opérateur %
L’opérateur /
L’opérateur //

L’opérateur //

Explication

L’opérateur // donne le quotient entier : 23 // 4 vaut 5. L’opérateur / produit une division réelle, % donne le reste et * réalise une multiplication.

7. Lina veut lancer directement `./analyse.py` depuis le terminal. Quelle préparation correspond à cette méthode d’exécution ?

Lancer `python3 analyse.py`, puis rendre le fichier exécutable avec `chmod +x`
Renommer le fichier en `analyse.exe`, puis indiquer Python dans son contenu
Ajouter en première ligne `#!/usr/bin/env python3`, puis rendre le fichier exécutable avec `chmod +x`
Ajouter en première ligne `#`, puis rendre le fichier exécutable avec `chmod +x`

Ajouter en première ligne `#!/usr/bin/env python3`, puis rendre le fichier exécutable avec `chmod +x`

Explication

Pour lancer directement un script, il faut indiquer l’interpréteur dans la première ligne et accorder le droit d’exécution avec `chmod +x`. Passer le script en argument à `python3` est une autre méthode et ne requiert pas cette préparation ; un `#` ordinaire ne désigne pas l’interpréteur.

8. En Python, quelle est la fonction de l’opérateur = dans l’instruction « score = 12 » ?

Vérifier si score est égal à 12
Attribuer la valeur 12 à la variable score
Additionner score et 12 sans modifier score
Afficher la valeur de score à l’écran

Attribuer la valeur 12 à la variable score

Explication

L’opérateur = attribue une valeur à une variable. L’opérateur == compare des valeurs, tandis qu’une addition ou un affichage ne réalise pas cette affectation.

9. Pour un nouveau langage, le compilateur produit un bytecode que l’interpréteur exécute ensuite. Quelle description correspond à cette chaîne de traitement ?

Une compilation suivie de la conservation d’un fichier objet
Une interprétation du code source sans étape de compilation
Une semi-compilation avec exécution d’un code intermédiaire
Une compilation avec exécution directe du code machine produit

Une semi-compilation avec exécution d’un code intermédiaire

Explication

En semi-compilation, le compilateur produit un bytecode intermédiaire que l’interpréteur exécute pour obtenir le résultat. La compilation directe produit du code machine, alors que l’interprétation traite le code source au fur et à mesure sans cette étape préalable.

10. Quelle discipline étudie le traitement automatique de l’information ?

L’électronique
La bureautique
L’informatique
La programmation

L’informatique

Explication

L’informatique est définie comme la science du traitement automatique de l’information. L’électronique concerne les circuits, la bureautique les outils de bureau et la programmation l’écriture de programmes.

11. Quelle association décrit correctement la création de Python et ses caractéristiques étudiées ?

Guido van Rossum, en 1989 ; langage compilé et fonctionnel
Guido van Rossum, à une autre date ; langage interprété et orienté objet
Guido van Rossum, en 1989 ; langage semi-compilé et orienté objet
Un autre créateur, en 1989 ; langage semi-compilé et orienté objet

Guido van Rossum, en 1989 ; langage semi-compilé et orienté objet

Explication

Python a été créé en 1989 par Guido van Rossum ; il est semi-compilé et orienté objet. Le confondre avec un langage compilé ou interprété seul méconnaît son mode semi-compilé, et l’attribution ainsi que la date sont celles indiquées.

12. Quelle caractéristique distingue un programme d’un algorithme ?

Il désigne une logique générale d’organisation des traitements.
Il permet à un ordinateur d’analyser un code source humain.
Il est constitué d’instructions définies dans un langage donné.
Il décrit une démarche applicable à une série de problèmes équivalents.

Il est constitué d’instructions définies dans un langage donné.

Explication

Un programme est une suite d’instructions définies dans un langage donné et permet de décrire un algorithme. La démarche générale caractérise l’algorithme, une logique d’organisation caractérise un paradigme, et l’analyse du code concerne le rôle du langage de programmation.

13. Avec a = 2 et b = 5 au départ, quel couple obtient-on après l’affectation parallèle « a, b = a + b, a * b » ?

a vaut 7 et b vaut 10
a vaut 7 et b vaut 35
a vaut 2 et b vaut 10
a vaut 10 et b vaut 7

a vaut 7 et b vaut 10

Explication

Dans une affectation parallèle, les deux expressions de droite sont évaluées avec les valeurs initiales : a + b donne 7 et a * b donne 10. Le résultat 35 provient d’une mise à jour séquentielle, et le couple inversé échange les deux calculs.

14. Lors de chaque lancement, un outil traduit les lignes d’un programme au fur et à mesure et les exécute sans créer de programme objet. Quel mode est utilisé ?

La semi-compilation
La traduction en code machine conservé
La compilation
L’interprétation

L’interprétation

Explication

L’interprétation traduit le code au fur et à mesure et ne génère pas de programme objet. La compilation produit un code machine conservable, tandis que la semi-compilation passe par un bytecode intermédiaire.

15. En programmation, que désigne une variable ?

Une zone mémoire où une valeur est stockée, avec un nom, une adresse, un type et une valeur
Une opération qui attribue une valeur à une zone mémoire
Une catégorie qui décrit la nature d’une valeur stockée
Un nom servant à désigner une fonction ou une variable dans le code

Une zone mémoire où une valeur est stockée, avec un nom, une adresse, un type et une valeur

Explication

Une variable est une zone de mémoire où une valeur est stockée et possède un nom, une adresse, un type et une valeur. Un identificateur est son nom, l’affectation est l’opération d’attribution et le type caractérise la valeur.

16. Une variable reçoit d’abord la valeur 8, puis reçoit « bonjour ». Quel comportement du typage dynamique permet de décrire cette situation ?

La fonction type() convertit la chaîne en valeur entière
Chaque affectation détermine automatiquement le type correspondant à la valeur
La variable conserve le type entier défini lors de sa création
Le type de la variable dépend du nom qui lui est attribué

Chaque affectation détermine automatiquement le type correspondant à la valeur

Explication

En typage dynamique, une affectation crée la variable avec le type correspondant à la valeur fournie; la valeur chaîne conduit donc à un type str. Le type n’est pas fixé d’avance, et type() indique un type sans convertir la valeur ni dépendre du nom.

17. Quel type Python correspond à une collection de paires associant des clés à des valeurs ?

tuple
dict
set
list

dict

Explication

Le type dict désigne les dictionnaires, qui associent des clés à des valeurs. list désigne une liste, tuple un n-uplet et set un ensemble.

18. Un étudiant saisit une instruction Python, appuie sur Entrée et obtient immédiatement son résultat avant de saisir la suivante. Quel mode utilise-t-il ?

La création d’un script Python
Le mode interprété interactif
L’exécution différée d’un programme compilé
L’édition d’un fichier de code

Le mode interprété interactif

Explication

Le mode interprété permet de saisir et d’exécuter des instructions interactivement. La création d’un script consiste à enregistrer des instructions dans un fichier, tandis que l’édition ou la compilation ne décrit pas l’exécution interactive.

19. Une personne choisit un nom pour une variable Python. Lequel respecte les règles de formation des identificateurs ?

score-total
score total
_score2
2score

_score2

Explication

Un identificateur peut commencer par un soulignement et contenir ensuite des lettres et des chiffres. « 2score » commence par un chiffre, « score total » contient un espace et « score-total » contient un trait d’union, qui est un caractère spécial.

20. Si x vaut 7 avant l’instruction « x = x + 4 », quelle valeur Python calcule-t-il avant de mettre à jour x ?

La valeur 7, conservée sans évaluer le membre droit
La valeur 11, obtenue avec l’ancienne valeur de x
La valeur 28, obtenue en multipliant les deux nombres
La valeur 4, attribuée directement depuis la constante

La valeur 11, obtenue avec l’ancienne valeur de x

Explication

Le membre droit est évalué avant l’affectation : l’expression utilise donc l’ancienne valeur de x et donne 7 + 4 = 11. La valeur 28 vient d’une multiplication, tandis que 7 ou 4 omettent l’évaluation complète de l’expression.

21. Une équipe traduit tout le code source en code machine exécutable et conserve le résultat dans un fichier objet. Quel mode d’exécution utilise-t-elle ?

La compilation
L’exécution directe du code source
L’interprétation
La semi-compilation

La compilation

Explication

La compilation traduit le code source en une fois en code machine directement exécutable, qui peut être conservé dans un fichier objet. L’interprétation traduit au fur et à mesure sans produire de programme objet, tandis que la semi-compilation produit un bytecode intermédiaire.

Révisez avec les flashcards

Mémorisez les réponses avec 47 flashcards sur Algorithmique et Python : bases.

Qu’est-ce que l’informatique ?

La science du traitement automatique de l’information.

Qu’est-ce qu’un algorithme ?

Une suite ordonnée d’instructions décrivant une démarche pour résoudre une série de problèmes équivalents.

Qu’est-ce qu’un programme ?

Une suite d’instructions définies dans un langage donné qui décrit un algorithme.

Voir les flashcards →

Approfondir avec la fiche

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

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