🇫🇷 FranceInformatique NSITerminaleProgrammation avancée Python
🐍D04🔥 Top Bac🎓 NSI Terminale · Coef. 16

🐍 Programmation avancée Python

Récursivité (cas de base + cas récursif), POO : classes, __init__, méthodes, encapsulation (@property), héritage (super()), polymorphisme.

🔄 Récursivité
Fonctions récursives
Définition
Fonction récursive = qui s'appelle elle-même.

RÈGLES OBLIGATOIRES :
1. Cas de BASE : condition d'arrêt (sans elle → récursion infinie)
2. Cas RÉCURSIF : appel avec paramètre STRICTEMENT plus petit

EXEMPLES CLASSIQUES :

# Factorielle
def fact(n):
    if n == 0: return 1      # cas de base
    return n * fact(n - 1)   # cas récursif

# Fibonacci
def fib(n):
    if n <= 1: return n      # cas de base
    return fib(n-1) + fib(n-2)

# PGCD (Euclide)
def pgcd(a, b):
    if b == 0: return a      # cas de base
    return pgcd(b, a % b)    # cas récursif

LIMITE Python : sys.getrecursionlimit() = 1000 par défaut
Fibonacci récursif naïf est O(2ⁿ) car il recalcule les mêmes valeurs. Utiliser la mémoïsation (@functools.lru_cache) ou la version itérative pour les grands n.
Exercices
EX-PY1FacilePuissance récursive

Écrire puissance(base, exp) récursive calculant base^exp. Cas de base : exp==0. Tester avec puissance(2,10).

🤖 Résoudre avec IA
← Précédent
Bases de données SQL
Suivant →
Architecture, OS & Réseaux