// Fichier GIFT : Questions pour le cours d'algorithme - 1ère année informatique // Auteur : Chef du Bureau Formation à Distance // ------------------------- // SECTION 1 : QCM // ------------------------- Quelle est la définition d'un algorithme ? { ~Une suite d'instructions exécutées au hasard. ~Un programme informatique déjà compilé. =Une suite d'étapes logiques permettant de résoudre un problème. ~Une fonction mathématique complexe. } Un algorithme doit être : { ~Ambigu =Précis =Fini ~Infini ~Difficile à comprendre } Qu'est-ce qu'une boucle dans un algorithme ? { ~Un moyen de stocker des données. ~Une structure conditionnelle. =Une structure permettant de répéter une série d'instructions. ~Un opérateur mathématique. } Quel type de boucle est défini par un nombre connu d'itérations ? { =Boucle for ~Boucle while ~Boucle do-while ~Boucle infinie } Dans une condition `if`, que signifie "else" ? { ~Démarrer une boucle. =Exécuter des instructions si la condition est fausse. ~Terminer une fonction. ~Retourner au début de l'algorithme. } // ------------------------- // SECTION 2 : Vrai/Faux // ------------------------- Les variables déclarées dans un algorithme doivent toujours avoir un type. {TRUE} Un algorithme peut avoir plusieurs points de départ. {FALSE} Une fonction dans un algorithme peut ne pas retourner de valeur. {TRUE} Les algorithmes récursifs n'ont pas besoin de condition d'arrêt. {FALSE} Les tableaux en algorithme peuvent être multidimensionnels. {TRUE} // ------------------------- // SECTION 3 : Réponse courte // ------------------------- Quel est le résultat de l'algorithme suivant ? Initialiser x à 10. Tant que x > 5, diminuer x de 2. Retourner x. { =4 } Quel est l'objectif principal de l'étape d'analyse dans la conception d'un algorithme ? { =Comprendre et définir clairement le problème. } Quel est l'inconvénient principal d'un algorithme mal optimisé ? { =Il consomme trop de ressources. } // ------------------------- // SECTION 4 : Essai // ------------------------- Expliquez en 5 à 10 lignes la différence entre une boucle "for" et une boucle "while". {} // ------------------------- // SECTION 5 : Correspondances // ------------------------- Associez chaque structure de contrôle avec sa description : Boucle for -> Répéter un nombre défini de fois. Boucle while -> Répéter tant qu'une condition est vraie. Boucle do-while -> Répéter au moins une fois, puis vérifier une condition. If-else -> Exécuter différentes instructions en fonction d'une condition. {} // ------------------------- // SECTION 6 : QCM avancés (plusieurs réponses) // ------------------------- Quels sont les avantages des algorithmes récursifs ? { ~%50% Ils simplifient le code. ~%-50% Ils évitent les erreurs de logique. ~%50% Ils permettent de résoudre des problèmes complexes comme les arbres. ~%-50% Ils consomment toujours moins de mémoire. } Quels langages sont couramment utilisés pour écrire des algorithmes ? { =Python =Java ~HTML ~CSS } // ------------------------- // SECTION 7 : Cas pratiques (Vrai/Faux) // ------------------------- Un algorithme qui ne termine jamais est considéré comme invalide. {TRUE} La complexité temporelle d'un algorithme est liée au temps d'exécution en fonction de la taille des données d'entrée. {TRUE} Un algorithme itératif peut toujours être réécrit de manière récursive. {FALSE} La recherche binaire est plus rapide que la recherche linéaire dans un tableau trié. {TRUE} Les structures de données comme les piles ou les files d'attente ne sont pas utilisées dans les algorithmes. {FALSE}