QCM : Introduction à la programmation Java — 27 questions

Questions et réponses du QCM

1. Quelle est la propriété fondamentale d’un bit en informatique ?

Il peut prendre la valeur 0 ou 1
Il correspond à une instruction complète
Il représente toujours un nombre décimal
Il contient un groupe de huit caractères

Il peut prendre la valeur 0 ou 1

Explication

Un bit est l’unité élémentaire d’information et peut prendre l’une des deux valeurs 0 ou 1. Un groupe de huit bits forme un octet, tandis qu’un bit isolé ne constitue pas une instruction complète.

2. Combien de bits contient un octet ?

32 bits
8 bits
16 bits
4 bits

8 bits

Explication

Un octet est défini comme un paquet de 8 bits servant à organiser l’information stockée. Les valeurs 4, 16 et 32 correspondent à d’autres tailles possibles, mais pas à la définition d’un octet.

3. Lorsqu’un programme reçoit un fichier, affiche son contenu et compare deux valeurs, quelles opérations générales réalise-t-il ?

Il transforme automatiquement les données en nombres réels
Il exécute le matériel sans traiter d’information
Il convertit chaque donnée en octet
Il acquiert, produit et teste des données

Il acquiert, produit et teste des données

Explication

Un programme peut acquérir des données auprès de fichiers, les produire ou les afficher, puis les combiner et les tester. La réception d’un fichier n’implique pas une conversion automatique en nombres réels ni une absence de traitement.

4. Quelle distinction caractérise les types primitifs et les types composés ?

Les primitifs regroupent plusieurs objets, les composés représentent une seule valeur élémentaire
Les primitifs servent aux entrées, les composés servent aux sorties de programme
Les primitifs représentent des valeurs élémentaires, les composés résultent d’une composition de types
Les primitifs sont réservés aux nombres, les composés sont réservés aux caractères

Les primitifs représentent des valeurs élémentaires, les composés résultent d’une composition de types

Explication

Les types primitifs représentent des valeurs élémentaires, alors que les types composés sont construits par composition de types. Ces catégories ne se distinguent pas principalement par les entrées, les sorties ou les seuls nombres.

5. Lequel de ces ensembles contient les huit types primitifs étudiés en Java ?

int, long, short, byte, double, float, char et boolean
int, long, decimal, string, char, boolean, array et class
byte, word, number, float, double, text, record et boolean
integer, real, decimal, text, character, logic, list et object

int, long, short, byte, double, float, char et boolean

Explication

Les huit types primitifs étudiés sont int, long, short, byte, double, float, char et boolean. Des termes comme string, array ou class désignent d’autres notions et ne font pas partie de cette liste de types primitifs.

6. Quelle capacité de stockage et quel nombre de valeurs possibles correspondent au type Java int ?

2 octets, soit 16 bits, et 2162^{16} valeurs possibles
1 octet, soit 8 bits, et 282^{8} valeurs possibles
8 octets, soit 64 bits, et 2642^{64} valeurs possibles
4 octets, soit 32 bits, et 2322^{32} valeurs possibles

4 octets, soit 32 bits, et $$2^{32}$$ valeurs possibles

Explication

Le type int est stocké sur 4 octets, c’est-à-dire 32 bits, et possède 2322^{32} valeurs possibles. Les autres capacités correspondent à des tailles différentes de stockage.

7. Quelle plage de valeurs un int signé peut-il représenter en Java ?

De -32 768 à 32 767
De -4 294 967 296 à 4 294 967 295
De 0 à 4 294 967 295
De -2 147 483 648 à 2 147 483 647

De -2 147 483 648 à 2 147 483 647

Explication

Un int signé peut représenter les valeurs allant de -2 147 483 648 à 2 147 483 647, car il accepte des valeurs négatives. La plage commençant à 0 correspondrait à un entier non signé, tandis que la dernière plage est plus restreinte.

8. Laquelle décrit correctement la différence entre un littéral, une variable et une constante en Java ?

Un littéral porte un nom, une variable est écrite directement et une constante change de valeur
Un littéral conserve une valeur fixe, une variable est composée de types et une constante est toujours numérique
Un littéral est écrit directement, une variable peut changer de valeur et une constante conserve une valeur fixe
Un littéral est un type, une variable est une instruction et une constante représente un fichier

Un littéral est écrit directement, une variable peut changer de valeur et une constante conserve une valeur fixe

Explication

Un littéral est une valeur écrite directement, une variable associe un nom à une valeur modifiable et une constante associe un nom à une valeur fixe. Les autres propositions confondent le rôle de ces notions avec celui des types, des instructions ou des fichiers.

9. Quelle différence existe entre la déclaration et l’initialisation d’une variable Java ?

La déclaration indique son type et son nom, tandis que l’initialisation lui attribue une valeur
La déclaration rend la valeur fixe, tandis que l’initialisation supprime le nom
La déclaration attribue une valeur, tandis que l’initialisation indique son type et son nom
La déclaration crée un littéral, tandis que l’initialisation compose plusieurs types

La déclaration indique son type et son nom, tandis que l’initialisation lui attribue une valeur

Explication

Une déclaration précise le type et le nom d’une variable, alors qu’une initialisation lui attribue immédiatement une valeur. Ces opérations peuvent apparaître ensemble, comme dans une instruction d’affectation avec déclaration.

10. Lequel de ces noms respecte les règles d’un identificateur Java ?

totalVentes2
total-ventes
2totalVentes
total ventes

totalVentes2

Explication

Un identificateur Java peut contenir des lettres, des chiffres après le premier caractère et le caractère souligné, en respectant la casse. Les trois autres noms commencent par un chiffre ou contiennent un tiret ou un espace interdits.

11. Pourquoi l’ordre d’exécution des instructions est-il important dans un programme ?

Parce qu’une instruction peut modifier l’état utilisé par une instruction suivante
Parce que toutes les instructions sont exécutées en parallèle par la machine
Parce que chaque instruction produit nécessairement une valeur numérique
Parce que la syntaxe devient facultative après la première instruction

Parce qu’une instruction peut modifier l’état utilisé par une instruction suivante

Explication

L’exécution d’une instruction peut changer des variables ou d’autres éléments dont dépendent les instructions suivantes. L’exécution parallèle ne constitue pas la règle générale justifiant cet ordre.

12. Quel symbole termine une instruction en Java ?

Le deux-points
Le point
La virgule
Le point-virgule

Le point-virgule

Explication

En Java, une instruction se termine par un point-virgule, ce qui permet au compilateur d’en reconnaître la fin. Les autres signes proposés peuvent avoir d’autres usages syntaxiques, mais ne jouent pas ce rôle général.

13. Que réalise l’instruction `x = 5` dans un programme ?

Elle vérifie si x est mathématiquement égal à 5
Elle calcule une nouvelle variable à partir de x et de 5
Elle compare les valeurs de x et de 5 sans les modifier
Elle place la valeur 5 dans la variable x

Elle place la valeur 5 dans la variable x

Explication

L’opérateur d’affectation calcule la valeur située à droite puis la place dans la variable située à gauche. Une égalité mathématique compare deux expressions et ne correspond pas à cette opération de modification.

14. Quelle caractéristique définit une expression en programmation ?

C’est un commentaire destiné à expliquer le fonctionnement du code
C’est un identifiant qui désigne nécessairement une variable
C’est une combinaison qui possède une valeur et un type
C’est une instruction qui doit modifier une variable existante

C’est une combinaison qui possède une valeur et un type

Explication

Une expression combine notamment des variables, des opérateurs, des constantes ou des appels de fonction et possède une valeur ainsi qu’un type. Elle n’est pas nécessairement un nom de variable et ne doit pas forcément modifier une donnée.

15. Lequel de ces symboles représente le reste d’une division entière en Java ?

*
-
/
%

%

Explication

L’opérateur `%` calcule le reste d’une division entière. Le symbole `/` représente la division, tandis que `*` et `-` désignent respectivement la multiplication et la soustraction.

16. Quelle valeur produit l’expression `7 / 2` en Java lorsque les deux opérandes sont des entiers ?

1
3
3,5
2

3

Explication

Une division entre deux entiers en Java est une division euclidienne : la partie décimale est écartée et le résultat vaut 3. Avec un opérande réel, comme dans `7.0 / 2`, le résultat serait 3,5.

17. Quelle instruction est équivalente à `a += 2` ?

`a = a - 2`
`a = a * 2`
`a = a + 2`
`a = 2`

`a = a + 2`

Explication

L’affectation composée `+=` ajoute 2 à la valeur actuelle de `a`, ce qui revient à écrire `a = a + 2`. L’instruction `a = 2` remplace directement l’ancienne valeur sans l’utiliser dans un calcul.

18. Si `i` vaut 4, quelle valeur est produite par l’expression `i++` ?

5, puis i devient 4
4, puis i devient 5
4, puis i reste égal à 4
5, puis i devient 5

4, puis i devient 5

Explication

L’opérateur postfixé `i++` fournit d’abord l’ancienne valeur de `i`, puis incrémente la variable. À l’inverse, `++i` incrémenterait d’abord `i` et fournirait ensuite 5.

19. Quel est le rôle d’un commentaire dans un programme ?

Modifier la valeur d’une variable pendant l’exécution
Expliquer le code sans être traduit en instructions exécutées
Remplacer une instruction manquante lors de la compilation
Convertir automatiquement le code en langage binaire

Expliquer le code sans être traduit en instructions exécutées

Explication

Un commentaire sert à fournir une explication destinée aux lecteurs du code et n’est pas traduit en code binaire exécuté par la machine. Il n’agit donc ni comme une instruction ni comme une opération sur les variables.

20. Quelle syntaxe permet d’écrire un commentaire pouvant s’étendre sur plusieurs lignes en Java ?

`# commentaire #`
`/* commentaire */`
`// commentaire`
`<!-- commentaire -->`

`/* commentaire */`

Explication

Les délimiteurs `/*` et `*/` encadrent un commentaire en bloc, qui peut couvrir plusieurs lignes. La notation `//` commence un commentaire limité à la fin de la ligne.

21. Quelle caractéristique définit une routine en programmation ?

Une structure de données qui regroupe plusieurs valeurs de même type
Une instruction conditionnelle qui sélectionne une branche d’exécution
Une variable globale qui conserve une valeur pendant tout le programme
Une entité nommée qui réalise un traitement spécifique et réutilisable

Une entité nommée qui réalise un traitement spécifique et réutilisable

Explication

Une routine est une entité nommée regroupant du code consacré à un traitement spécifique, relativement indépendant et réutilisable. Une variable globale stocke une donnée, mais elle ne constitue pas une portion de traitement exécutable.

22. Quel est l’intérêt principal de décomposer un programme en routines ?

Augmenter automatiquement le nombre de valeurs retournées par chaque traitement
Remplacer les paramètres par des variables accessibles dans tout le programme
Permettre au programme d’exécuter chaque instruction sans respecter son ordre
Rendre les portions de code plus faciles à produire, utiliser, gérer et maintenir

Rendre les portions de code plus faciles à produire, utiliser, gérer et maintenir

Explication

La décomposition en routines facilite la production, l’utilisation, la gestion et la maintenance du code, tandis que les détails internes sont encapsulés. Elle ne modifie pas automatiquement le nombre de valeurs retournées ni l’ordre d’exécution.

23. Quelle distinction décrit correctement une procédure et une fonction ?

Une procédure retourne une valeur, tandis qu’une fonction ne produit qu’un affichage
Une procédure reçoit des paramètres, tandis qu’une fonction doit fonctionner sans paramètre
Une procédure contient des instructions, tandis qu’une fonction contient seulement une déclaration
Une procédure ne retourne aucune valeur, tandis qu’une fonction retourne une seule valeur

Une procédure ne retourne aucune valeur, tandis qu’une fonction retourne une seule valeur

Explication

Une procédure est une routine sans valeur de retour, alors qu’une fonction retourne une seule valeur. Les deux peuvent contenir des instructions et recevoir des paramètres, ce qui ne permet pas de les distinguer ainsi.

24. Quel type de retour indique qu’une procédure ne renvoie pas de valeur ?

char
bool
void
int

void

Explication

Le type void signale qu’une procédure ne retourne aucune valeur au code appelant. Les types int, bool et char décrivent au contraire des valeurs pouvant être retournées selon le langage et la déclaration.

25. Que décrit la signature d’une fonction ?

Son nom, ses paramètres typés et son type de retour
Les instructions exécutées à l’intérieur de son corps
Les résultats affichés après toutes les fonctions appelées
Les valeurs produites pendant chaque exécution de la fonction

Son nom, ses paramètres typés et son type de retour

Explication

La signature présente l’interface de la fonction : son nom, ses paramètres avec leurs types et son type de retour. Les instructions exécutées appartiennent au corps de la fonction, et non à sa signature.

26. Lorsqu’une fonction est appelée, quelle règle faut-il respecter concernant ses paramètres ?

Fournir leurs valeurs dans le bon ordre, entre parenthèses, sans répéter leurs types
Indiquer le type de retour avant chaque valeur fournie à la fonction
Répéter leurs types dans l’appel et placer leurs valeurs après les parenthèses
Fournir leurs noms dans l’ordre inverse, sans utiliser de parenthèses

Fournir leurs valeurs dans le bon ordre, entre parenthèses, sans répéter leurs types

Explication

L’appel fournit un argument correspondant à chaque paramètre, dans le même ordre et entre parenthèses, sans redonner les types. Les types sont déclarés dans la signature, tandis que l’appel transmet les valeurs.

27. Quelle valeur renvoie l’appel PGCD(48,30)\mathrm{PGCD}(48, 30) lorsque la fonction est déclarée int PGCD(int a,int b)\mathrm{int\ PGCD(int\ a, int\ b)} ?

30
18
48
6

6

Explication

La fonction PGCD calcule le plus grand commun diviseur de deux entiers, et le PGCD de 48 et 30 vaut 6. Les nombres 18, 30 et 48 sont respectivement une différence, un argument et l’autre argument, mais pas le résultat demandé.

Révisez avec les flashcards

Mémorisez les réponses avec 52 flashcards sur Introduction à la programmation Java.

Qu'est-ce qu'un bit en informatique ?

Une unité élémentaire d’information valant 0 ou 1.

Qu'est-ce qu'un octet en informatique ?

Un paquet de 8 bits pour organiser l’information.

Quelles sont les sources possibles de données pour un programme ?

L’utilisateur, les fichiers, les périphériques ou le réseau.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Introduction à la programmation Java.

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