Fiche de révision - Langages et programmation
1. Constructions élémentaires
Section intitulée « 1. Constructions élémentaires »Tout programme impératif repose sur six briques :
| Construction | Python | Description |
|---|---|---|
| Affectation | x = 5 | Associe une valeur à un nom |
| Séquence | ligne après ligne | Exécution dans l'ordre |
| Conditionnelle | if / elif / else | Exécution selon une condition |
| Boucle bornée | for i in range(n): | Nombre de répétitions connu |
| Boucle non bornée | while condition: | Tant que la condition est vraie |
| Appel de fonction | def f(x): ... return | Bloc réutilisable avec paramètres et retour |
2. Variables et portée
Section intitulée « 2. Variables et portée »| Type | Définition | Portée |
|---|---|---|
| Locale | Définie dans une fonction | N'existe que dans cette fonction |
| Globale | Définie hors de toute fonction | Accessible partout (lecture) |
- Types simples (int, float, str, bool) : passage par copie
- Types mutables (list, dict) : passage par référence
3. Diversité des langages
Section intitulée « 3. Diversité des langages »| Trait | Python | C / Java / JavaScript |
|---|---|---|
| Typage | Dynamique | Statique (C/Java) |
| Blocs | Indentation | Accolades { } |
| Point-virgule | Non | Oui |
| Exécution | Interprété | Compilé (C/Java) |
Tous les langages impératifs partagent les mêmes constructions ; seule la syntaxe change.
4. Spécification
Section intitulée « 4. Spécification »- Prototype :
def f(param: type) -> type_retour: - Docstring : description, préconditions, postconditions
- Précondition : ce que les arguments doivent vérifier
- Postcondition : ce que le résultat garantit
def moyenne(notes: list) -> float: """Calcule la moyenne d'une liste. Preconditions: notes non vide, que des nombres. Postconditions: min(notes) <= résultat <= max(notes). """5. Assertions et tests
Section intitulée « 5. Assertions et tests »Assertion : assert condition, "message" → AssertionError si faux
Jeu de tests - couvrir :
| Type | Exemple |
|---|---|
| Cas normal | Entrée courante |
| Cas limite | 0, liste vide, chaîne vide |
| Cas extrême | Très grands/petits nombres |
| Cas d'erreur | Type invalide |
doctest : tests dans la docstring (>>> appel / résultat attendu)
TDD : écrire les tests avant le code
6. Modules
Section intitulée « 6. Modules »import math # module entierfrom random import randint # fonction spécifiqueimport csv as c # avec aliasModules utiles : math, random, csv, os, json, time, doctest
help(module)/dir(module): documentationif __name__ == "__main__":: code exécuté uniquement en lancement direct
7. Mise au point
Section intitulée « 7. Mise au point »| Type d'erreur | Quand | Exemple |
|---|---|---|
| Syntaxe | Avant exécution | if x = 5: |
| Exécution | Pendant | 10 / 0 |
| Logique | Résultat faux | Condition inversée |
Techniques de débogage :
print(): afficher l'état des variables- Débogueur : points d'arrêt, pas à pas (Thonny)
- Tests unitaires : tester chaque fonction isolément
Erreurs courantes : SyntaxError, NameError, TypeError, IndexError, KeyError, ZeroDivisionError, ValueError
© 2026 Corentin Dupont - LyCode
Créé avec Astro Starlight