Listing du fichier nbAuHasard.js
00001// # (gH) -_- nbAuHasard.js ; TimeStamp (unix) : 31 Octobre 2020 vers 19:07
00002
00003 // ################################################
00004
00005 function tirageAleatoireSimple(valMax) {
00006
00007 // ################################################
00008
00009 // on tire au hasard un seul nombre entre 1 et valMax
00010 // qu'on renvoie en fin de fonction
00011
00012 if (valMax<1) { valMax = 1 }
00013
00014 leNombre = Math.random() * valMax
00015 leNombre = Math.round(leNombre)
00016
00017 if (leNombre<1) { leNombre = 1 }
00018
00019 return(leNombre)
00020
00021 } // fin de function tiragesAleatoireSimple
00022
00023 // ################################################
00024
00025 function tiragesAleatoires(nt,pmax) {
00026
00027 // ################################################
00028
00029 // on tire au hasard nt nombres entre 1 et pmax
00030 // qu'on affiche dans un textarea dont l'id est tirs
00031
00032 // le formatage via la fonction sprintf()
00033 // est issu de https://github.com/alexei/sprintf.js/blob/master/src/sprintf.js -- merci Alexei !
00034
00035 res = ""
00036
00037 for (i=1;i<=nt;i++) {
00038 f_i = sprintf("%3d",i)
00039 f_nt = sprintf("%3d",nt)
00040 f_pmax = sprintf("%3d",pmax)
00041 tir = tirageAleatoireSimple(pmax)
00042 f_tir = sprintf("%3d",tir)
00043 res += " tirage " + f_i + " sur " + f_nt + " : " + f_tir + "\n"
00044 } // fin pour i
00045
00046 window.document.getElementById("tirs").value = res
00047
00048 } // fin de function tiragesAleatoires
00049
00050 // ################################################
00051
00052 function tirages() {
00053
00054 // ################################################
00055
00056 // on commence par afficher la zone de résultats
00057
00058 window.document.getElementById("resultats").setAttribute("class","visible")
00059
00060 // on récupère la valeur de n, à tester comme entier entre 1 et 50,
00061 // on récupère la valeur de p, à tester comme entier entre 1 et 10,
00062
00063 // puis on tire au hasard n nombres entre 1 et p
00064 // via la fonction précédente
00065
00066 valn = window.document.getElementById("n").value
00067
00068 if (valn=="") {
00069 window.document.getElementById("tirs").value = " la valeur de n est vide "
00070 return
00071 } // fin si
00072
00073 // à cause du texte, plutot que : if (!Number.isInteger(valn)) {
00074 // on passe par une expression régulière
00075
00076 if (!/^[0-9]+$/.test(valn)) {
00077 window.document.getElementById("tirs").value = " la valeur de n (" + valn + ") n'est pas un entier "
00078 return
00079 } // fin si
00080
00081 valn = parseInt(valn) // efnin !
00082
00083 if ((valn<1) || (valn>50)) {
00084 window.document.getElementById("tirs").value = " n vaut " + valn + " ; c'est un entier qui n'est pas compris entre 1 et 50"
00085 return
00086 } // fin si
00087
00088 valp = window.document.getElementById("p").value
00089
00090 if (valp=="") {
00091 window.document.getElementById("tirs").value = " la valeur de p (nombre de tirages) est vide "
00092 return
00093 } // fin si
00094
00095 if (!/^[0-9]+$/.test(valp)) {
00096 window.document.getElementById("tirs").value = " la valeur de p n'est pas un entier "
00097 return
00098 } // fin si
00099
00100 if ((valp<1) || (valp>20)) {
00101 window.document.getElementById("tirs").value = " p est un entier qui n'est pas compris entre 1 et 10"
00102 return
00103 } // fin si
00104
00105 tiragesAleatoires(valp,valn)
00106
00107 } // fin de function tirages
00108
00109 // ################################################
00110
00111 function videTirages() {
00112
00113 // ################################################
00114
00115 window.document.getElementById("tirs").value = " "
00116
00117 } // fin de function videTirages
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)