lunes, 26 de junio de 2017

Reto 3+

Este reto se parece mas a un juego que a un programa normal, generará varias filas de números aleatorios del uno al cien pero si uno de esos números es par y está entre cuarenta y sesenta se detiene la generación de números y de todas las filas te dice cual es la más larga y cuantos números ha llegado a tener.

El código:
 <!DOCTYPE html>  
 <html>  
  <head>  
   <meta charset="utf-8">  
   <title>Generación de números aleatorios en JavaScript con filtros</title>  
  </head>  
  <body>  
   <h1>Generación de aleatorios hasta llegar a un par entre 40 y 60</h1>  
   <p>Generamos aleatorios entre 1 y 100  
     pero el proceso se detiene al generar un último número par  
     que está entre 40 y 60 (ambos incluidos).</p>  
   <p>Generamos 20 tiradas y decimos al final cúal es la que mayor número de elementos tiene.  
   </p>  
     <button type="button" onclick="myFunction()">Genera</button>  
     <p id="frase">Pulse el botón para iniciar la generación de aleatorios.</p>  
   <script>  
    function myFunction()  
    {  
     var text="";  
     var cuenta;  
     var maxi=0;  
     var campeon="";  
     for(i=1;i<=20;i++)  
     {  
      cuenta=0;  
      if(i<10)  
      {  
       text+="Tirada 0"+i+": ";  
      }else{  
       text+="Tirada "+i+": ";  
      }  
      var x;  
      do {  
       x=Math.floor((Math.random()*100)+1);  
       text +=x+", ";  
       cuenta++;  
      } while (x<40 || x>60 || x%2!=0 );  
      text=text.replace(/,\s*$/, ""); //elimina la última coma y el espacio posterior a ella  
      text+="<br>";  
      if (cuenta==maxi)  
      {  
       campeon +=i+",";  
      } else if (cuenta>maxi) {  
       maxi=cuenta;  
       campeon=i+",";  
      }  
     }  
     campeon=campeon.replace(/,\s*$/, "");  
     campeon+=".";  
     text +="<br>"+"El máximo número de elementos es <strong>"+maxi+"</strong> y se alcanza en "+campeon;  
     document.getElementById("frase").innerHTML = text;  
    }  
   </script>  
  </body>  
 </html>  

El programa: https://magnitopic.github.io/edujs/reto3plus.html

Los retos:
https://docs.google.com/document/d/18c89Xpp4nHCyUJAMh2spcXeUKmYxbZTPMSm0TlfyABc/edit?usp=sharing

No hay comentarios:

Publicar un comentario