Quiz interactif généré par IA à partir du document : 9- Fonctions Récursives.pptx
Question 1 sur 10 20:00
[{"id":160913,"question":"Quelle est la condition d'arrêt dans une fonction récursive ?","option_a":"A. Un appel à une autre fonction","option_b":"B. Une condition qui met fin à la récursion","option_c":"C. Une boucle infinie","option_d":"D. Un appel à la fonction main","option_e":"","option_f":"","bonne_reponse":"b","explication":"La condition d'arrêt est essentielle pour éviter une récursion infinie. Elle doit être atteinte pour que la fonction retourne une valeur et termine son exécution.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"A. Un appel à une autre fonction\", \"b\": \"B. Une condition qui me","_debug_options_count":4},{"id":160914,"question":"La fonction suivante calcule-t-elle correctement la factorielle de n ? \u003Cbr\u003Edef factorielle(n): \u003Cbr\u003E return n * factorielle(n-1)","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"b","explication":"Cette fonction manque une condition d'arrêt. Elle provoquera une erreur de récursion infinie car elle ne s'arrête jamais.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Vrai\", \"b\": \"Faux\", \"c\": \"\", \"d\": \"\"}}","_debug_options_count":4},{"id":160915,"question":"Quel est l'ordre de complexité temporelle de la fonction récursive pour calculer la factorielle de n ?","option_a":"A. O(1)","option_b":"B. O(n)","option_c":"C. O(n²)","option_d":"D. O(2^n)","option_e":"","option_f":"","bonne_reponse":"b","explication":"Chaque appel récursif effectue une opération constante et il y a n appels au total, donc la complexité est linéaire O(n).","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"A. O(1)\", \"b\": \"B. O(n)\", \"c\": \"C. O(n²)\", \"d\": \"D. O(2^n)\"}}","_debug_options_count":4},{"id":160916,"question":"Dans la récursivité, que représente la pile d'appels (stack) ?","option_a":"A. Une structure de données pour stocker les variables locales","option_b":"B. Une liste des fonctions appelées","option_c":"C. Une mémoire temporaire pour les appels de fonctions","option_d":"D. Toutes les réponses sont correctes","option_e":"","option_f":"","bonne_reponse":"d","explication":"La pile d'appels stocke les variables locales, les paramètres et l'adresse de retour pour chaque appel de fonction, permettant de revenir au contexte précédent après la fin de l'appel.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"d\", \"options\": {\"a\": \"A. Une structure de données pour stocker les variables locales\",","_debug_options_count":4},{"id":160917,"question":"La récursivité est-elle toujours plus efficace que l'itération ?","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"b","explication":"Non, la récursivité peut être moins efficace en termes de temps et d'espace mémoire en raison de l'empilement des appels. Elle est souvent choisie pour sa clarté plutôt que pour son efficacité.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Vrai\", \"b\": \"Faux\", \"c\": \"\", \"d\": \"\"}}","_debug_options_count":4},{"id":160918,"question":"Quel problème classique est souvent résolu par récursivité ?","option_a":"A. Tri par sélection","option_b":"B. Tours de Hanoï","option_c":"C. Recherche linéaire","option_d":"D. Calcul de la moyenne","option_e":"","option_f":"","bonne_reponse":"b","explication":"Les Tours de Hanoï sont un problème emblématique de la récursivité, où la solution se décompose naturellement en sous-problèmes similaires.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"A. Tri par sélection\", \"b\": \"B. Tours de Hanoï\", \"c\": \"C. Reche","_debug_options_count":4},{"id":160919,"question":"Que se passe-t-il si une fonction récursive n'a pas de condition d'arrêt ?","option_a":"A. Le programme s'arrête immédiatement","option_b":"B. Une erreur de compilation est générée","option_c":"C. Une erreur d'exécution (stack overflow)","option_d":"D. La fonction retourne une valeur par défaut","option_e":"","option_f":"","bonne_reponse":"c","explication":"Sans condition d'arrêt, la fonction s'appelle indéfiniment jusqu'à ce que la pile d'appels soit pleine, provoquant une erreur d'exécution (stack overflow).","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"c\", \"options\": {\"a\": \"A. Le programme s'arrête immédiatement\", \"b\": \"B. Une erreur de","_debug_options_count":4},{"id":160920,"question":"La récursivité indirecte existe-t-elle ?","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"a","explication":"Oui, la récursivité indirecte (ou récursivité mutuelle) existe lorsque deux fonctions s'appellent mutuellement, comme f() appelant g() qui appelle f().","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"a\", \"options\": {\"a\": \"Vrai\", \"b\": \"Faux\", \"c\": \"\", \"d\": \"\"}}","_debug_options_count":4},{"id":160921,"question":"Quel avantage offre la récursivité pour les structures de données arborescentes ?","option_a":"A. Une complexité réduite","option_b":"B. Un parcours plus naturel et intuitif","option_c":"C. Une exécution plus rapide","option_d":"D. Une mémoire optimisée","option_e":"","option_f":"","bonne_reponse":"b","explication":"La récursivité permet un parcours naturel des arbres (parcours préfixe, infixe, postfixe) en suivant la structure hiérarchique de l'arbre.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"A. Une complexité réduite\", \"b\": \"B. Un parcours plus naturel e","_debug_options_count":4},{"id":160922,"question":"Peut-on transformer une fonction récursive en fonction itérative ?","option_a":"A. Non, c'est impossible","option_b":"B. Oui, mais cela complique souvent le code","option_c":"C. Oui, et cela améliore toujours l'efficacité","option_d":"D. Oui, mais uniquement pour les fonctions simples","option_e":"","option_f":"","bonne_reponse":"b","explication":"Oui, toute fonction récursive peut être transformée en itérative en utilisant une pile ou une boucle, mais cela peut rendre le code moins lisible.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"A. Non, c'est impossible\", \"b\": \"B. Oui, mais cela complique souv","_debug_options_count":4}]
Chargement...
Cliquez sur une réponse pour valider
Les options de réponse ne sont pas disponibles pour cette question.