Quiz interactif généré par IA à partir du document : TP n°4 Allocation _ chaines.doc
Question 1 sur 10 20:00
[{"id":85940,"question":"Quelle fonction en C permet d’allouer dynamiquement une chaîne de caractères ?","option_a":"malloc()","option_b":"strcpy()","option_c":"strlen()","option_d":"printf()","option_e":"","option_f":"","bonne_reponse":"a","explication":"La fonction \u003Cstrong\u003Emalloc()\u003C\/strong\u003E est utilisée pour allouer dynamiquement de la mémoire, y compris pour les chaînes de caractères. Les autres options sont des fonctions de manipulation ou d’affichage.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"a\", \"options\": {\"a\": \"malloc()\", \"b\": \"strcpy()\", \"c\": \"strlen()\", \"d\": \"printf()\"}}","_debug_options_count":4},{"id":85941,"question":"En Python, les chaînes de caractères sont mutables.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"b","explication":"En Python, les chaînes de caractères sont \u003Cstrong\u003Eimmuables\u003C\/strong\u003E (on ne peut pas les modifier après leur création). Pour les modifier, il faut créer une nouvelle chaîne.","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":85942,"question":"Quelle méthode permet de concaténer deux chaînes en Java ?","option_a":".concat()","option_b":".join()","option_c":"+","option_d":".merge()","option_e":"","option_f":"","bonne_reponse":"c","explication":"En Java, l’opérateur \u003Cstrong\u003E+\u003C\/strong\u003E est utilisé pour concaténer des chaînes. La méthode \u003Cstrong\u003E.concat()\u003C\/strong\u003E existe aussi, mais l’opérateur est plus courant.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"c\", \"options\": {\"a\": \".concat()\", \"b\": \".join()\", \"c\": \"+\", \"d\": \".merge()\"}}","_debug_options_count":4},{"id":85943,"question":"Quel est l’avantage principal de l’allocation dynamique par rapport à l’allocation statique ?","option_a":"Moins de mémoire utilisée","option_b":"Flexibilité dans la taille des données","option_c":"Plus rapide à exécuter","option_d":"Moins de bugs","option_e":"","option_f":"","bonne_reponse":"b","explication":"L’allocation dynamique permet de \u003Cstrong\u003Eréserver de la mémoire en fonction des besoins\u003C\/strong\u003E pendant l’exécution du programme, contrairement à l’allocation statique où la taille est fixée à la compilation.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Moins de mémoire utilisée\", \"b\": \"Flexibilité dans la taille d","_debug_options_count":4},{"id":85944,"question":"En C, la fonction \u003Cstrong\u003Estrcpy()\u003C\/strong\u003E copie une chaîne source vers une chaîne de destination. Que se passe-t-il si la destination n’a pas assez d’espace alloué ?","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"a","explication":"Si la destination n’a pas assez d’espace, \u003Cstrong\u003Estrcpy()\u003C\/strong\u003E provoque un \u003Cem\u003Edébordement de mémoire\u003C\/em\u003E (buffer overflow), ce qui peut entraîner des erreurs ou des vulnérabilités de sécurité.","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":85945,"question":"Quelle fonction en Python permet de vérifier si une sous-chaîne existe dans une chaîne principale ?","option_a":"find()","option_b":"contains()","option_c":"search()","option_d":"index()","option_e":"","option_f":"","bonne_reponse":"a","explication":"La méthode \u003Cstrong\u003Efind()\u003C\/strong\u003E retourne l’indice de la première occurrence de la sous-chaîne, ou -1 si elle n’est pas trouvée. Les autres options ne sont pas des méthodes natives de Python.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"a\", \"options\": {\"a\": \"find()\", \"b\": \"contains()\", \"c\": \"search()\", \"d\": \"index()\"}}","_debug_options_count":4},{"id":85946,"question":"Quel est le rôle de la fonction \u003Cstrong\u003Erealloc()\u003C\/strong\u003E en C ?","option_a":"Libérer de la mémoire","option_b":"Redimensionner un bloc de mémoire alloué","option_c":"Copier une chaîne","option_d":"Initialiser une variable","option_e":"","option_f":"","bonne_reponse":"b","explication":"\u003Cstrong\u003Erealloc()\u003C\/strong\u003E permet de \u003Cstrong\u003Eredimensionner un bloc de mémoire\u003C\/strong\u003E précédemment alloué avec malloc() ou calloc(). Elle peut aussi libérer de la mémoire si la nouvelle taille est plus petite.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Libérer de la mémoire\", \"b\": \"Redimensionner un bloc de mémoir","_debug_options_count":4},{"id":85947,"question":"En JavaScript, quelle méthode permet de convertir une chaîne en un tableau de caractères ?","option_a":".split('')","option_b":".toArray()","option_c":".chars()","option_d":".split()","option_e":"","option_f":"","bonne_reponse":"a","explication":"La méthode \u003Cstrong\u003E.split('')\u003C\/strong\u003E divise la chaîne en un tableau où chaque élément est un caractère. Les autres options ne sont pas des méthodes valides en JavaScript.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"a\", \"options\": {\"a\": \".split('')\", \"b\": \".toArray()\", \"c\": \".chars()\", \"d\": \".split()\"}","_debug_options_count":4},{"id":85948,"question":"Quelle est la complexité temporelle de la fonction \u003Cstrong\u003Estrlen()\u003C\/strong\u003E en C ?","option_a":"O(1)","option_b":"O(n)","option_c":"O(log n)","option_d":"O(n²)","option_e":"","option_f":"","bonne_reponse":"b","explication":"La fonction \u003Cstrong\u003Estrlen()\u003C\/strong\u003E parcourt toute la chaîne pour compter les caractères, ce qui donne une complexité de \u003Cstrong\u003EO(n)\u003C\/strong\u003E, où n est la longueur de la chaîne.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"O(1)\", \"b\": \"O(n)\", \"c\": \"O(log n)\", \"d\": \"O(n²)\"}}","_debug_options_count":4},{"id":85949,"question":"Peut-on modifier directement une chaîne de caractères en C après son allocation dynamique ?","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"a","explication":"En C, une fois allouée, une chaîne de caractères est \u003Cstrong\u003Emodifiable directement\u003C\/strong\u003E (sauf si elle est déclarée comme constante). On peut changer ses caractères individuellement.","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}]
Chargement...
Cliquez sur une réponse pour valider
Les options de réponse ne sont pas disponibles pour cette question.