Valid XHTML    Valid CSS2    

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 gH    Retour à la page principale de   (gH)