Aller au contenu

Présentation⚓︎

Une section avec des premiers exercices en autonomie.

On commence avec des jeux sérieux où il faut résoudre des puzzles avec des fonctions récursives. Ces fonctions récursives n'ont pas de cas de base à gérer, en effet, dans un cadre de programmation évènementielle la fin de partie est détectée, ce qui met fin à la fonction.

Dans les exercices suivants, on pourra retrouver le schéma classique d'une fonction récursive :

🐍 Script Python
def ma_fonction_recursive(n):
    if n == 0:
        ...  # traiter le cas de base
    else:
        ... # traiter le cas général
        ..., ma_fonction_recursive(n - 1), ...
        ...

Ou alors

🐍 Script Python
def ma_fonction_recursive(ma_liste):
    if len(ma_liste) == ...:
        ...  # traiter le cas de base avec 0 ou 1
    else:
        ... # traiter le cas général
        ...ma_liste.pop()
        ..., ma_fonction_recursive(ma_liste), ...
        ...

Ou bien des variantes avec deux paramètres.

Les objectifs étant

  1. Traiter le ou les cas de base.
  2. Traiter le cas général en s'appuyant sur un (ou plusieurs) appel récursif qui « se rapproche » d'un cas de base.

Dernière page

On terminera cette section en reprenant certains algorithmes avec une méthode plus efficace. On évitera de faire des copies de données trop lourdes. Il est parfois suffisant de travailler avec des indices et de laisser les données en place.