Module 4Déployer la solution Python
Chapitre 11 sur 11
Examen blanc et fiche mémo
Un examen blanc corrigé et la fiche mémo pseudo-code ↔ Python.
- ≈ 90 min
- 2 leçons
- 3 exercices
- TP
Module 4Déployer la solution Python
Chapitre 11 sur 11
Un examen blanc corrigé et la fiche mémo pseudo-code ↔ Python.
Objectifs
Avec ce chapitre, tu sauras…
Fais cet examen en 2 heures, sans le cours. Les parties A à C se font sur papier, la partie D sur ordinateur. Corrige-toi avec le barème, puis retravaille les chapitres où tu as perdu le plus de points.
Leçon 1
Tableau: Le barème
| Partie | Contenu | Points | Chapitres |
|---|---|---|---|
| A | questions à choix multiples | 10 | 1 à 10 |
| B | trace d'algorithmes | 8 | 4 à 6 |
| C | écriture d'algorithmes en pseudo-code | 10 | 3 à 6 |
| D | programmation Python | 12 | 7 à 9 |
| Total | 40 |
Leçon 2
| Notion | Pseudo-code OFPPT | Python |
|---|---|---|
| structure | Algorithme Nom · Var · Début … Fin | script .py, pas de déclaration |
| constante | Const PI = 3.14 : Réel | PI = 3.14 |
| types | Entier, Réel, Caractère, Chaîne, Booléen | int, float, str, str, bool |
1L'analyse d'un problème consiste à identifier…
2L'approche qui part du problème global pour le découper est…
323 mod 4 vaut…
4La boucle qui s'exécute au moins une fois est…
5Un paramètre résultat est passé…
6Le tri qui échange les éléments voisins jusqu'à ce qu'il n'y ait plus d'échange est le tri…
7En Python, Pour i de 1 à n s'écrit…
8Quelle collection Python est non modifiable ?
9Le bloc exécuté dans tous les cas est…
10L'outil qui crée un exécutable à partir d'un script Python est…
L'essentiel du chapitre
x := 5 |
x = 5 |
| entrée / sortie | Lire(x) · Ecrire("x = ", x) | x = int(input()) · print("x =", x) |
| opérateurs | div mod ^ · = # · ET OU NON | // % ** · == != · and or not |
| condition | Si c alors … Sinon … FinSi | if c: … else: |
| choix multiple | Cas v de : 1 : … Sinon : … FinCas | if/elif/else ou match v: case 1: |
| boucle Pour | Pour i de 1 à n faire … FinPour | for i in range(1, n + 1): |
| boucle TantQue | TantQue c faire … FinTQ | while c: |
| boucle Répéter | Répéter … Jusqu'à c | while True: … if c: break |
| fonction | Fonction f(a : Entier) : Réel … retourner r | def f(a): … return r |
| procédure | Procédure p(var x : Entier) | def p(...): sans return (modifier une liste, ou renvoyer un tuple) |
| tableau | T : tableau [1..n] d'Entier · T[1] | T = [0] * n · T[0] |
| matrice | M : tableau [1..L, 1..C] de Réel · M[i, j] | M = [[0] * C for _ in range(L)] · M[i][j] |
| chaîne | + · ch[i] · longueur | + · ch[i] · len(ch) · ch[a:b] |
| collections | — | list, tuple, set, dict |
| fichiers | — | with open(f, "r"/"w"/"a") as fic: · csv · json |
| erreurs | — | try / except / else / finally · raise · pdb |
| déploiement | — | pip · PyPI · py -m build · twine · PyInstaller · Sphinx |
Écris un programme Python qui : (a) lit un fichier ventes.csv (colonnes produit;quantite;prix) avec le module csv (3 pts) ; (b) calcule le chiffre d'affaires de chaque produit dans un dictionnaire (3 pts) ; (c) affiche le produit qui rapporte le plus (2 pts) ; (d) enregistre les résultats dans resultats.json (2 pts) ; (e) affiche un message clair si le fichier CSV n'existe pas ou si une quantité n'est pas un nombre (2 pts).
Fais la trace de chaque algorithme et donne l'affichage. (a) pour x = 7 (4 pts) ; (b) pour le tableau T = [4, 1, 3] (4 pts).
// (a)
c := 0
TantQue x # 1 faire
Si x mod 2 = 0 alors
x := x div 2
Sinon
x := 3 * x + 1
FinSi
c := c + 1
FinTQ
Ecrire(c)
// (b)
Pour i de 1 à 2 faire
Pour j de 1 à 3 - i faire
Si T[j] > T[j + 1] alors
x := T[j]
T[j] := T[j + 1]
T[j + 1] := x
FinSi
FinPour
FinPour
Ecrire(T[1], T[2], T[3])NbOccurrences(T : Vecteur ; n : Entier ; v : Entier) : Entier qui compte le nombre de fois où v apparaît dans T. (3 pts)MinMax(T : Vecteur ; n : Entier ; var mini, maxi : Entier). (3 pts)