Quiz interactif généré par IA à partir du document : 67518eae1e271_Corrigé-Fichier Texte+ Fichier typé + Récursivité.pdf
Question 1 sur 5 10:00
[{"id":497,"question":"Quel est le principal risque d'une fonction récursive mal conçue ?","option_a":"Une erreur de syntaxe","option_b":"Un dépassement de la pile d'appels (stack overflow)","option_c":"Une boucle infinie","option_d":"Un plantage du système","option_e":"","option_f":"","bonne_reponse":"b","explication":"Une fonction récursive sans condition de terminaison ou avec une profondeur excessive consomme toute la mémoire allouée à la pile d'appels, provoquant un \u003Cem\u003Estack overflow\u003C\/em\u003E.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Une erreur de syntaxe\", \"b\": \"Un dépassement de la pile d'appels","_debug_options_count":4},{"id":498,"question":"Quel mode d'ouverture de fichier permet d'écrire des données binaires ?","option_a":"fopen(\"fichier.txt\", \"r\")","option_b":"fopen(\"fichier.bin\", \"wb\")","option_c":"fopen(\"fichier.txt\", \"a+\")","option_d":"fopen(\"fichier.bin\", \"r+\")","option_e":"","option_f":"","bonne_reponse":"b","explication":"Le mode \u003Ccode\u003E\"wb\"\u003C\/code\u003E (write binary) permet d'écrire des données en mode binaire dans un fichier. Le \u003Ccode\u003E\"b\"\u003C\/code\u003E est crucial pour éviter les conversions de caractères.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"fopen(\\\"fichier.txt\\\", \\\"r\\\")\", \"b\": \"fopen(\\\"fichier.bin\\\", \\\"wb","_debug_options_count":4},{"id":499,"question":"Quelle est la complexité temporelle de la fonction récursive suivante :\u003Cbr\u003E\u003Ccode\u003Eint f(int n) { if (n \u003C= 1) return 1; return f(n-1) + f(n-2); }\u003C\/code\u003E","option_a":"O(n)","option_b":"O(n²)","option_c":"O(2ⁿ)","option_d":"O(log n)","option_e":"","option_f":"","bonne_reponse":"c","explication":"Cette fonction est la version naïve de la suite de Fibonacci. Chaque appel génère deux appels récursifs, ce qui donne une complexité exponentielle \u003Cem\u003EO(2ⁿ)\u003C\/em\u003E.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"c\", \"options\": {\"a\": \"O(n)\", \"b\": \"O(n²)\", \"c\": \"O(2ⁿ)\", \"d\": \"O(log n)\"}}","_debug_options_count":4},{"id":500,"question":"Quel est l'avantage principal de la récursivité terminale ?","option_a":"Elle est plus rapide en temps d'exécution","option_b":"Elle évite l'utilisation de la pile d'appels","option_c":"Elle permet de traiter des problèmes plus complexes","option_d":"Elle est plus facile à déboguer","option_e":"","option_f":"","bonne_reponse":"b","explication":"En récursivité terminale, le dernier appel est la fonction elle-même. Certains compilateurs optimisent cela en remplaçant la récursion par une boucle, évitant ainsi la consommation de mémoire de la pile d'appels.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Elle est plus rapide en temps d'exécution\", \"b\": \"Elle évite l'","_debug_options_count":4},{"id":501,"question":"Comment lire un entier stocké en binaire dans un fichier ?","option_a":"Utiliser fgets() puis atoi()","option_b":"Utiliser fread() avec sizeof(int)","option_c":"Utiliser fscanf() avec le format \"%d\"","option_d":"Utiliser read() en mode texte","option_e":"","option_f":"","bonne_reponse":"b","explication":"La fonction \u003Ccode\u003Efread()\u003C\/code\u003E permet de lire un bloc de données binaires. Pour un entier, on utilise \u003Ccode\u003Efread(&nombre, sizeof(int), 1, fichier)\u003C\/code\u003E pour lire exactement 4 octets (sur la plupart des systèmes).","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Utiliser fgets() puis atoi()\", \"b\": \"Utiliser fread() avec sizeof","_debug_options_count":4}]
Chargement...
Cliquez sur une réponse pour valider
Les options de réponse ne sont pas disponibles pour cette question.