Aller au contenu

Fiche de révision - Langages et programmation


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

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

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

  • 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

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

import math                    # module entier
from random import randint     # fonction spécifique
import csv as c                # avec alias

Modules utiles : math, random, csv, os, json, time, doctest

  • help(module) / dir(module) : documentation
  • if __name__ == "__main__": : code exécuté uniquement en lancement direct

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 :

  1. print() : afficher l'état des variables
  2. Débogueur : points d'arrêt, pas à pas (Thonny)
  3. Tests unitaires : tester chaque fonction isolément

Erreurs courantes : SyntaxError, NameError, TypeError, IndexError, KeyError, ZeroDivisionError, ValueError