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)
```

View file

@ -0,0 +1,25 @@
# Evaluation - Représentation des nombres et opérations logiques
1. Convertissez les nombres suivants en décimal :
- $ 1110~1101_{|2} $
- $ 3E_{|16} $
2. Convertissez les nombres suivants en binaire :
- $ 45_{|10} $
- $ 9F_{|16} $
3. Convertissez les nombres suivants en hexadécimal :
- $ 101011_{|2} $
- $ 297_{|10} $
4. Sur le nombre $ 10110110_2 $, indiquez :
- Le bit de poids faible (LSB)
- Le bit de poids fort (MSB)
5. **Combien d'entiers** peut-on représenter avec un nombre de 7 bits ?
6. Mon ordinateur m'indique qu'un fichier fait 24 567 890 octets. Combien cela représente-t-il environ (2 chiffres après la virgule, attention aux unités) :
- en Mo (Mégaoctets) ?
- en Mio (Mébioctets) ?
7. Mon disque dur a une capacité de 512 Go (Gigaoctets). Combien cela représente-t-il en Gio (Gibioctets) ?
8. Donnez la table de vérité de l'opération logique OU.
9. Donnez le résultat des opérations booléennes suivantes si `a = True` et `b = False` :
- `a and b`
- `a or not b`
10. Donnez le résultat de l'opération bit à bit suivante (les nombres sont en base 10) :
- `85 | 60`

View file

@ -0,0 +1,35 @@
# Corrigé - Représentation des nombres et Opérations logiques
1. Conversion en décimal :
- $1101_2 = 1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 8 + 4 + 0 + 1 = 13$
- $3E_{16} = 3 \times 16^1 + 14 \times 16^0 = 48 + 14 = 62$
2. Conversion en binaire :
- $45_{10} = 101101_2$ (division successive par 2)
- $9F_{16} = 10011111_2$ (9 = 1001, F = 1111)
3. Conversion en hexadécimal :
- $101011_2 = 2B_{16}$ (regroupement en paquets de 4 bits: 0010 1011)
- $255_{10} = FF_{16}$
4. Nombre $10110110_2$ :
- LSB (bit de poids faible) = dernier bit à droite = 0
- MSB (bit de poids fort) = premier bit à gauche = 1
5. Avec 7 bits, on peut représenter $2^7 = 128$ entiers.
6. Conversion des octets en Mo et Mio :
- $24,567,890$ octets en Mo = $\frac{24,567,890}{10^6} = 24.57$ Mo
- $24,567,890$ octets en Mio = $\frac{24,567,890}{2^{20}} \approx 23.43$ Mio
7. Capacité de 512 Go en Gio :
- $512 \text{ Go} = \frac{512 \times 10^9}{2^{30}} \approx 476.84$ Gio
8. Table de vérité du ET logique :
| A | B | A ET B |
| :-- | :-- | :-- |
| False | False | False |
| False | True | False |
| True | False | False |
| True | True | True |
9. Résultats des opérations booléennes :
- \$ \neg (A \land B) = \neg (True \land False) = \neg (False) = True \$
- \$ A \lor \neg B = True \lor \neg (False) = True \lor True = True \$
10. Opération bit à bit $85 \mid 60$ :
- $85_{10} = 01010101_2$
- $60_{10} = 00111100_2$
- $01010101 \mid 00111100 = 01111101_2 = 125_{10}$