e-gradiva     HTML CSS JavaScript Načrtovanje    
  logotip  
SERŠ Maribor Iskanje Primeri

Loto

Koda:
<script type="text/javascript">
function zrebaj()
{
var koliko = document.forms.loto.stevilo;
var stevilo = koliko.options[koliko.selectedIndex].value;
var najvec_st = +document.loto.najvec.value;
if (stevilo > najvec_st)
 {
 alert("Prosim pove\u010Dajte najve\u010Dje \u0161tevilo!");
 document.loto.najvec.value=stevilo;
 }
 else
 {
 var ok = true;
 izbrano = new Array (stevilo);
 for (var i = 1; i <= stevilo; i++)
   {
   izbrano [i] = Math.round(Math.random() * (najvec_st-1))+1;
   }
for (var i = stevilo; i >= 1; i--)
   {
   for (var j = stevilo; j >= 1; j--)
     {
     if ((i != j) && (izbrano [i] == izbrano [j])) ok = false;
     }
   }
if (ok==true)
   {
   var prikaz = "";
   for (var k = 1; k <= stevilo; k++)
     {
     prikaz += k + ". \u0161tevilka je " + izbrano [k] + "\n";
     }
   document.forms.loto.rezultat.value = prikaz;
     }
  else
     {
     zrebaj();
     }
  }
}
</script>

<form id="loto">
<p>Izberite
<select name="stevilo">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7" selected>7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>

</select>
števil
od 1 do <input type="text" name="najvec"
value="39" size="2" maxlength="2">
</p><p>
<input type=button value="Izžrebaj številke"
onclick="zrebaj()">
</p><p>
<textarea name="rezultat" rows="10"
cols="20"></textarea>
</p>

</form>
Izgled v
brskalniku:

Izberite števil od 1 do

Razlaga:

Program generira poljubna cela števila. Koliko je teh števil izbere uporabnik sam, prav tako uporabnik določi iz katerega intervala (oz. od 1 pa do katerega števila izbira).

Najprej preveri, če je največje možno število sploh večje od izbranega števila možnosti. Če ni, opozori uporabnika na to opozori. Nato se zažene zanka, ki generira števila in jih vpiše v polje izbrano, katerega dolžina je enaka številu števil, ki se morajo generirati. Če se dvakrat generira isto število, se generiranje ponovi. Potem le še izpiše števila z ustreznim sobesedilom v tekstovno polje rezultat.

SERŠ Maribor : Strokovna gimnazija : 2006 : Matjaž Repolusk