Comment calculer la somme d’une liste en Python avec la méthode récursive ?

Qu’est-ce la méthode récursive en python ?

La méthode récursive en Python est une technique de programmation qui consiste à utiliser une fonction qui s’appelle elle-même pour résoudre un problème. Cela permet de décomposer un problème complexe en sous-problèmes plus simples qui peuvent être résolus de manière indépendante, puis d’assembler les solutions pour obtenir la solution globale.

Une fonction récursive doit avoir au moins un cas de base (ou cas d’arrêt), qui est une condition pour laquelle la fonction ne s’appelle plus elle-même, et au moins un cas récursif, où la fonction s’appelle elle-même avec des arguments différents pour résoudre un sous-problème.

Lorsqu’une fonction s’appelle elle-même, une nouvelle instance de cette fonction est créée, qui est exécutée en parallèle avec l’instance précédente. Cela signifie que chaque appel récursif crée une nouvelle frame de pile, qui contient des informations sur les variables locales et les paramètres de la fonction en cours d’exécution.

Comment calculer la somme d’une liste en Python avec la méthode récursive ?

Voici un exemple de fonction Python qui calcule la somme des éléments d’une liste en utilisant la méthode récursive :

def sum_list(arr):
    if len(arr) == 0:
        return 0
    else:
        return arr[0] + sum_list(arr[1:])

Vous pouvez ensuite utiliser cette fonction en l’appelant avec une liste, par exemple :

print(sum_list([1,2,3,4,5])) # affiche 15

Cela calcule la somme des éléments de la liste en utilisant des appels récursifs :

1 + sum_list([2,3,4,5]) =

1 + (2 + sum_list([3,4,5])) =

1 + (2 + (3 + sum_list([4,5]))) =

1 + (2 + (3 + (4 + sum_list([5])))) =

1 + (2 + (3 + (4 + (5 + sum_list([]))))) =

1 + (2 + (3 + (4 + (5 + 0)))) = 15

Il est important de noter que cette méthode récursive peut causer des problèmes de mémoire pour des listes très longues, il existe d’autres méthodes plus adaptées pour cela.

Comment fonctionne la fonction somme récursive ?

Voici comment fonctionne le code pour calculer la somme d’une liste en utilisant la méthode récursive étape par étape :

  1. La fonction sum_list prend en entrée une liste arr.

  2. Il y a une condition de base qui vérifie si la longueur de la liste est égale à 0. Si cette condition est vraie, la fonction retourne 0. Cette condition est utilisée pour s’assurer que l’appel récursif s’arrête quand il n’y a plus d’éléments dans la liste.

  3. Sinon, si la longueur de la liste n’est pas égale à 0, la fonction retourne la première valeur de la liste (arr[0]) plus le résultat de l’appel récursif de la fonction sur la liste sans sa première valeur (arr[1:]).

  4. L’appel récursif continue jusqu’à ce que la condition de base soit remplie, c’est-à-dire lorsque la longueur de la liste est égale à 0. À ce moment, tous les appels récursifs se résolvent et retournent leur résultat à l’appel récursif précédent, en ajoutant tous les éléments de la liste ensemble.

  5. Enfin, le résultat final de la somme des éléments de la liste est retourné.

print(sum_list([1,2,3,4,5]))
  • Lors de la première étape, la fonction va renvoyer 1 + sum_list([2,3,4,5])
  • Lors de la deuxième étape, la fonction va renvoyer 1 + (2 + sum_list([3,4,5]))
  • Lors de la troisième étape, la fonction va renvoyer 1 + (2 + (3 + sum_list([4,5])))
  • Lors de la quatrième étape, la fonction va renvoyer 1 + (2 + (3 + (4 + sum_list([5]))))
  • Lors de la cinquième étape, la fonction va renvoyer 1 + (2 + (3 + (4 + (5 + sum_list([])))))
  • Lors de la sixième étape, la fonction va renvoyer 1 + (2 + (3 + (4 + (5 + 0)))) = 15

Dans cet exemple, l’appel récursif s’est effectué 5 fois pour arriver à la somme des éléments de la liste qui est 15.

En résumé

Pour résumer, la récursion est une technique de programmation qui consiste à décomposer un problème complexe en sous-problèmes plus simples, qui peuvent être résolus de manière indépendante, en utilisant des fonctions qui s’appellent elles-même. Cela permet de simplifier la compréhension et la résolution de certains problèmes en utilisant des étapes simples à comprendre et à suivre.

Pour aller plus loin

NSI sujet bac 2022 – Exercice n°4

Nature de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30 + 1 heure
  • Coefficient : 16
  • Format : L’épreuve terminale obligatoire de spécialité est composée de deux parties :
    • une partie écrite, comptant pour 12 points sur 20,
    • et une partie pratique comptant pour 8 points sur 20.

La note globale de l’épreuve est donnée sur 20 points.

Partie écrite de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30
  • Modalités
    • La partie écrite consiste en la résolution de trois exercices permettant d’évaluer les connaissances et les capacités attendues conformément aux programmes de première et de terminale de la spécialité.
    • Chaque exercice est noté sur 4 points.
    • Le sujet propose cinq exercices, parmi lesquels le candidat choisit les trois qu’il traitera.
    • Ces cinq exercices permettent d’aborder les différentes rubriques du programme, sans obligation d’exhaustivité. Le sujet comprend obligatoirement au moins un exercice relatif à chacune des trois rubriques suivantes : traitement de données en tables et bases de données ; architectures matérielles, systèmes d’exploitation et réseaux ; algorithmique, langages et programmation.

Exercice n°4

L’exercice n°4 est extrait du sujet de bac 2022 de l’épreuve de Spécialité ; Numérique et Sciences Informatiques (NSI) de la filière générale. La calculatrice était interdite.

Thèmes abordés

Cet exercice porte sur les bases de données relationnelles et le langage SQL.

Cliquez sur lien pour télécharger l’exercice n°4 du sujet de  bac NSI officiel.

NSI sujet bac 2022 – Exercice n°3

Nature de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30 + 1 heure
  • Coefficient : 16
  • Format : L’épreuve terminale obligatoire de spécialité est composée de deux parties :
    • une partie écrite, comptant pour 12 points sur 20,
    • et une partie pratique comptant pour 8 points sur 20.

La note globale de l’épreuve est donnée sur 20 points.

Partie écrite de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30
  • Modalités
    • La partie écrite consiste en la résolution de trois exercices permettant d’évaluer les connaissances et les capacités attendues conformément aux programmes de première et de terminale de la spécialité.
    • Chaque exercice est noté sur 4 points.
    • Le sujet propose cinq exercices, parmi lesquels le candidat choisit les trois qu’il traitera.
    • Ces cinq exercices permettent d’aborder les différentes rubriques du programme, sans obligation d’exhaustivité. Le sujet comprend obligatoirement au moins un exercice relatif à chacune des trois rubriques suivantes : traitement de données en tables et bases de données ; architectures matérielles, systèmes d’exploitation et réseaux ; algorithmique, langages et programmation.

Exercice n°3

L’exercice n°3 est extrait du sujet de bac 2022 de l’épreuve de Spécialité ; Numérique et Sciences Informatiques (NSI) de la filière générale. La calculatrice était interdite.

Thèmes abordés

Cet exercice porte sur les réseaux et les protocoles de routages.

Cliquez sur lien pour télécharger l’exercice n°3 du sujet de  bac NSI officiel.

NSI sujet bac 2022 – Exercice n°2

Nature de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30 + 1 heure
  • Coefficient : 16
  • Format : L’épreuve terminale obligatoire de spécialité est composée de deux parties :
    • une partie écrite, comptant pour 12 points sur 20,
    • et une partie pratique comptant pour 8 points sur 20.

La note globale de l’épreuve est donnée sur 20 points.

Partie écrite de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30
  • Modalités
    • La partie écrite consiste en la résolution de trois exercices permettant d’évaluer les connaissances et les capacités attendues conformément aux programmes de première et de terminale de la spécialité.
    • Chaque exercice est noté sur 4 points.
    • Le sujet propose cinq exercices, parmi lesquels le candidat choisit les trois qu’il traitera.
    • Ces cinq exercices permettent d’aborder les différentes rubriques du programme, sans obligation d’exhaustivité. Le sujet comprend obligatoirement au moins un exercice relatif à chacune des trois rubriques suivantes : traitement de données en tables et bases de données ; architectures matérielles, systèmes d’exploitation et réseaux ; algorithmique, langages et programmation.

Exercice n°2

L’exercice n°1 est extrait du sujet de bac 2022 de l’épreuve de Spécialité ; Numérique et Sciences Informatiques (NSI) de la filière générale. La calculatrice était interdite.

Thèmes abordés

Cet exercice porte sur les structures de données.

Cliquez sur lien pour télécharger l’exercice n°2 du sujet de  bac NSI officiel.

NSI sujet bac 2022 – Exercice n°1

Nature de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30 + 1 heure
  • Coefficient : 16
  • Format : L’épreuve terminale obligatoire de spécialité est composée de deux parties :
    • une partie écrite, comptant pour 12 points sur 20,
    • et une partie pratique comptant pour 8 points sur 20.

La note globale de l’épreuve est donnée sur 20 points.

Partie écrite de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30
  • Modalités
    • La partie écrite consiste en la résolution de trois exercices permettant d’évaluer les connaissances et les capacités attendues conformément aux programmes de première et de terminale de la spécialité.
    • Chaque exercice est noté sur 4 points.
    • Le sujet propose cinq exercices, parmi lesquels le candidat choisit les trois qu’il traitera.
    • Ces cinq exercices permettent d’aborder les différentes rubriques du programme, sans obligation d’exhaustivité. Le sujet comprend obligatoirement au moins un exercice relatif à chacune des trois rubriques suivantes : traitement de données en tables et bases de données ; architectures matérielles, systèmes d’exploitation et réseaux ; algorithmique, langages et programmation.

Exercice n°1

L’exercice n°1 est extrait du sujet de bac 2022 de l’épreuve de Spécialité ; Numérique et Sciences Informatiques (NSI) de la filière générale. La calculatrice était interdite.

Thèmes abordés

Cet exercice porte sur les arbres binaires de recherche, la programmation orientée
objet et la récursivité.

Cliquez sur lien pour télécharger l’exercice n°1 du sujet de  bac NSI officiel.

NSI sujet bac 2022 – Exercice n°5

5Nature de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30 + 1 heure
  • Coefficient : 16
  • Format : L’épreuve terminale obligatoire de spécialité est composée de deux parties :
    • une partie écrite, comptant pour 12 points sur 20,
    • et une partie pratique comptant pour 8 points sur 20.

La note globale de l’épreuve est donnée sur 20 points.

Partie écrite de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30
  • Modalités
    • La partie écrite consiste en la résolution de trois exercices permettant d’évaluer les connaissances et les capacités attendues conformément aux programmes de première et de terminale de la spécialité.
    • Chaque exercice est noté sur 4 points.
    • Le sujet propose cinq exercices, parmi lesquels le candidat choisit les trois qu’il traitera.
    • Ces cinq exercices permettent d’aborder les différentes rubriques du programme, sans obligation d’exhaustivité. Le sujet comprend obligatoirement au moins un exercice relatif à chacune des trois rubriques suivantes : traitement de données en tables et bases de données ; architectures matérielles, systèmes d’exploitation et réseaux ; algorithmique, langages et programmation.

Exercice n°5

L’exercice n°5 est extrait du sujet de bac 2022 de l’épreuve de Spécialité ; Numérique et Sciences Informatiques (NSI) de la filière générale. La calculatrice était interdite.

Thèmes abordés

Cet exercice porte sur la Programmation Orientée Objet.

Cliquez sur lien pour télécharger l’exercice n°5 du sujet de  bac NSI officiel.

Quel livre choisir en Terminale NSI ?

Il existe actuellement 5 livres destinés aux élèves de Terminale qui ont choisi la spécialité NSI  (« Numérique et sciences informatiques ») et qui souhaitent acquérir un très bon niveau dans l’optique d’aborder dans les meilleures conditions la Terminale et, bien sûr, de réussir le bac, pourquoi pas avec mention.

Ils sont un outil indispensable pour ceux qui souhaitent poursuivre des études supérieures dans une formation ayant une composante informatique importante.

Tous ces livres de Terminale NSI, suivent strictement le programme de la spécialité conforme à la réforme du Bac 2021. Ils exposent en détail chaque notion avec rigueur. Ils aident à acquérir des savoirs solides permettant de développer des capacités de raisonnement et de résolution qui sont la clé de la réussite dans les études supérieures scientifiques.

Les 5 livres de Terminale NSI ont des différences que je développerai dans d’autres articles mais aussi des points communs.

  • Le cours, sous forme de synthèse ou rappel de cours,  pour vous permettre d’accéder à une connaissance synthétique des notions.
  • Des QCM, pour tester votre compréhension du cours et vous éviter de tomber dans les erreurs classiques.
  • Des exercices et les corrigés détaillés et commentés.

NSI sujet bac 2022 – Exercice n°4

2Nature de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30 + 1 heure
  • Coefficient : 16
  • Format : L’épreuve terminale obligatoire de spécialité est composée de deux parties :
    • une partie écrite, comptant pour 12 points sur 20,
    • et une partie pratique comptant pour 8 points sur 20.

La note globale de l’épreuve est donnée sur 20 points.

Partie écrite de l’épreuve  de NSI au bac en terminale

  • Durée : 3 heures 30
  • Modalités
    • La partie écrite consiste en la résolution de trois exercices permettant d’évaluer les connaissances et les capacités attendues conformément aux programmes de première et de terminale de la spécialité.
    • Chaque exercice est noté sur 4 points.
    • Le sujet propose cinq exercices, parmi lesquels le candidat choisit les trois qu’il traitera.
    • Ces cinq exercices permettent d’aborder les différentes rubriques du programme, sans obligation d’exhaustivité. Le sujet comprend obligatoirement au moins un exercice relatif à chacune des trois rubriques suivantes : traitement de données en tables et bases de données ; architectures matérielles, systèmes d’exploitation et réseaux ; algorithmique, langages et programmation.

Exercice n°4

L’exercice n°4 est extrait du sujet de bac 2022 de l’épreuve de Spécialité ; Numérique et Sciences Informatiques (NSI) de la filière générale. La calculatrice était interdite.

Thèmes abordés

Cet exercice, composé de deux parties A et B, porte sur le parcours des arbres
binaires, le principe “diviser pour régner” et la récursivité.

Cliquez sur lien pour télécharger l’exercice n°4 du sujet de  bac NSI officiel.

Show Buttons
Hide Buttons
Translate »