QCM : Introduction à la Programmation et Structures de Contrôle — 9 questions

Questions et réponses du QCM

1. Qui est crédité d'avoir formulé la définition d'une variable comme un espace mémoire nommé pouvant contenir une valeur modifiable ?

Alan Turing
Blaise Pascal
Dennis Ritchie
Grace Hopper

Dennis Ritchie

Explication

Dennis Ritchie, en tant que créateur du langage C, est souvent crédité pour avoir défini et utilisé la notion de variable comme espace mémoire nommée pouvant contenir une valeur modifiable, dans le contexte de la programmation en C.

2. En quoi les concepts de saut et branchement, tels que break, continue et return, se ressemblent-ils ou diffèrent-ils dans leur rôle de contrôle du flux d'exécution ?

Ils ont tous le même rôle exact, sans différence dans leur utilisation ou leur contexte.
Ils sont tous utilisés uniquement pour la gestion de la mémoire et des registres dans le processeur.
Ils sont tous des instructions de branchement qui modifient le flux d'exécution, mais chacun a un usage spécifique dans le contexte d'une boucle ou d'une fonction.
Ils sont tous des instructions qui interrompent un programme de façon permanente, sans possibilité de reprise.

Ils sont tous des instructions de branchement qui modifient le flux d'exécution, mais chacun a un usage spécifique dans le contexte d'une boucle ou d'une fonction.

Explication

Les concepts de saut et branchement comme break, continue et return sont tous des instructions qui modifient le flux d'exécution d'un programme. Cependant, leur usage spécifique diffère : break et continue interviennent dans les boucles pour contrôler leur déroulement, tandis que return termine l'exécution d'une fonction ou d'un sous-programme en renvoyant une valeur. La question porte sur leur ressemblance en tant qu'instructions de branchement et leur différence dans leur contexte d'usage, ce qui est bien résumé par la réponse 0.

3. Quelle est la fonction principale de l'instruction conditionnelle 'if' dans un programme ?

Définir une variable et son type dans un programme
Contrôler l'exécution d’un bloc d'instructions selon l’évaluation d’une condition booléenne
Exécuter un bloc d'instructions seulement si une condition est fausse
Permettre la répétition d’un bloc d’instructions un nombre variable de fois

Contrôler l'exécution d’un bloc d'instructions selon l’évaluation d’une condition booléenne

Explication

L'instruction 'if' sert à contrôler l'exécution d'un bloc d'instructions en fonction de l’évaluation d’une condition booléenne, c’est-à-dire qu’elle exécute le bloc uniquement si la condition est vraie.

4. Quelle est la caractéristique fondamentale d'une structure conditionnelle ?

Elle repose sur une condition booléenne qui détermine l'exécution du bloc de code
Elle ne peut être utilisée qu'avec des variables entières
Elle permet de réaliser des opérations arithmétiques complexes
Elle doit toujours contenir plusieurs blocs 'else'

Elle repose sur une condition booléenne qui détermine l'exécution du bloc de code

Explication

La caractéristique essentielle d'une structure conditionnelle est qu'elle repose sur une condition booléenne, une expression évaluée à vrai ou faux, qui décide si un certain bloc d'instructions doit être exécuté ou non.

5. Que désigne une fonction dans la programmation ?

Un module réutilisable qui, lorsqu'il est appelé, exécute des instructions et retourne une valeur
Un ensemble d'instructions qui modifient l’état du programme sans retourner de résultat
Un bloc de code qui exécute des instructions sans retourner de valeur
Une structure qui ne peut pas prendre de paramètres et ne retourne pas de valeur

Un module réutilisable qui, lorsqu'il est appelé, exécute des instructions et retourne une valeur

Explication

Selon le contenu, une fonction est un bloc de code réutilisable qui, lorsqu'il est appelé, exécute une série d'instructions et retourne une valeur. La procédure, en revanche, n'a pas de valeur de retour. La réponse 1 correspond donc précisément à cette définition.

6. Selon le texte, qu'est-ce qu'une boucle 'tant que' ?

Une instruction qui interrompt une boucle en cours.
Une structure qui répète un bloc d'instructions tant qu'une condition est vraie.
Un type de boucle qui s'exécute une seule fois.
Une structure de répétition qui s'exécute un nombre fixe de fois.

Une structure qui répète un bloc d'instructions tant qu'une condition est vraie.

Explication

La boucle 'tant que' est une structure qui répète un bloc d'instructions tant qu'une condition est vraie, permettant ainsi de réaliser des répétitions automatiques sans connaître le nombre exact d'itérations à l'avance.

7. Quand la propriété selon laquelle la complexité logarithmique découle de la division par deux à chaque étape a-t-elle été explicitement expliquée dans le contexte du cours ?

Au début du chapitre sur les algorithmes efficaces
Lors de la présentation de l'algorithme de recherche dichotomique
Dans la section dédiée aux complexités algorithmiques
Lors de l'introduction à la notion de variant de boucle

Lors de la présentation de l'algorithme de recherche dichotomique

Explication

La propriété que la complexité logarithmique découle du fait que l’espace de recherche est divisé par deux à chaque étape est expliquée dans la partie 'Points essentiels', qui décrit comment la recherche dichotomique fonctionne et comment sa complexité est justifiée par cette division successive.

8. Comment peut-on optimiser l'utilisation de la mémoire et des registres lors de l'exécution d'un programme pour améliorer ses performances ?

En utilisant davantage de mémoire vive pour stocker toutes les données
En réduisant le nombre de variables globales pour limiter l'accès à la mémoire
En évitant l'allocation dynamique pour simplifier la gestion mémoire
En manipulant directement les registres pour les opérations critiques

En manipulant directement les registres pour les opérations critiques

Explication

L'option correcte est la manipulation directe des registres pour les opérations critiques, car cela permet de réduire le temps d'accès aux données et d'améliorer la performance. Les registres sont des mémoires très rapides intégrées au processeur, idéales pour accélérer le traitement. Limiter les variables globales ou éviter l'allocation dynamique peut aider, mais ne tire pas pleinement parti de la gestion mémoire et registre en pratique. Utiliser davantage de mémoire vive n'améliore pas forcément la performance, surtout si cela augmente le temps d'accès.

9. Quelle est la cause principale permettant à la recherche dichotomique d’avoir une complexité logarithmique en O(log2(n)) ?

Elle utilise une recherche linéaire dans le tableau.
Elle augmente la taille de la recherche à chaque itération.
Elle divise successivement l’espace de recherche par deux à chaque étape.
Elle ne divise pas l’espace de recherche.

Elle divise successivement l’espace de recherche par deux à chaque étape.

Explication

La recherche dichotomique divise successivement l’espace de recherche par deux à chaque étape, ce qui explique sa complexité logarithmique en O(log2(n)).

Révisez avec les flashcards

Mémorisez les réponses avec 18 flashcards sur Introduction à la Programmation et Structures de Contrôle.

Algorithme — définition ?

Suite finie d'instructions garantissant la terminaison.

Programme — rôle ?

Implémente un ou plusieurs algorithmes pour exécuter une tâche.

Variables — fonction ?

Stockent des données modifiables durant l'exécution.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Introduction à la Programmation et Structures de Contrôle.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM