QCM : Principes de la récursion en programmation — 8 questions

Questions et réponses du QCM

1. Qu'est-ce qu'une fonction récursive en programmation Python ?

Une fonction qui ne peut contenir qu'une seule instruction dans son corps.
Une fonction qui modifie ses paramètres à chaque appel sans jamais s'appeler elle-même.
Une fonction qui s'appelle elle-même selon une relation de récurrence, avec une condition d'arrêt.
Une fonction qui ne peut pas s'appeler elle-même et doit utiliser une boucle pour répéter ses actions.

Une fonction qui s'appelle elle-même selon une relation de récurrence, avec une condition d'arrêt.

Explication

Une fonction récursive en Python est une fonction qui s'appelle elle-même dans son corps, suivant une relation de récurrence, et doit comporter une condition d'arrêt pour éviter une récursion infinie.

2. Qu'est-ce qu'une fonction récursive en programmation Python ?

Une fonction qui appelle une autre fonction.
Une fonction qui s'appelle elle-même dans son corps d'exécution.
Une fonction qui ne possède pas de condition d'arrêt.
Une fonction qui utilise des boucles pour répéter des opérations.

Une fonction qui s'appelle elle-même dans son corps d'exécution.

Explication

Une fonction récursive est une fonction qui s'appelle elle-même dans son corps d'exécution, permettant de décomposer un problème en sous-problèmes plus simples, ce qui est fondamental en récursion.

3. Quelle est la relation de récurrence définissant la suite de Fibonacci ?

un+2 = 2 * un+1
un+2 = un-1 + un
un+2 = un * un+1
un+2 = un + un+1

un+2 = un + un+1

Explication

La suite de Fibonacci est définie par la relation de récurrence un+2 = un + un+1, ce qui signifie que chaque terme est la somme des deux termes précédents. Cette formule est explicitement mentionnée dans le contenu.

4. Quelle est la relation de récurrence définissant la suite de Fibonacci ?

F(n) = F(n-1) + F(n-2) avec F(0)=0, F(1)=1.
F(n) = 2*F(n-1) avec F(0)=1.
F(n) = n*F(n-1) avec F(1)=1.
F(n) = F(n-1) + 1 avec F(0)=0.

F(n) = F(n-1) + F(n-2) avec F(0)=0, F(1)=1.

Explication

La suite de Fibonacci est définie par la relation F(n) = F(n-1) + F(n-2) avec F(0)=0 et F(1)=1, une relation de récurrence classique en mathématiques et en informatique.

5. Quelle est la principale différence entre une approche récursive et une approche itérative pour résoudre une même problématique ?

L'approche récursive utilise des fonctions ; l'approche itérative utilise des structures de contrôle comme les boucles.
La récursion est toujours plus rapide que l'itération.
L'itération nécessite toujours plus de mémoire que la récursion.
La récursion ne peut pas être utilisée en Python.

L'approche récursive utilise des fonctions ; l'approche itérative utilise des structures de contrôle comme les boucles.

Explication

L'approche récursive utilise des appels de fonction successifs, tandis que l'itération répète une opération à l'aide de boucles ; la récursion peut entraîner une consommation mémoire importante en raison de la pile d'appels.

6. Quels éléments composent toujours la structure d'une fonction récursive ?

Une condition d'arrêt et une boucle while.
Une condition d'arrêt et un ou plusieurs appels récursifs.
Un seul appel récursif et une condition d'entrée.
Un calcul matriciel et une condition d'arrêt.

Une condition d'arrêt et un ou plusieurs appels récursifs.

Explication

La structure d'une fonction récursive doit toujours comporter une condition d'arrêt pour éviter une récursion infinie, et un ou plusieurs appels récursifs selon la relation de récurrence.

7. Quel est le rôle de l'appel principal dans une récursion ?

Il initialise la chaîne d'appels récursifs en lançant le premier appel.
Il nettoie la mémoire après l'exécution de la fonction.
Il est une boucle qui s'exécute plusieurs fois.
Il modifie la condition d'arrêt de la récursion.

Il initialise la chaîne d'appels récursifs en lançant le premier appel.

Explication

L'appel principal initie la chaîne récursive en lançant le premier appel à la fonction, ce qui permet de démarrer la décomposition du problème.

8. Quelle caractéristique distingue la récursion en Python par rapport à certains autres langages ?

Python supporte la récursion tout en permettant une gestion automatique de la pile d'appels.
Python ne supporte pas la récursion.
Python ne permet que la récursion terminale.
Python ne permet pas l'utilisation de conditions d'arrêt dans la récursion.

Python supporte la récursion tout en permettant une gestion automatique de la pile d'appels.

Explication

Python supporte la programmation récursive, ce qui n'est pas le cas dans tous les langages, et utilise une gestion automatique de la pile d'appels pour la récursion.

Révisez avec les flashcards

Mémorisez les réponses avec 9 flashcards sur Principes de la récursion en programmation.

Fonction récursive — définition ?

Fonction qui s'appelle elle-même pour résoudre un problème.

Fonction récursive — définition?

Fonction qui s'appelle elle-même pour résoudre un problème.

Condition d'arrêt — rôle ?

Stoppe la récursion pour éviter une boucle infinie.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Principes de la récursion en programmation.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM