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.

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 représentations binaires et les protocoles de routage.

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°2 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.

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

NSI sujet bac 2022 – Exercice n°1

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°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 composé de deux parties A et B, porte sur les structures de données.

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

Comment vérifier si un mot est un Palindrome avec la méthode récursive en Python ?

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.

Qu’est-ce qu’un palindrome ?

Un palindrome est un mot, une phrase, un nombre ou une séquence de caractères qui est lu de la même façon dans les deux sens. Il s’agit d’une séquence symétrique qui peut être lue de gauche à droite ou de droite à gauche, sans aucune modification.

Par exemple, le mot “radar” est un palindrome car il se lit de la même façon dans les deux sens. De même, la phrase “Le verbe n’est pas du sel” est un palindrome car elle se lit de la même façon dans les deux sens, en ignorant les espaces et les signes de ponctuation.

Les palindromes peuvent être utilisés dans diverses applications, comme les codes de sécurité, les énigmes, les jeux de mots, etc. Il existe également des nombres palindromes, comme 121, qui est lu de la même façon dans les deux sens.

Il est possible de vérifier si un mot, une phrase, un nombre ou une séquence de caractères est un palindrome en comparant la version originale avec une version inversée de cette séquence. Si les deux sont identiques, alors c’est un palindrome.

Exemples de mots palindromes en français

Voici quelques exemples de mots palindromes en français:

  • Radar
  • Laval
  • Régler
  • Ressasser
  • Sator Arepo Tenet Opera Rotas
  • été
  • Hannah
  • Zen
  • ados

Il existe également des phrases et des expressions palindromes en français, comme :

  • Esope reste ici et se repose
  • La belle-mère
  • Le verbe n’est pas du sel

Il existe également des nombres palindrome en français, comme :

  • 121,

Il est important de noter que les palindromes ne sont pas limités aux langues, ils peuvent apparaître dans n’importe quelle langue ou script.

Comment implémenter la fonction palindrome en Python avec la méthode récursive ?

Voici un exemple de code Python pour une fonction récursive qui vérifie si un mot est un palindrome :

def palindrome(mot):

  # Cas de base : 
  if len(mot) <= 1:  # si le mot est vide ou n'a qu'un seul caractère, c'est un palindrome
      return True
  
  # Cas récursif : vérifier si le premier et le dernier caractère sont les mêmes.
  if mot[0] == mot[-1]:   # S'ils le sont, supprimez le premier et le dernier caractère et vérifiez le mot restant de manière récursive.
      return palindrome(mot[1:-1])
  else:
    return False   # Si ce n'est pas le cas, le mot n'est pas un palindrome.

Pour un aperçu, 👉 cliquez sur une couverture pour feuilleter le livre sur Amazon 📚.


Comment fonctionne la fonction  palindrome ?

Voici une explication détaillée de chaque étape du code de la fonction récursive pour vérifier si un mot est un palindrome :

  1. La première étape consiste à vérifier si le mot a une longueur inférieure ou égale à 1. Cette condition est vérifiée avec l’instruction if len(word) <= 1:. Si cette condition est vraie, cela signifie que le mot est vide ou qu’il ne contient qu’un seul caractère. Dans ce cas, la fonction retourne True, car un mot vide ou un mot avec un seul caractère est considéré comme un palindrome.

  2. Si la première condition n’est pas remplie, la fonction vérifie si le premier et le dernier caractère du mot sont différents. Cette condition est vérifiée avec l’instruction if mot[0] != mot[-1]:. Si cette condition est vraie, cela signifie que le mot n’est pas un palindrome, car le premier et le dernier caractère ne sont pas les mêmes. Dans ce cas, la fonction retourne False.

  3. Si les deux premières conditions ne sont pas remplies, cela signifie que le mot a plus d’un caractère et que le premier et le dernier caractère sont les mêmes. Dans ce cas, la fonction effectue un appel récursif à elle-même en passant en argument la sous-chaîne du mot, sans le premier et le dernier caractère. Cette sous-chaîne est obtenue avec l’instruction mot[1:-1]. L’appel récursif est effectué avec l’instruction return palindrome(mot[1:-1])

  4. Lors de l’appel récursif, la fonction recommence à l’étape 1 en prenant en entrée la sous-chaîne du mot. La récursion se terminera lorsque la fonction ne pourra plus découper la chaine de caractère. Si tout les appels récursifs ont retourné True, la fonction retournera finalement True, sinon elle retournera False.

Il est important de noter que la récursion peut causer des problèmes de dépassement de pile si elle est mal utilisée. Par exemple, si la condition d’arrêt n’est pas correctement définie, la fonction peut continuer à s’appeler elle-même indéfiniment, causant ainsi un dépassement de pile.

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.

NSI sujet bac 2023 – Sujet 0-B – 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 comporte trois exercices indépendants les uns des autres, qui permettent d’évaluer les connaissances et compétences des candidats.

Exercice n°2

L’exercice n°2 est extrait du sujet de bac 2023 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 est consacré à l’analyse et à l’écriture de programmes récursifs.

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

Pour aller plus loin


Différence entre récursion et itération

Un programme est dit récursif lorsqu’une entité s’appelle elle-même. Un programme est appelé itératif lorsqu’il y a une boucle (ou répétition).

Exemple : Programme pour trouver la factorielle d’un nombre

Vous trouverez ci-dessous des explications détaillées pour illustrer la différence entre les deux :

Pour un aperçu, 👉 cliquez sur une couverture pour feuilleter le livre sur Amazon 📚.


1 – Complexité du temps : Trouver la complexité temporelle de la récursion est plus difficile que celle de l’itération.

  • Récursion : La complexité temporelle de la récursivité peut être trouvée en trouvant la valeur du n-ième appel récursif par rapport aux appels précédents. Ainsi, trouver le cas de destination en termes de cas de base, et le résoudre en termes de cas de base nous donne une idée de la complexité temporelle des équations récursives.
  • Itération : La complexité temporelle de l’itération peut être trouvée en trouvant le nombre de cycles qui se répètent à l’intérieur de la boucle.

2 – Utilisation : L’utilisation de l’une ou l’autre de ces techniques est un compromis entre la complexité temporelle et la taille du code. Si la complexité temporelle est le point central, et que le nombre d’appels récursifs est important, il est préférable d’utiliser l’itération. Cependant, si la complexité temporelle n’est pas un problème et que la taille du code l’est, la récursivité serait la solution.

  • Récursion : La récursivité consiste à appeler la même fonction à nouveau, et donc, a une très petite longueur de code. Cependant, comme nous l’avons vu dans l’analyse, la complexité temporelle de la récursion peut devenir exponentielle lorsqu’il y a un nombre considérable d’appels récursifs. Par conséquent, l’utilisation de la récursion est avantageuse dans le cas d’un code plus court, mais d’une complexité temporelle plus élevée.
    Itération : L’itération est la répétition d’un bloc de code. Cela implique une plus grande taille de code, mais la complexité temporelle est généralement moindre que pour la récursivité.

3 – Répétition infinie : La répétition infinie en récursion peut entraîner un crash du processeur mais en itération, elle s’arrête lorsque la mémoire est épuisée.

  • Récursion : Dans la récursion, des appels récursifs infinis peuvent se produire en raison d’une erreur de spécification de la condition de base, qui, ne devenant jamais fausse, continue d’appeler la fonction, ce qui peut entraîner un crash du CPU du système.
  • Itération : L’itération infinie due à une erreur dans l’affectation ou l’incrémentation de l’itérateur, ou dans la condition de fin, conduira à des boucles infinies, qui peuvent ou non conduire à des erreurs système, mais arrêteront sûrement l’exécution du programme plus loin.
PROPRIÉTÉ RÉCURSION ITÉRATION
Définition La fonction s’appelle elle-même. Un ensemble d’instructions exécutées de manière répétitive.
Application Pour les fonctions. Pour les boucles.
Terminaison Par le cas de base, où il n’y aura pas d’appel de fonction. Lorsque la condition de sortie de l’itérateur cesse d’être remplie.
Utilisation Utilisé lorsque la taille du code doit être petite et que la complexité du temps ne pose pas de problème. Utilisé lorsque la complexité temporelle doit être compensée par une taille de code plus importante.
Taille du code Taille du code plus petite Taille du code plus grande.
Complexité temporelle Très grande (généralement exponentielle) complexité temporelle. Complexité temporelle relativement plus faible (généralement polynomiale et logarithmique).

NSI sujet bac 2021 – 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 2021 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 en général et la récursivité en particulier.

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

NSI sujet bac 2021 – 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°2 est extrait du sujet de bac 2021 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 en général et la récursivité en particulier.

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

Show Buttons
Hide Buttons
Translate »