Forum de discussion
Forum « Programmation Javascript » (archives)
calcul aléatoire
Envoyé: 22 mai 2006, 14h25 par mainj
[quote]
<title></title>
<script type="text/javascript">
<!--
var compt1;
var x = 0;
var y = 1;
function startcompteur()
{
x = x+y;
document.getElementById("time").value = x;
compt1= setTimeout("startcompteur()", 1000);
}
function stopcompteur()
{
clearTimeout(compt1);
}
var add = new Array(10) ;
var sou = new Array(10) ;
var mul = new Array(10) ;
var div = new Array(10) ;
var tout= new Array(10) ;
var tabope=new Array(10) ;
var operation = Array(add, sou, mul, div);
var reponseadd= new Array(10);
function hasard(n) {
return Math.floor(Math.random()*n)
}
function init() {
var ope=document.getElementById("ope").value;
// récupérer l'opé et engendrer le tableau de calcul à tester
for (var i=0 ; i<add.length ; i++)
tabope[i] =hasard(10)+ ope+ hasard(10);
for (var i=0 ; i<add.length ; i++)
add[i] =hasard(10)+ ope+ hasard(10);
}
function test(fg) {
var ope=document.getElementById("ope").value;
numope=fg.ope.selectedIndex ;
nomope=fg.ope[fg.ope.selectedIndex].text;
typope=fg.ope[fg.ope.selectedIndex].value;
init(ope);
tab= open("about:blank","tab","left=400 height=500,width=300");
tab.document.writeln("<body >");
tab.document.writeln("<form name='formudh'onLoad='startcompteur();'>");
tab.document.writeln("<table border=0 width=80%> ") ;
for (var i=0 ; i<tabope.length ; i=i+2) {
tab.document.writeln("<tr><td>"+ tabope[i] +" = <input type='text' size='5'></td>" );
tab.document.writeln("<td>"+ tabope[i+1] +" = <input type='text' size='5' ></td></tr>" );
}
tab.document.writeln("</table>") ;
tab.document.writeln("<input type='text' id='time' size='4'><br>");
tab.document.writeln( "<input type='button' name='valider' value='OK' onClick='stopcompteur();'> <br>" );
tab.document.writeln("</form>");
}
function evaluer() {
var nom= document.getElementById("nom").value;
var prenom=document.getElementById("prenom").value;
var naiss=document.getElementById("naiss").value;
var time=document.getElementById("time").value;
var compt=0 ;
for (var i=0 ; i< tabope.length ; i++) {
reponseadd[i] = eval( tabope[i]);
if (eval(parent.tab.formudh.elements[i].value) == reponseadd[i] ) compt++
}
tab1= open("about:blank","tab1","height=300,width=300");
tab1.document.writeln('<body>');
tab1.document.writeln("<p>" +(nom)+ " "+(prenom)+ "</p>");
tab1.document.writeln("<p>né(e) le" +(naiss)+ "</p>");
tab1.document.writeln("<p>a réussi avec "+ (compt) + "/10 </p>" ) ;
tab1.document.writeln("<p>en"+(time)+"sec</p>");
}
//-->
</script>
</head>
<body>
<h4>Choix d'une opération</h4>
<form id="formug">
<label>NOM</label>
<input type="text" id="nom"><br>
<label>PRENOM</label>
<input type="text" id="prenom"><br>
<label>NAISSANCE</label>
<input type="text" name="naiss"><br>
<form name="formug" >
<select name="ope" size=4 onClick="test(formug)" onChange="startcompteur();">
<option value="+" >addition</option>
<option value="-"> soustraction</option>
<option value="*"> multiplication</option>
<option value="/"> division</option>
</select>
<input type="text" id="time" size="4">
<h4>Combien de bonnes réponses ?</h4><br>
<input type="button" name="valider" value="Combien ?"" onClick='stopcompteur();evaluer();'>
</form>
</body>
</html>
[/quote]
Réponses
|