Quiz interactif généré par IA à partir du document : séance2_récursivité_V2.pptx
Question 1 sur 10 20:00
[{"id":53937,"question":"Quel est le cas de base pour calculer la factorielle d'un nombre n (n!) en récursivité ?","option_a":"n = 0","option_b":"n = 1","option_c":"n = 2","option_d":"n = -1","option_e":"","option_f":"","bonne_reponse":"a","explication":"Le cas de base pour la factorielle est n = 0, car 0! = 1. Cela permet d'arrêter la récursion et de retourner une valeur connue.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"a\", \"options\": {\"a\": \"n = 0\", \"b\": \"n = 1\", \"c\": \"n = 2\", \"d\": \"n = -1\"}}","_debug_options_count":4},{"id":53938,"question":"La récursivité est toujours plus efficace qu'une boucle itérative.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"b","explication":"Faux. La récursivité peut être moins efficace en termes de consommation mémoire (pile d'appels) et de temps d'exécution pour certains problèmes, bien qu'elle soit souvent plus 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\": \"Vrai\", \"b\": \"Faux\", \"c\": \"\", \"d\": \"\"}}","_debug_options_count":4},{"id":53939,"question":"Quel algorithme récursif est utilisé pour résoudre le problème des tours de Hanoï ?","option_a":"Diviser pour régner","option_b":"Force brute","option_c":"Backtracking","option_d":"Tri rapide","option_e":"","option_f":"","bonne_reponse":"a","explication":"Le problème des tours de Hanoï est résolu par l'algorithme 'Diviser pour régner', qui décompose le problème en sous-problèmes plus petits.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"a\", \"options\": {\"a\": \"Diviser pour régner\", \"b\": \"Force brute\", \"c\": \"Backtracking\", \"","_debug_options_count":4},{"id":53940,"question":"Que se passe-t-il si une fonction récursive n'a pas de cas de base ?","option_a":"La fonction s'exécute correctement","option_b":"Une erreur de compilation est générée","option_c":"Une boucle infinie se produit","option_d":"Le résultat est toujours 0","option_e":"","option_f":"","bonne_reponse":"c","explication":"Sans cas de base, la fonction s'appelle indéfiniment, ce qui entraîne une erreur de dépassement de pile (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\": \"La fonction s'exécute correctement\", \"b\": \"Une erreur de compila","_debug_options_count":4},{"id":53941,"question":"La récursivité terminale est une optimisation qui permet d'éviter la consommation excessive de mémoire.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"a","explication":"Vrai. La récursivité terminale (où l'appel récursif est la dernière instruction) peut être optimisée par le compilateur pour réutiliser la même pile d'appels, réduisant ainsi la consommation mémoire.","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":53942,"question":"Quel est le résultat de l'appel récursif suivant : fibonacci(4) ? (avec fibonacci(0)=0, fibonacci(1)=1)","option_a":"2","option_b":"3","option_c":"5","option_d":"8","option_e":"","option_f":"","bonne_reponse":"c","explication":"fibonacci(4) = fibonacci(3) + fibonacci(2) = (fibonacci(2)+fibonacci(1)) + (fibonacci(1)+fibonacci(0)) = (1+1) + (1+0) = 3. La suite de Fibonacci est : 0, 1, 1, 2, 3, 5, 8...","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"c\", \"options\": {\"a\": \"2\", \"b\": \"3\", \"c\": \"5\", \"d\": \"8\"}}","_debug_options_count":4},{"id":53943,"question":"La récursivité est adaptée pour résoudre des problèmes qui peuvent être décomposés en sous-problèmes identiques.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"a","explication":"Vrai. La récursivité est particulièrement efficace pour les problèmes qui suivent une structure récursive naturelle, comme les arbres, les fractales ou les suites mathématiques.","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":53944,"question":"Quel est l'avantage principal de la récursivité par rapport à l'itération ?","option_a":"Moins de lignes de code","option_b":"Une meilleure performance","option_c":"Une complexité algorithmique réduite","option_d":"Une lisibilité accrue","option_e":"","option_f":"","bonne_reponse":"d","explication":"L'avantage principal de la récursivité est souvent une meilleure lisibilité du code, surtout pour les problèmes naturellement récursifs (ex : parcours d'arbres). Cependant, elle peut être moins performante.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"d\", \"options\": {\"a\": \"Moins de lignes de code\", \"b\": \"Une meilleure performance\", \"c\": ","_debug_options_count":4},{"id":53945,"question":"Dans une fonction récursive, l'appel récursif doit toujours être précédé d'une condition.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"a","explication":"Vrai. L'appel récursif doit être précédé d'une condition (cas de base) pour éviter une boucle infinie et garantir la terminaison de la fonction.","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":53946,"question":"Quel est le résultat de la fonction récursive suivante pour n=5 ? function somme(n) { return n + somme(n-1); } (avec somme(0)=0)","option_a":"5","option_b":"10","option_c":"15","option_d":"20","option_e":"","option_f":"","bonne_reponse":"c","explication":"somme(5) = 5 + somme(4) = 5 + (4 + somme(3)) = ... = 5 + 4 + 3 + 2 + 1 + 0 = 15. Cette fonction calcule la somme des entiers de 1 à n.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"c\", \"options\": {\"a\": \"5\", \"b\": \"10\", \"c\": \"15\", \"d\": \"20\"}}","_debug_options_count":4}]
Chargement...
Cliquez sur une réponse pour valider
Les options de réponse ne sont pas disponibles pour cette question.