Exemple de QCM :

1- combien trouvez-vous de parties ?
a. une
b. deux
c. trois
d. quatre
e. cinq

2- le plan-bateau a-t-il été choisi ?
a. oui
b. non

3- l'introduction comporte-t-elle :
une amorce ?
a. oui.
b. non.

4- la définition des termes ?
a. oui.
b. non.

5- l'annonce du plan ?
a. oui.
b. non.
 

6-
a. première proposition.
b. deuxième proposition.
c. troisième proposition
c. quatrième proposition
 

7- première question
a. première proposition.
b. deuxième proposition.
c. troisième proposition
c. quatrième proposition // la ligne ci-dessous saute une ligne
 

8- première question
a. première proposition.
b. deuxième proposition.
c. troisième proposition
c. quatrième proposition
 

9- première question
a. première proposition.
b. deuxième proposition.
c. troisième proposition
c. quatrième proposition // la ligne ci-dessous saute une ligne
 

10 -première question
a. première proposition.
b. deuxième proposition.
c. troisième proposition
c. quatrième proposition
 


 



Le script est en 2 parties : la première à intégrer dans la partie <head>, la seconde dans la partie <body>

Le Script suivant est à intégrer dans la partie head :
Il permet de vérifier les réponses et de compter le score.
Les explications sont en commentaire dans les lignes commençant par //, lignes qui ne sont pas exécutées.

<head>
<script language="JavaScript">

<!--// hide

// hide

/* GameQuiz v1.0 by Wizzz.

   Copyright (c) of Wizzz, 1997.

   Permission to use, edit, etc. granted as long as the head section is intact!

   Modifications et ajouts par Didier Anselm, puis Isabelle Gautier

*/
// initialisation des variables/ : les réponses sont un tableau "rep" de 10 valeurs, les questions faites un tableau "faite"
// le score est mis à zéro au départ
 

var rep = new Array;

var faite = new Array;

var score = 0;
 
 

// rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
// initialisation des bonnes réponses
// valeurs à modifier (a b c ou d : sont les réponses justes, une par question rep[1] est la réponse à la question 1, etc..) 
 
 

rep[1] = "b";

rep[2] = "b";

rep[3] = "c";

rep[4] = "c";

rep[5] = "a";

rep[6] = "c";

rep[7] = "b";

rep[8] = "c";

rep[9] = "a";

rep[10] = "d";
 

// rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
// les parties en bleu apparaissent en commentaire, elles peuvent être modifiées
// la fonction "engine" vérifie si la réponse est bonne ("question" est le numéro de la question,
// "reponse" est la réponse de l'utilisateur, il a un point de plus si elle est bonne, - 1 s'il a déjà répondu.

function truc(){
alert("c'est un point de vue");
}

function Engine(question, reponse) {

        if (reponse != rep[question]) {

                if (!faite[question]) {

                        faite[question] = -1;

                        alert("Faux !!   La bonne réponse était en - " + rep[question] + " -");

                        }

                else {

                        alert("Tu as déjà répondu à cette question !");

                        }

                }

        else {

                if (!faite[question]) {

                        faite[question] = -1;

                        score++;

                        alert("Bonne réponse !! ");

                        }

                else { 

                        alert("Tu as déjà répondu à cette question !");

                        }

                }

}

// commentaires pour le résultat final

function NextLevel () {

        if (score > 10) {

                alert("Tricheur !");

                }

        if (score > 8 && score <= 10) {

                alert(score + "/10. " + "Un coup de maître !");

                }

        if (score > 6 && score <= 8) {

                alert(score + "/10. " + "Bien, mais... pas parfait.");

                }
 
 

        if (score >= 4 && score < 6) {

                alert(score + "/10. " + "Pas terrible... un autre essai ?");

                }

        if (score < 4) {

                alert(score + "/10. " + "Il faut refaire l'exercice");

                }
 
 
 

// ======================================================

// ligne qui suit à modifier pour envoyer le formulaire

// (mais indiquez la méthode dans la balise du formulaire) :

// document.quest.submit()
 
 

// ligne qui suit pour vider le formulaire :

faite = new Array;

score = 0;

//ligne suivante à désactiver si IE3 ou -

document.quest.reset();

}
 
 
 
 

// -->

</script>
</head>


 

HTML à intégrer dans la partie Body :
1) création de la forme "quest"
 
<body>
// la ligne suivante ouvre la "forme" quest
<br><form name="quest">

2)  ouverture d'un groupe de 4 boutons radio dont un seul peut être coché et analyse dela réponse
Les lignes suivantes sont à copier 10 fois, en remplaçant le "1" bleu par 2, puis 3, 4, 5, 6, 7, 8 ,9, 10.
Le bouton radio est créé de nom "1".
Il y a ici 4 réponses proposées : a, b, c, d
Les parties en rouge sont à modifier pour mettre vos questions et propositions de réponse
Vous pouvez mettre plus de 4 propositions (il suffit de mettre comme "value"  "e", etc...),
vous pouvez en mettre moins en supprimant les lignes correspondantes.
Lorsque l'on clique sur un bouton radio, la fonction Engine ci-dessus compare la réponse à celle attendue
<p>première question
<br><input type="radio" name="1" value="a" onclick="Engine(1, this.value)"><font color="#FF0000">a.
</font><font color="#330033">première proposition.</font>
<br><input type="radio" name="1" value="b" onclick="Engine(1, this.value)"><font color="#FF0000">b.
</font><font color="#330033">deuxième proposition.</font>
<br><input type="radio" name="1" value="c" onclick="Engine(1, this.value)"><font color="#FF0000">c.
</font><font color="#330033">troisième proposition</font>
<br><input type="radio" name="1" value="d" onclick="Engine(1, this.value)"><font color="#FF0000">c.
</font><font color="#330033">quatrième proposition</font>
<br>&nbsp;
<br>&nbsp;  saute une ligne

3) obtenir le score
 Le bouton suivant permet de faire apparaître le score final, donne un commentaire et efface les cases cochées avec internet explorer 5. Il faut fermer la "form" ouverte au début du "body" (</form>)

<p><input type="button" name="Resultats" value="Résultats" onclick="NextLevel()">
<br>&nbsp;
<p></form>
</body>