CORRECTION OFFICIELLE DU DEVOIR
JavaScript — 1ère année ingénieur (INGT)
Partie A : Correction du QCM (14 points)
Question 1 : Syntaxe de variable non réassignable
Réponse correcte : C) const x = 10;
Explication : const verrouille la liaison de la variable et interdit toute nouvelle assignation directe.
Question 2 : Commentaire sur une seule ligne
Réponse correcte : B) // Ceci est un commentaire
Explication : Le double slash // introduit un commentaire de fin de ligne en JavaScript.
Question 3 : Sélection par ID dans le DOM
Réponse correcte : C) [Link]()
Explication : getElementById recherche un ID unique, de manière performante et ciblée.
Question 4 : Résultat de typeof "42"
Réponse correcte : B) "string"
Explication : Les guillemets entourent la valeur, qualifiant ainsi la donnée de chaîne de caractères.
Question 5 : Appel correct d'une fonction
Réponse correcte : B) maFonction()
Explication : L'opérateur d'invocation constitué des parenthèses permet de déclencher la fonction.
Question 6 : Condition d'égalité stricte
Réponse correcte : C) if (x === 5)
Explication : Le triple égal vérifie sans coercition la valeur et le type. Les parenthèses sont requises autour de la
condition du if.
Question 7 : Boucle pour nombre d'itérations déterminé
Réponse correcte : B) la boucle for
Explication : Elle intègre l'initialisation, le test de continuation et l'incrément, parfaite pour un compteur fixe.
Question 8 : Événement au clic de souris
Réponse correcte : C) onclick
Explication : onclick intercepte le déclenchement de l'action de clic utilisateur.
Question 9 : Déclaration d'un tableau vide
Réponse correcte : B) let t = [];
Explication : Les crochets représentent la syntaxe littérale préférentielle pour instancier un tableau vide.
Page 1 / 4
Question 10 : Ajouter un élément en fin de tableau
Réponse correcte : A) [Link]()
Explication : push() insère un ou plusieurs éléments au bout du tableau et retourne sa nouvelle longueur.
Question 11 : Valeur de l'expression (true && false)
Réponse correcte : B) false
Explication : L'opérateur ET exige que toutes les composantes soient vraies pour donner un résultat true.
Question 12 : Convertir en nombre entier
Réponse correcte : A) parseInt()
Explication : Elle analyse une chaîne et en extrait l'entier initial correspondant à la base numérique.
Question 13 : Modifier le contenu textuel d'un nœud
Réponse correcte : C) [Link] = "Texte";
Explication : textContent met à jour ou lit proprement le texte brut situé au sein d'une balise sans évaluer
d'HTML.
Question 14 : Élément HTML d'inclusion JS
Réponse correcte : B) <script>
Explication : La balise <script> est l'élément normé servant à embarquer ou lier du code JavaScript.
Question 15 : Retourner une valeur de fonction
Réponse correcte : C) return
Explication : return stoppe l'exécution de la fonction et transmet le résultat indiqué à l'appelant.
Question 16 : Résultat de [Link](1 + "2");
Réponse correcte : B) "12"
Explication : La présence d'une String induit une coercition et une opération globale de concaténation textuelle.
Question 17 : Boucle s'exécutant au moins une fois
Réponse correcte : C) do...while
Explication : Le code s'exécute une première fois obligatoirement avant que la condition ne soit examinée.
Question 18 : Inégalité stricte
Réponse correcte : B) x !== y
Explication : !== valide la non-égalité sur la valeur ou sur le type de manière stricte.
Question 19 : Supprimer le dernier élément d'un tableau
Réponse correcte : B) [Link]()
Explication : pop() ampute le tableau de sa valeur finale et retourne cet élément retiré.
Question 20 : Objet d'outils mathématiques
Réponse correcte : B) Math
Explication : Math (avec majuscule) regroupe les fonctions numériques classiques et constantes fondamentales.
Page 2 / 4
Question 21 : Résultat de [Link](4.6)
Réponse correcte : B) 5
Explication : round effectue l'arrondi arithmétique vers l'entier le plus proche. 4.6 passe donc à 5.
Question 22 : Premier élément d'un tableau
Réponse correcte : B) notes[0]
Explication : L'indexation des tableaux commence rigoureusement à l'indice 0 en JavaScript.
Question 23 : Propriété de comptage de tableau
Réponse correcte : C) [Link]
Explication : length contient dynamiquement le compte d'éléments indexés du tableau.
Question 24 : Attribut pour lier un script externe
Réponse correcte : B) <script src="[Link]"></script>
Explication : L'attribut src désigne la source du fichier de scripts à charger.
Question 25 : Signification de DOM
Réponse correcte : A) Document Object Model
Explication : C'est le nom officiel de la structure d'arbre modélisant le balisage HTML.
Question 26 : Fenêtre d'invite de saisie textuelle
Réponse correcte : C) prompt()
Explication : prompt() présente un champ de texte libre et renvoie la saisie de l'internaute.
Question 27 : Fonction anonyme assignée
Réponse correcte : A) let f = function() { };
Explication : Il s'agit d'une affectation standard d'une expression de fonction dépourvue de nom propre.
Question 28 : Opérateur de concaténation de chaînes
Réponse correcte : B) l'opérateur +
Explication : Le signe plus fusionne bout à bout les opérandes dès qu'un élément texte est engagé.
Page 3 / 4
Partie B : Correction des Exercices (6 points)
Correction de l'Exercice 1 : Algorithme de calcul de tarif cinématographique (3pts)
function calculerTarif(age, estEtudiant) {
let tarif = 10; // Tarif de base par défaut
if (age < 12) {
tarif = 5; // Remise enfant de moins de 12 ans
} else if (estEtudiant === true) {
tarif = 7; // Tarif étudiant si non concerné par la première condition
}
return tarif; // Renvoi du résultat final
}
Correction de l'Exercice 2 : Script de manipulation dynamique du DOM (3pts)
// 1. Sélection des éléments requis dans le DOM
const h1Affichage = [Link]("affichage");
const boutonIncrementer = [Link]("btn-incrementer");
// 2. Déclaration de la variable de suivi numérique
let compteur = 0;
// 3. Mise en place de l'écouteur d'événement au clic
[Link]("click", function() {
compteur = compteur + 1; // Incrémentation
[Link] = compteur; // Mise à jour de l'affichage HTML
});
Page 4 / 4