Impossible de charger les questions.
✓ Signalement envoyé, merci !
sur 10 questions
Quiz — Algorithmique et programmation Python
10 questions · Correction immédiate · Sans inscription
Question 1 : Que renvoie la fonction suivante pour `f(3)` ? `def f(x): return x**2 + 2*x`
- $11$
- ✓ $15$
- $9$
- $12$
Explication : $3^2 + 2 \times 3 = 9 + 6 = 15$. L'opérateur `**` est la puissance et `*` la multiplication.
Question 2 : Que vaut `17 // 5` et `17 % 5` en Python ?
- `3.4` et `2`
- ✓ `3` et `2`
- `3` et `0.4`
- `2` et `3`
Explication : `//` est le quotient entier de la division euclidienne ($17 = 5 \times 3 + 2$) et `%` le reste. On obtient 3 et 2.
Question 3 : Combien de fois la boucle `for k in range(2, 9):` s'exécute-t-elle ?
- 9 fois
- 8 fois
- ✓ 7 fois
- 6 fois
Explication : `range(2, 9)` parcourt 2, 3, 4, 5, 6, 7, 8 : la borne 9 est exclue, soit $9 - 2 = 7$ valeurs.
Question 4 : Après `s = 0` puis `for k in range(1, 5): s = s + k`, que vaut `s` ?
- ✓ $10$
- $15$
- $5$
- $4$
Explication : On additionne 1, 2, 3 et 4 (la valeur 5 est exclue) : $s = 10$.
Question 5 : Quelle valeur renvoie `seuil()` ? `def seuil(): u = 1 ; n = 0 ; while u < 100: u = 2*u ; n = n + 1 ; return n`
- $6$
- ✓ $7$
- $8$
- $100$
Explication : $u$ prend les valeurs 2, 4, 8, 16, 32, 64, 128. La boucle s'arrête dès que $u \geq 100$, après 7 doublements : `n` vaut 7.
Question 6 : Que contient la liste `L = [2*x + 1 for x in range(4)]` ?
- ✓ `[1, 3, 5, 7]`
- `[3, 5, 7, 9]`
- `[1, 3, 5, 7, 9]`
- `[2, 4, 6, 8]`
Explication : $x$ parcourt 0, 1, 2, 3 et $2x + 1$ donne 1, 3, 5, 7. C'est une liste définie en compréhension.
Question 7 : Soit `L = [4, 9, 16, 25]`. Que valent `L[1]` et `len(L)` ?
- `4` et `4`
- ✓ `9` et `4`
- `9` et `3`
- `4` et `3`
Explication : L'indexation commence à 0 : `L[0]` vaut 4 et `L[1]` vaut 9. `len(L)` est le nombre d'éléments, soit 4.
Question 8 : Quelle liste donne `[x for x in range(1, 20) if x % 6 == 0]` ?
- `[6, 12]`
- `[0, 6, 12, 18]`
- ✓ `[6, 12, 18]`
- `[1, 7, 13, 19]`
Explication : On garde les entiers de 1 à 19 dont le reste dans la division par 6 est nul : 6, 12 et 18. Le 0 est exclu car `range` commence à 1.
Question 9 : Que renvoie `moyenne([2, 4, 9])` avec `def moyenne(L): s = 0 ; for x in L: s = s + x ; return s / len(L)` ?
- $15$
- ✓ $5$
- $4$
- $3$
Explication : La boucle `for x in L` parcourt les éléments : $s = 2 + 4 + 9 = 15$, puis $15 / 3 = 5$.
Question 10 : Un algorithme en langage naturel contient « $u \leftarrow 3u + 1$ ». Quelle est la traduction correcte en Python ?
- `u == 3*u + 1`
- `3*u + 1 = u`
- ✓ `u = 3*u + 1`
- `u <- 3u + 1`
Explication : La flèche ← est l'affectation : la nouvelle valeur de `u` est calculée à partir de l'ancienne, ce qui s'écrit `u = 3*u + 1`. Le symbole `==` est un test d'égalité et le produit exige `*`.