voilà où j'en suis : http://www.scalpa.info/fr_gram_01_cliccod.php Mais
ça zone (des fois) sur le comptage des points et je ne comprends par
pourquoi !
voilà où j'en suis : http://www.scalpa.info/fr_gram_01_cliccod.php Mais
ça zone (des fois) sur le comptage des points et je ne comprends par
pourquoi !
voilà où j'en suis : http://www.scalpa.info/fr_gram_01_cliccod.php Mais
ça zone (des fois) sur le comptage des points et je ne comprends par
pourquoi !
Le 30/01/2011 20:59, Scalpa a écrit :[...]
Le 30/01/2011 20:59, Scalpa a écrit :
[...]
Le 30/01/2011 20:59, Scalpa a écrit :[...]
voilà où j'en suis : http://www.scalpa.info/fr_gram_01_cliccod.php Mais
ça zone (des fois) sur le comptage des points et je ne comprends par
pourquoi !
Et le générateur ici http://www.scalpa.info/gencliccod.php
voilà où j'en suis : http://www.scalpa.info/fr_gram_01_cliccod.php Mais
ça zone (des fois) sur le comptage des points et je ne comprends par
pourquoi !
Et le générateur ici http://www.scalpa.info/gencliccod.php
voilà où j'en suis : http://www.scalpa.info/fr_gram_01_cliccod.php Mais
ça zone (des fois) sur le comptage des points et je ne comprends par
pourquoi !
Et le générateur ici http://www.scalpa.info/gencliccod.php
Le 30/01/2011 20:59, Scalpa a écrit :voilà où j'en suis : http://www.scalpa.info/fr_gram_01_cliccod.php Mais
ça zone (des fois) sur le comptage des points et je ne comprends par
pourquoi !
C'est ton découpage des scores qui ne colle pas.
Il faut regrouper le comptage dans la même boucle.
En gros, ça donnerait :
function corrige() {
var nbTypes = {su: 0, ve: 0, cd: 0, ci: 0, cc: 0};
var nbChoix = {su: 0, ve: 0, cd: 0, ci: 0, cc: 0};
var exo = document.getElementById('exo');
var mots = exo.getElementsByTagName('span');
var nbMots = mots.length;
for (var i=0; i < nbMots; i++) {
var type = mots[i].id.substring(0, 2);
nbTypes[type] ++;
var choix = mots[i].className;
if (choix == type) nbChoix[type] ++;
}
var scores = [
(nbChoix.su * 100 / (nbTypes.su || 1)).toFixed(2) + "% des sujets",
(nbChoix.ve * 100 / (nbTypes.ve || 1)).toFixed(2) + "% des verbes",
(nbChoix.cd * 100 / (nbTypes.cd || 1)).toFixed(2) + "% des COD",
(nbChoix.ci * 100 / (nbTypes.ci || 1)).toFixed(2) + "% des COI",
(nbChoix.cc * 100 / (nbTypes.cc || 1)).toFixed(2) + "% des compléments
circonstanciels"
];
var scoreFinal = "Tu as trouvé " + scores.join(", ") + ".";
document.getElementById('FeedBack').innerHTML = scoreFinal;
}
Du coup, tu n'as pas besoins, je crois, de lister les mots de chaque type
dans des tableaux (var motsSujet =['nous','John','Doe',...]).
Précision : l'écriture des scores, avec '(nbTypes.xx || 1)' en diviseur,
peut te sembler bizarre. En fait, c'est pour éviter la division par zéro
au cas où il n'y aurait aucun mots du type correspondant dans l'exercice.
De plus, cette partie aurait pu être automatisée avec une boucle sur les
valeurs d'option récupérées du select. Comme l'initialisation des objets
nbChoix et nbTypes, sur le même principe.
Le 30/01/2011 20:59, Scalpa a écrit :
voilà où j'en suis : http://www.scalpa.info/fr_gram_01_cliccod.php Mais
ça zone (des fois) sur le comptage des points et je ne comprends par
pourquoi !
C'est ton découpage des scores qui ne colle pas.
Il faut regrouper le comptage dans la même boucle.
En gros, ça donnerait :
function corrige() {
var nbTypes = {su: 0, ve: 0, cd: 0, ci: 0, cc: 0};
var nbChoix = {su: 0, ve: 0, cd: 0, ci: 0, cc: 0};
var exo = document.getElementById('exo');
var mots = exo.getElementsByTagName('span');
var nbMots = mots.length;
for (var i=0; i < nbMots; i++) {
var type = mots[i].id.substring(0, 2);
nbTypes[type] ++;
var choix = mots[i].className;
if (choix == type) nbChoix[type] ++;
}
var scores = [
(nbChoix.su * 100 / (nbTypes.su || 1)).toFixed(2) + "% des sujets",
(nbChoix.ve * 100 / (nbTypes.ve || 1)).toFixed(2) + "% des verbes",
(nbChoix.cd * 100 / (nbTypes.cd || 1)).toFixed(2) + "% des COD",
(nbChoix.ci * 100 / (nbTypes.ci || 1)).toFixed(2) + "% des COI",
(nbChoix.cc * 100 / (nbTypes.cc || 1)).toFixed(2) + "% des compléments
circonstanciels"
];
var scoreFinal = "Tu as trouvé " + scores.join(", ") + ".";
document.getElementById('FeedBack').innerHTML = scoreFinal;
}
Du coup, tu n'as pas besoins, je crois, de lister les mots de chaque type
dans des tableaux (var motsSujet =['nous','John','Doe',...]).
Précision : l'écriture des scores, avec '(nbTypes.xx || 1)' en diviseur,
peut te sembler bizarre. En fait, c'est pour éviter la division par zéro
au cas où il n'y aurait aucun mots du type correspondant dans l'exercice.
De plus, cette partie aurait pu être automatisée avec une boucle sur les
valeurs d'option récupérées du select. Comme l'initialisation des objets
nbChoix et nbTypes, sur le même principe.
Le 30/01/2011 20:59, Scalpa a écrit :voilà où j'en suis : http://www.scalpa.info/fr_gram_01_cliccod.php Mais
ça zone (des fois) sur le comptage des points et je ne comprends par
pourquoi !
C'est ton découpage des scores qui ne colle pas.
Il faut regrouper le comptage dans la même boucle.
En gros, ça donnerait :
function corrige() {
var nbTypes = {su: 0, ve: 0, cd: 0, ci: 0, cc: 0};
var nbChoix = {su: 0, ve: 0, cd: 0, ci: 0, cc: 0};
var exo = document.getElementById('exo');
var mots = exo.getElementsByTagName('span');
var nbMots = mots.length;
for (var i=0; i < nbMots; i++) {
var type = mots[i].id.substring(0, 2);
nbTypes[type] ++;
var choix = mots[i].className;
if (choix == type) nbChoix[type] ++;
}
var scores = [
(nbChoix.su * 100 / (nbTypes.su || 1)).toFixed(2) + "% des sujets",
(nbChoix.ve * 100 / (nbTypes.ve || 1)).toFixed(2) + "% des verbes",
(nbChoix.cd * 100 / (nbTypes.cd || 1)).toFixed(2) + "% des COD",
(nbChoix.ci * 100 / (nbTypes.ci || 1)).toFixed(2) + "% des COI",
(nbChoix.cc * 100 / (nbTypes.cc || 1)).toFixed(2) + "% des compléments
circonstanciels"
];
var scoreFinal = "Tu as trouvé " + scores.join(", ") + ".";
document.getElementById('FeedBack').innerHTML = scoreFinal;
}
Du coup, tu n'as pas besoins, je crois, de lister les mots de chaque type
dans des tableaux (var motsSujet =['nous','John','Doe',...]).
Précision : l'écriture des scores, avec '(nbTypes.xx || 1)' en diviseur,
peut te sembler bizarre. En fait, c'est pour éviter la division par zéro
au cas où il n'y aurait aucun mots du type correspondant dans l'exercice.
De plus, cette partie aurait pu être automatisée avec une boucle sur les
valeurs d'option récupérées du select. Comme l'initialisation des objets
nbChoix et nbTypes, sur le même principe.
De toutes façons, tant qu'on aura :
<span id="su11">La</span> <span id="su12">plupart</span> <span
id="su13">des</span> <span id="su14">mesures</span> <span
id="su15">de</span> <span id="su16">longueur</span>
c'est à dire que chaque mot de
"La plupart des mesures de longueur"
est *UN* sujet
le comptage va chier
De toutes façons, tant qu'on aura :
<span id="su11">La</span> <span id="su12">plupart</span> <span
id="su13">des</span> <span id="su14">mesures</span> <span
id="su15">de</span> <span id="su16">longueur</span>
c'est à dire que chaque mot de
"La plupart des mesures de longueur"
est *UN* sujet
le comptage va chier
De toutes façons, tant qu'on aura :
<span id="su11">La</span> <span id="su12">plupart</span> <span
id="su13">des</span> <span id="su14">mesures</span> <span
id="su15">de</span> <span id="su16">longueur</span>
c'est à dire que chaque mot de
"La plupart des mesures de longueur"
est *UN* sujet
le comptage va chier
C'est ton découpage des scores qui ne colle pas.
Il faut regrouper le comptage dans la même boucle.
Ah bon? Je ne comprends pas pourquoi....
Et la déclaration de tableaux ? (à plusieurs dimensions?) var nbTypes > {su: 0, ve: 0, cd: 0, ci: 0, cc: 0};
De plus, cette partie aurait pu être automatisée avec une boucle sur
les valeurs d'option récupérées du select. Comme l'initialisation des
objets nbChoix et nbTypes, sur le même principe.
Là je ne vois pas ce que tu veux dire....
Dans (nbChoix.cc * 100 / (nbTypes.cc || 1)).toFixed(2)
(nbTypes.cc || 1) veut que on teste nbTypes.cc et s'il est égal à 0
alors on prends 1 ?
C'est ton découpage des scores qui ne colle pas.
Il faut regrouper le comptage dans la même boucle.
Ah bon? Je ne comprends pas pourquoi....
Et la déclaration de tableaux ? (à plusieurs dimensions?) var nbTypes > {su: 0, ve: 0, cd: 0, ci: 0, cc: 0};
De plus, cette partie aurait pu être automatisée avec une boucle sur
les valeurs d'option récupérées du select. Comme l'initialisation des
objets nbChoix et nbTypes, sur le même principe.
Là je ne vois pas ce que tu veux dire....
Dans (nbChoix.cc * 100 / (nbTypes.cc || 1)).toFixed(2)
(nbTypes.cc || 1) veut que on teste nbTypes.cc et s'il est égal à 0
alors on prends 1 ?
C'est ton découpage des scores qui ne colle pas.
Il faut regrouper le comptage dans la même boucle.
Ah bon? Je ne comprends pas pourquoi....
Et la déclaration de tableaux ? (à plusieurs dimensions?) var nbTypes > {su: 0, ve: 0, cd: 0, ci: 0, cc: 0};
De plus, cette partie aurait pu être automatisée avec une boucle sur
les valeurs d'option récupérées du select. Comme l'initialisation des
objets nbChoix et nbTypes, sur le même principe.
Là je ne vois pas ce que tu veux dire....
Dans (nbChoix.cc * 100 / (nbTypes.cc || 1)).toFixed(2)
(nbTypes.cc || 1) veut que on teste nbTypes.cc et s'il est égal à 0
alors on prends 1 ?
c'est à dire que chaque mot de
"La plupart des mesures de longueur"
est *UN* sujet
[...]
[...]
Sans doute dans le générateur je devrai ajouter un menu déroulant
contenant phrase1 phrase2 etc. et me servir de la value pour ajouter à
l'Id un truc du genre id="P1su0" id="P1su1" etc. et puis au moment de la
correction et ben..........heu .......... je ne sais pas faut que j'y
réfléchisse..........
c'est à dire que chaque mot de
"La plupart des mesures de longueur"
est *UN* sujet
[...]
[...]
Sans doute dans le générateur je devrai ajouter un menu déroulant
contenant phrase1 phrase2 etc. et me servir de la value pour ajouter à
l'Id un truc du genre id="P1su0" id="P1su1" etc. et puis au moment de la
correction et ben..........heu .......... je ne sais pas faut que j'y
réfléchisse..........
c'est à dire que chaque mot de
"La plupart des mesures de longueur"
est *UN* sujet
[...]
[...]
Sans doute dans le générateur je devrai ajouter un menu déroulant
contenant phrase1 phrase2 etc. et me servir de la value pour ajouter à
l'Id un truc du genre id="P1su0" id="P1su1" etc. et puis au moment de la
correction et ben..........heu .......... je ne sais pas faut que j'y
réfléchisse..........
(nbChoix.su * 100 / (nbTypes.su || 1)).toFixed(2) + "% des sujets",
(nbChoix.su * 100 / (nbTypes.su || 1)).toFixed(2) + "% des sujets",
(nbChoix.su * 100 / (nbTypes.su || 1)).toFixed(2) + "% des sujets",
CAVEAT : En MSIE<= 8, 0.007.toFixed(2) -> 0.00 // Ugh - mais IE9 OK ?
CAVEAT : En MSIE<= 8, 0.007.toFixed(2) -> 0.00 // Ugh - mais IE9 OK ?
CAVEAT : En MSIE<= 8, 0.007.toFixed(2) -> 0.00 // Ugh - mais IE9 OK ?
Le 01/02/2011 20:30, Dr J R Stockton a écrit :CAVEAT : En MSIE<= 8, 0.007.toFixed(2) -> 0.00 // Ugh - mais IE9 OK ?
Argh... j'avais oublié qu'il existait encore, ce navigateur ! ;-)
Plus sérieusement, il me semblait que le bug avait été résolu dès la
version 8. Mea culpa, donc, et merci pour la précision.
Le 01/02/2011 20:30, Dr J R Stockton a écrit :
CAVEAT : En MSIE<= 8, 0.007.toFixed(2) -> 0.00 // Ugh - mais IE9 OK ?
Argh... j'avais oublié qu'il existait encore, ce navigateur ! ;-)
Plus sérieusement, il me semblait que le bug avait été résolu dès la
version 8. Mea culpa, donc, et merci pour la précision.
Le 01/02/2011 20:30, Dr J R Stockton a écrit :CAVEAT : En MSIE<= 8, 0.007.toFixed(2) -> 0.00 // Ugh - mais IE9 OK ?
Argh... j'avais oublié qu'il existait encore, ce navigateur ! ;-)
Plus sérieusement, il me semblait que le bug avait été résolu dès la
version 8. Mea culpa, donc, et merci pour la précision.