Quiz : Maîtrisez les algorithmes et le langage C en Terminale
🧠 Quiz 10 questions 10 min
QUIZ INTERACTIFDiff. 5/10
Découvrez un devoir complet d'informatique pour la Terminale avec des exercices sur les algorithmes et la programmation en langage C. Idéal pour réviser et s'entraîner.
Question 1 sur 10 10:00
[{"id":62212,"question":"Quelle est la complexité temporelle moyenne du tri rapide (QuickSort) ?","option_a":"O(n)","option_b":"O(n log n)","option_c":"O(n²)","option_d":"O(log n)","option_e":"","option_f":"","bonne_reponse":"B","explication":"Le tri rapide a une complexité moyenne de O(n log n) grâce à sa stratégie de partitionnement récursif. Dans le pire cas (ex: tableau déjà trié), il peut atteindre O(n²), mais cela reste rare avec un bon choix de pivot.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":62213,"question":"Parmi les structures suivantes, laquelle est la plus adaptée pour implémenter une pile ?","option_a":"Liste doublement chaînée","option_b":"Tableau dynamique","option_c":"Liste simplement chaînée","option_d":"Arbre binaire","option_e":"","option_f":"","bonne_reponse":"C","explication":"Une pile suit le principe LIFO (Last In, First Out). Une liste simplement chaînée permet des opérations d’ajout\/suppression en O(1) en tête, ce qui est idéal pour une pile. Un tableau dynamique est aussi possible mais moins flexible.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":62214,"question":"Vrai ou Faux ? Une fonction récursive en C consomme toujours moins de mémoire qu’une version itérative équivalente.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"B","explication":"Faux. Une fonction récursive utilise la pile d’appel pour stocker les états intermédiaires, ce qui peut entraîner une consommation mémoire bien plus élevée qu’une version itérative (ex: factorielle récursive vs itérative).","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":62215,"question":"Quel est le rôle de l’opérateur '&' en C dans l’appel d’une fonction ?","option_a":"Passer une variable par valeur","option_b":"Passer une variable par référence","option_c":"Déclarer un pointeur","option_d":"Effectuer une opération bit à bit","option_e":"","option_f":"","bonne_reponse":"B","explication":"L’opérateur '&' permet de passer l’adresse d’une variable à une fonction, ce qui permet de modifier directement sa valeur (passage par référence). Cela évite de copier la variable et est essentiel pour les fonctions comme scanf().","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":62216,"question":"Vrai ou Faux ? La complexité spatiale d’un algorithme est toujours égale à sa complexité temporelle.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"B","explication":"Faux. La complexité spatiale mesure l’espace mémoire utilisé par l’algorithme (ex: O(n) pour un tableau de taille n), tandis que la complexité temporelle mesure le temps d’exécution (ex: O(n²) pour un tri imbriqué). Ces deux complexités sont indépendantes.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":62217,"question":"Quel algorithme de tri est le plus efficace pour trier un tableau de 10 éléments déjà partiellement trié ?","option_a":"Tri à bulles","option_b":"Tri par insertion","option_c":"Tri rapide","option_d":"Tri par fusion","option_e":"","option_f":"","bonne_reponse":"B","explication":"Le tri par insertion est optimal pour les petits jeux de données ou les tableaux partiellement triés. Sa complexité est de O(n) dans le meilleur cas (tableau déjà trié) et O(n²) dans le pire cas, mais il est très efficace en pratique pour n \u003C 20.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":62218,"question":"Que fait le code suivant en C : int x = 5; int *p = &x; *p = 10; printf(\"%d\", x); ?","option_a":"Affiche 5","option_b":"Affiche 10","option_c":"Affiche une adresse mémoire","option_d":"Provoque une erreur de compilation","option_e":"","option_f":"","bonne_reponse":"B","explication":"Le code déclare un pointeur p sur la variable x, puis modifie la valeur pointée par p (x) à 10. Ainsi, printf affiche 10. Ce mécanisme illustre le passage par référence via les pointeurs.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":62219,"question":"Vrai ou Faux ? Un arbre binaire de recherche permet une recherche en O(log n) en moyenne.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"A","explication":"Faux. Un arbre binaire de recherche permet une recherche en O(log n) uniquement si l’arbre est équilibré (ex: arbre AVL). Dans le pire cas (arbre déséquilibré en une liste), la recherche devient O(n).","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":62220,"question":"Quel est l’avantage principal de l’utilisation de la récursivité dans un algorithme ?","option_a":"Réduire la consommation mémoire","option_b":"Simplifier le code pour les problèmes divisibles","option_c":"Éviter les boucles","option_d":"Garantir une complexité temporelle optimale","option_e":"","option_f":"","bonne_reponse":"B","explication":"La récursivité simplifie souvent le code pour les problèmes naturellement divisibles (ex: tri fusion, parcours d’arbre). Elle permet de décomposer le problème en sous-problèmes plus simples, mais peut entraîner une surconsommation mémoire.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":62221,"question":"Quel est le résultat de l’exécution du code suivant : int a = 3, b = 2; if (a++ \u003E b) { printf(\"Vrai\"); } else { printf(\"Faux\"); } ?","option_a":"Vrai","option_b":"Faux","option_c":"Erreur de compilation","option_d":"Affiche 3","option_e":"","option_f":"","bonne_reponse":"A","explication":"L’expression a++ \u003E b est évaluée à 3 \u003E 2, ce qui est vrai. La variable a est incrémentée après l’évaluation (a devient 4), mais l’affichage sera \"Vrai\". Les opérateurs post-incrément sont évalués avant l’incrémentation.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0}]
Chargement...
Cliquez sur une réponse pour valider
Les options de réponse ne sont pas disponibles pour cette question.