Ajout de sujets de rattrapage

This commit is contained in:
Alexis Fourmaux 2025-11-01 18:24:10 +01:00
parent 4607e362a4
commit 2fe01835ff
6 changed files with 315 additions and 101 deletions

View file

@ -1,101 +1 @@
# Evaluation - Bases de Python
#### QCM (5pts)
1. (1pt) Qu'affiche le code suivant ?
```python
mon_age = 16
if mon_age >= 18:
print("Je suis majeur")
else:
print("Je suis mineur")
```
- [ ] Rien
- [ ] Je suis mineur
- [ ] Je suis majeur
- [ ] 16
2. (1pt) Si j'écris `ma_variable = []`, `ma_variable` est :
- [ ] Un dictionnaire vide
- [ ] Un tuple vide
- [ ] Une liste vide
- [ ] Une fonction
3. (1pt) Si j'écris la fonction suivante, quel nom serait le plus pertinent (à la place de `ma_fonction`) ?
```python
def ma_fonction(valeur):
for i in range(11):
print(f"{i} x {valeur} = {i*valeur}")
```
- [ ] `mult`
- [ ] `afficher_table_de_multiplication`
- [ ] `aff_tbl_mult`
- [ ] `table`
- [ ] `multiplication`
4. (1pt) Quelle est la valeur de `prix_ttc` à la fin du programme suivant ?
```python
tva = 20 / 100
prix_ht = 100
prix_ttc = prix_ht * (1 + tva)
```
- [ ] 100
- [ ] 2100
- [ ] 120
- [ ] 47
5. (1pt) Que retourne le code suivant ?
```python
ma_liste = []
for lettre in 'abcdefghijklmnopqrstuvwxyz':
ma_liste.append(lettre)
return ma_liste
```
- [ ] Une liste contenant uniquement la lettre a
- [ ] Une liste contenant toutes les lettres de l'alphabet
- [ ] Une liste vide
- [ ] Une chaîne de caractères contenant toutes les lettres de l'alphabet
- [ ] Une chaîne de caractères contenant uniquement la lettre a
6. (1pt) Quel opérateur utiliser pour dire "différent de"
- `not`
- `==`
- `<>`
- `!=`
#### Questions (8pts)
1. (2 pts) Quel est le type des valeurs suivantes ? (types possibles : int, float, bool, str)
- 2
- 2.4
- "Bonjour !"
- True
- "17"
2. (1pt) Donner les deux types de boucles possibles en Python.
3. (1pt) Quel type de boucle préfère-t-on si on a un nombre d'itérations connu d'avance ?
4. (3pts) Lire le code ci-dessous et répondre aux questions :
1. Qu'est-ce que `calculer_age` ?
2. Où se trouvent les paramètres ? la valeur de retour ?
3. Que vaut `mon_age` ?
```python
def calculer_age(annee_de_naissance):
annee_en_cours = 2025
age = annee_en_cours - annee_de_naissance
return age
mon_age = calculer_age(2000)
```
5. (1pt) Lorsqu'on ouvre un fichier dans un programme, que ne faut-il jamais oublier de faire une fois que l'on a terminé de l'utiliser ?
#### Exercices (7pts)
1. (3pts) Écrire un programme qui demande le prénom de l'utilisateur et le salue : si l'utilisateur s'appelle Jean, le programme devra afficher `Bonjour, Jean !`
2. (4pts) Écrire une **fonction** `maximum` qui retourne le plus grand nombre d'une liste de nombres.
- Par exemple, `maximum([3, 7, 12, 1 , 6])` devra retourner la valeur `12`
- Attention, "retourner" ne signifie pas "afficher"
- Toute trace de recherche sera valorisée
# Evaluation

View file

@ -0,0 +1,101 @@
# Evaluation - Bases de Python
#### QCM (5pts)
1. (1pt) Qu'affiche le code suivant ?
```python
mon_age = 16
if mon_age >= 18:
print("Je suis majeur")
else:
print("Je suis mineur")
```
- [ ] Rien
- [ ] Je suis mineur
- [ ] Je suis majeur
- [ ] 16
2. (1pt) Si j'écris `ma_variable = []`, `ma_variable` est :
- [ ] Un dictionnaire vide
- [ ] Un tuple vide
- [ ] Une liste vide
- [ ] Une fonction
3. (1pt) Si j'écris la fonction suivante, quel nom serait le plus pertinent (à la place de `ma_fonction`) ?
```python
def ma_fonction(valeur):
for i in range(11):
print(f"{i} x {valeur} = {i*valeur}")
```
- [ ] `mult`
- [ ] `afficher_table_de_multiplication`
- [ ] `aff_tbl_mult`
- [ ] `table`
- [ ] `multiplication`
4. (1pt) Quelle est la valeur de `prix_ttc` à la fin du programme suivant ?
```python
tva = 20 / 100
prix_ht = 100
prix_ttc = prix_ht * (1 + tva)
```
- [ ] 100
- [ ] 2100
- [ ] 120
- [ ] 47
5. (1pt) Que retourne le code suivant ?
```python
ma_liste = []
for lettre in 'abcdefghijklmnopqrstuvwxyz':
ma_liste.append(lettre)
return ma_liste
```
- [ ] Une liste contenant uniquement la lettre a
- [ ] Une liste contenant toutes les lettres de l'alphabet
- [ ] Une liste vide
- [ ] Une chaîne de caractères contenant toutes les lettres de l'alphabet
- [ ] Une chaîne de caractères contenant uniquement la lettre a
6. (1pt) Quel opérateur utiliser pour dire "différent de"
- `not`
- `==`
- `<>`
- `!=`
#### Questions (8pts)
1. (2 pts) Quel est le type des valeurs suivantes ? (types possibles : int, float, bool, str)
- 2
- 2.4
- "Bonjour !"
- True
- "17"
2. (1pt) Donner les deux types de boucles possibles en Python.
3. (1pt) Quel type de boucle préfère-t-on si on a un nombre d'itérations connu d'avance ?
4. (3pts) Lire le code ci-dessous et répondre aux questions :
1. Qu'est-ce que `calculer_age` ?
2. Où se trouvent les paramètres ? la valeur de retour ?
3. Que vaut `mon_age` ?
```python
def calculer_age(annee_de_naissance):
annee_en_cours = 2025
age = annee_en_cours - annee_de_naissance
return age
mon_age = calculer_age(2000)
```
5. (1pt) Lorsqu'on ouvre un fichier dans un programme, que ne faut-il jamais oublier de faire une fois que l'on a terminé de l'utiliser ?
#### Exercices (7pts)
1. (3pts) Écrire un programme qui demande le prénom de l'utilisateur et le salue : si l'utilisateur s'appelle Jean, le programme devra afficher `Bonjour, Jean !`
2. (4pts) Écrire une **fonction** `maximum` qui retourne le plus grand nombre d'une liste de nombres.
- Par exemple, `maximum([3, 7, 12, 1 , 6])` devra retourner la valeur `12`
- Attention, "retourner" ne signifie pas "afficher"
- Toute trace de recherche sera valorisée

View file

@ -0,0 +1,105 @@
---
puppeteer:
format: A4
---
# Evaluation - Bases de Python
## QCM (5 pts)
1. (1pt) Que va afficher le code suivant ?
```python
note = 19
if note > 10:
print("Admis")
else:
print("Ajourné")
```
- [ ] Rien
- [ ] Admis
- [ ] Ajourné
- [ ] 19
2. (1pt) Si j'écris `data = {}`, `data` est :
- [ ] Un ensemble vide
- [ ] Un dictionnaire vide
- [ ] Une liste vide
- [ ] Une chaîne vide
3. (1pt) Quel nom serait le plus pertinent pour la fonction ci-dessous ?
```python
def ma_fonction(n):
for i in range(1, 11):
print(f"{n} x {i} = {n*i}")
```
- [ ] `calcul`
- [ ] `multiplication`
- [ ] `afficher_table_de_multiplication`
- [ ] `tableau`
- [ ] `aff_tbl_mult`
4. (1pt) Quelle est la valeur finale de `total` dans ce code ?
```python
total = 4
for i in range(3):
total += 2
```
- [ ] 4
- [ ] 6
- [ ] 10
- [ ] 8
5. (1pt) Comment afficher le dernier élément d'une liste `ma_liste` ?
- [ ] `print(ma_liste[-1])`
- [ ] `print(ma_liste[^1])`
- [ ] `print(ma_liste[^0])`
- [ ] `print(ma_liste[len(ma_liste)])`
6. (1pt) Pour tester l'égalité de deux valeurs en Python, on utilise :
- [ ] `==`
- [ ] `!=`
- [ ] `=`
- [ ] `===`
## Questions (8 pts)
1. (2 pts) Donnez le type Python des valeurs suivantes (`int`, `float`, `bool`, `str`) :
- `False`
- `7.5`
- `"Python"`
- `5`
- `"3"`
2. (1pt) Quels sont les deux types de boucles possibles en Python ?
3. (1 pt) Quelle boucle est utilisée de préférence pour parcourir les éléments d'une liste ?
4. (3 pts) Analysez et expliquez le résultat du code :
1. À quoi sert la fonction `somme_pairs` ?
1. Que vaut `resultat` après exécution ?
1. Où sont les paramètres de la fonction ? Où est la valeur de retour ? (entourez et annotez dans le code)
```python
def somme_pairs(liste):
somme = 0
for element in liste:
if element % 2 == 0:
somme += element
return somme
resultat = somme_pairs([1, 2, 3, 4])
```
1. (1 pt) Quelle *méthode* faut-il utiliser pour ajouter un élément en fin de liste Python ?
## Exercices (7 pts)
1. (3 pts) Écrire un **programme** qui demande lâge dun utilisateur et affiche sil est "majeur" ou "mineur" (majeur à partir de 18 ans).
2. (4 pts) Écrire une **fonction** `moyenne` qui retourne la moyenne des valeurs dune liste fournie en paramètre.
- Par **exemple**, `moyenne([10, 20, 30])` doit retourner `20`.
- La fonction ne doit rien afficher, seulement **retourner** le résultat.

View file

@ -0,0 +1,48 @@
# Corrigé
## QCM
1. **Admis** (car 19 > 10)
2. **Un dictionnaire vide** (`{}` initialise un dict)
3. **afficher_table_de_multiplication** (fonction adaptée à la signature)
4. **10** (total = 4 + 2 + 2 + 2 = 10)
5. **print(l[-1])** (accesseur du dernier élément dune liste)
6. **==** (test d'égalité)
## Questions de cours
1. Types :
- `False` : **bool**
- `7.5` : **float**
- `"Python"` : **str**
- `5` : **int**
- `"3"` : **str**
2. Les trois structures de contrôle :
- Conditionnelles (`if`, `elif`, `else`)
- Boucles (`for`, `while`)
- Bloc d'exception (`try`, `except`)
3. **Boucle for** (adaptée pour parcourir les éléments dune liste)
4. Analyse du code :
a) La fonction `somme_pairs` renvoie la somme des éléments pairs dune liste passée en paramètre
b) Après exécution avec `[^1][^2][^3][^4]`, `resultat = 6` (car 2 + 4)
c) Les paramètres sont dans la définition de la fonction (`liste`), la valeur de retour est donnée par le mot-clé `return`.
5. **append** (la méthode `append()` permet dajouter en fin de liste)
## Exercices
1. Programme :
```python
age = int(input("Quel est votre âge ? "))
if age >= 18:
print("majeur")
else:
print("mineur")
```
2. Fonction moyenne :
```python
def moyenne(liste):
if len(liste) == 0:
return 0
return sum(liste) / len(liste)
```