Exercice 1 - Récursivité · Bac Numérique et Sciences Informatiques Liban 2023 (jour 1)

Thème : Récursivité · Tiré du sujet Jour 1 (2023)

Énoncé

Exercice 1 (3 points)

Cet exercice porte sur l'algorithmique et la programmation.

Un palindrome est un mot qui se lit de la même manière de la gauche vers la droite que de la droite vers la gauche (exemple: « kayak » est un palindrome).

On propose ci-dessous une fonction pour tester si un mot est un palindrome.

On précise que, pour une chaîne de caractères chaine:

l'instruction len(chaine) renvoie sa longueur;

l'instruction chaine[-1] renvoie son dernier caractère;

l'instruction chaine[1:-1] renvoie la chaîne privée de son premier caractère et de son dernier caractère.

1.

On saisit, dans la console, l'instruction suivante:

tester_palindrome('kayak')

Combien de fois est appelée la fonction tester_palindrome lors de l'exécution de cette instruction ? On veillera à compter l'appel initial.

2.

a.

Justifier que la fonction tester_palindrome est récursive.

b.

Expliquer pourquoi l'appel à la fonction tester_palindrome se terminera quelle que soit la chaîne de caractères sur laquelle elle s'applique.

4.

Écrire le code d'une fonction itérative (non récursive) est_palindrome qui prend en paramètre une chaîne de caractères et renvoie un booléen égal à True si la chaîne de caractères est un palindrome, False sinon.

def est_palindrome(chaine):

Énoncé: Exercice 1 - Récursivité · Bac Numérique et Sciences Informatiques Liban 2023 (jour 1)

Corrigé

Corrigé proposé par AprenAI (non officiel)

1. Combien de fois est appelée la fonction tester_palindrome lors de l'exécution de cette instruction ? On veillera à compter l'appel initial.

Réponse : 3

2. a. Justifier que la fonction tester_palindrome est récursive.

Réponse : La fonction tester_palindrome s'appelle elle-même à la ligne 8 (return tester_palindrome(chaine)).

Les réponses des 2 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.