Probabilités et allumettes

Fermé
Utilisateur anonyme - 9 janv. 2013 à 18:16
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 - 10 janv. 2013 à 12:49
Bonjour, j'ai un projet à rendre pour les cours en javascript.
Le sujet est celui-ci : On fait tomber des allumettes de5 cm sur un plateau où sont tracés des lignes parallèles de 10 cm d'écart entre elles. Il faut calculer dans différents cas les probabilités que les allumettes tombent sur une ligne.
Pour cela on prend le premier point d'impact d'un côté l'allumette (compris entre 0 et 10 que l'on appel D) et ensuite on calcule la probabilité que l'autre côté de l'allumette tombe sur une ligne grâce à cette formule :
D + (5 * cos(angle au hasard en radians)).
Si le résultat est >= à 10 ou <= à 0 l'allumette touche une ligne.
Le but est de faire deux fonctions, l'une actionnée par un button qui permet de simuler une chute et qui rajoute 1 à un compteur affiché dans la page HTML, l'autre permet à l'utilisateur de simuler un nombre défini par lui-même de chutes d'allumettes et d'observer le nombre d'allumettes qui tombent sur des lignes grâce à un autre compteur.
Voici mon code, qui évidemment ne marche pas (sinon je ne demanderai pas de l'aide :

----------------------------------------------
<script> 

var i = 0 ; // Premier compteur 
var L = 5 ; // Longueur 


function calcul() { 
var D = Math.random() * 10 ; // On crée une distance D 
var angle = Math.random() * 360 ; // On crée un angle en degrés 
var angleradian = (angle*Math.PI)/180 ; // On convertit l'angle en radians 
var calcul = D + ( L*Math.cos(angleradian) ) ; // On effecute l'opération 

if ( (calcul<=0) || (calcul>=10) ) { // On vérifie si l'alumette est tombée sur une ligne à l'aide du calcul 
i=i+1 ; // On incrémente le compteur 
document.getElementById("score") = i ; 
} 

else { 
document.getElementById("score") = i ; 
} 

} 

var z = 0 ; // second compteur 

function laches() { 
for (var j = document.getElementById("laches"); j>0; j=j-1 ) { 

var D = Math.random() * 10 ; 
var angle = Math.random() * 360 ; 
var angleradian = (angle*Math.PI)/180 ; 
var calcul = D + ( L*Math.cos(angleradian) ) ; 

if ( (calcul<=0) || (calcul>=10) ) { 
z=z+1 ; 
document.getElementById("secondscore") = z ; 
} 

else { 
document.getElementById("secondscore") = z ; 
} 

} 
} 



</script> 


<body> 
<!-- Debut du site --> 
<div id="siteblock"> 
<div id="centre"> 
<center> 
<INPUT onclick="calcul()" type="button" value="faire tomber une alumette"></INPUT> 
<br> 
<INPUT type="text" value="0" size="5" id="score"></INPUT> allumettes tombées sur une ligne. 
<br> <br> 
<INPUT type="text" value="0" size="5" id="laches"></INPUT> nombre de lachés souhaités 
<br> 
<INPUT onclick="laches()" type="button" value="faire les lachés"></INPUT> 
<br> 
<INPUT type="text" value="" size="5" id="secondscore"></INPUT> allumettes tombées sur une ligne. 
</center> 


--------------------------------------------------



Merci d'avance à quiconque peut m'aider à corriger mes erreurs !
A voir également:

1 réponse

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
10 janv. 2013 à 12:49
Tu as simplement oublié des p'tit .value après tes document.getElementById

document.getElementById("score").value  (*2)
document.getElementById("laches").value
document.getElementById("secondscore").value


Du coup tu essayer de modifier l'object complet et non sa valeur.
0