[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
2 vues2 pages

CC JavaScript Variante1

Transféré par

abderrahmaneachicoud2
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues2 pages

CC JavaScript Variante1

Transféré par

abderrahmaneachicoud2
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

CMC-Laayoune - OFPPT – Institut de CONTRÔLE CONTINU – VARIANTE

Formation 1

Module : Développement Web (JavaScript) Durée : 2h00 | Note : /40 pts

Partie I – Théorique (10 pts)


Question 1 : Quelle est la différence entre un langage compilé et un langage interprété ? Donnez
un exemple de chaque. (2 pts pts)

Question 2 : Expliquez les trois portées de variables en JavaScript (var, let, const) avec un
exemple pour chaque. (4 pts pts)

Question 3 : Qu’est-ce qu'une Promesse (Promise) en JavaScript ? Citez ses trois états possibles.
(4 pts pts)
QCM – Cochez la bonne réponse (1 pt chacune) :

N° Question A B C D
1 Quelle méthode HTTP est POST GET DELETE PUT
utilisée pour récupérer une
ressource ?
Réponse : □ A □ B □ C □ D

2 Quel opérateur compare la == != === >=


valeur ET le type en JS ?
Réponse : □ A □ B □ C □ D

3 Quelle méthode ajoute un push() pop() shift() unshift()


élément à la fin d'un tableau ?
Réponse : □ A □ B □ C □ D

4 typeof null retourne : "null" "undefined" "object" "boolean"


Réponse : □ A □ B □ C □ D

5 Quelle méthode convertit un [Link]() [Link]() [Link]() [Link]()


objet JS en chaîne JSON ?
Réponse : □ A □ B □ C □ D

Partie II – Pratique (30 pts)


Les exercices sont progressifs. Chaque exercice peut utiliser les résultats du précédent.

Exercice 1 – Variables et opérateurs (8 pts pts)


1. Déclarez les variables suivantes :
• Un entier age = 20
• Une chaîne nom = "Ali"
• Un booléen estMajeur = true
• Une constante TVA = 0.20
2. Calculez et affichez dans la console ([Link]) :
• La somme de age et 5
• La concaténation : "Bonjour " + nom
• Le résultat de : age >= 18 ? "Majeur" : "Mineur"
3. Utilisez typeof pour afficher le type de age et de nom.
Exercice 2 – Structures de contrôle (8 pts pts)
On dispose du tableau de notes suivant :
let notes = [12, 8, 17, 5, 14, 9, 11, 16, 3, 18];
1. À l'aide d'une boucle for, parcourez le tableau et affichez pour chaque note :
• "Admis" si la note >= 10, "Rattrapage" si 8 <= note < 10, sinon "Refusé"
2. Calculez et affichez la moyenne du tableau.
3. Affichez le nombre d'étudiants admis, en rattrapage et refusés.

Exercice 3 – Fonctions et objets (8 pts pts)


1. Créez un objet Etudiant avec les propriétés : nom, prenom, note, et une méthode getMention() qui
retourne :
• "Très bien" (>= 16), "Bien" (>= 14), "Assez bien" (>= 12), "Passable" (>= 10), "Insuffisant" sinon.
2. Écrivez une fonction fléchée (arrow function) trierEtudiants(tableau) qui prend un tableau d'objets Etudiant
et retourne le tableau trié par note décroissante.
3. Testez avec au moins 3 objets Etudiant et affichez les résultats triés avec leur mention.

Exercice 4 – Asynchrone & JSON – Niveau avancé (6 pts pts)


On dispose du JSON suivant représentant une liste de produits :
const jsonProduits = '[
{"id":1,"nom":"Laptop","prix":8000,"stock":5},
{"id":2,"nom":"Souris","prix":120,"stock":0},
{"id":3,"nom":"Clavier","prix":350,"stock":12}
]';

1. Parsez le JSON et stockez-le dans une variable produits.


2. Écrivez une fonction Promise getProduitDisponible(id) qui :
• Simule une attente de 1 seconde (setTimeout)
• Résout avec l'objet produit si stock > 0
• Rejette avec un message d'erreur si stock = 0 ou produit inexistant
3. Appelez getProduitDisponible() pour chaque produit en utilisant .then() et .catch().
4. Utilisez try/catch avec une expression régulière pour valider que le nom du produit ne contient que des
lettres et espaces.

Vous aimerez peut-être aussi