Hlavní nabídka: |
Základy
Reference
Příklady
|
|
|
Generátor čísel sportky
V tomto příkladě si ukážeme, jak si usnadnit tipování do sportky.
Zdrojový kód:
<HTML>
<HEAD>
<TITLE>Generátor čísel sportky</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function vylosuj(pocet,rozsah)
{
s=""; cisla=new Array(pocet);
for (i=0;i<pocet;i++)
{
ruzne=false;
while (ruzne==false)
{
ruzne=true;
cisla[i]=Math.floor(Math.random()*rozsah)+1;
for (j=0;j<pocet;j++)
if (cisla[i]==cisla[j] && i!=j) ruzne=false;
}
}
for (k=0;k<pocet;k++)
s+=cisla[k]+" ";
window.alert("Vylosovaná čísla:\n"+s);
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<H3>Generátor čísel loterie</H3>
<FORM>
Rozsah od 0 do
<INPUT TYPE="text" NAME="rozsah" VALUE="80" SIZE="3"><BR>
Počet losovaných čísel:
<INPUT TYPE="text" NAME="pocet" VALUE="10" SIZE="2"><P>
<INPUT TYPE="button" VALUE="Vygeneruj"
onClick="vylosuj(pocet.value,rozsah.value);">
</FORM>
</BODY>
</HTML>
Výsledek:
Generátor čísel loterie
Vysvětlení činnosti:
Základním kamenem v tomto příkladě je funkce vylosuj(pocet,rozsah). Pocet udává počet čísel, které se budou losovat a rozsah udává rozsah generovaných čísel (např. 0-25). V této funkci si nejdříve inicializujeme proměnnou s, která bude později zastupovat výpis jednotlivých čísel. Dále si inicializujeme pole cisla, které bude mít argument pocet - počet losovaných čísel. Poté si za pomocí podmínky for "zacyklíme" generování jednotlivých hodnot. Podmínka se bude opakovat do té doby až se počet hodnot vyrovná s proměnnou pocet. Nyní už k obsahu samotné podmínky. Inicializujeme si proměnnou ruzne, které dáme hodnotu false. Pokud bude ruzne false vykoná se díky cyklu while další část scriptu. V ní proměnné ruzne přiřadíme hodnotu true (zdá se Vám to chaotické, čtěte dále). Poté poli cisla vygenerujeme další hodnotu pomocí funkce Math.random(), kterou následně vynasobíme rozsahem (Math.random() generuje číslo mezi 0 a 1) a poté ji zaokrouhlíme dolů a přičteme jedna. Musíme ale ošetřit případ, kdy se vylosované číslo vylosuje znovu. To realizujeme opět pomocí podmínky for a if. Když tedy bude hodnota stejná jako už nějaká vylosovaná dostane proměnná ruzne opět hodnotu false a cyklus se opakuje. Zde tedy vidíte význam proměnné ruzne. Poslední částí při generování čísel je uložení je jako hodnoty do proměnné s. Abychom mezi ně umístili ještě mezeru použijeme opět podmínku for, která nám ji tam vloží tolikrát, jako má hodnotu proměnná pocet. Nakonec pomocí window.alert výsledek vypíšeme do výstražného okna. Samotná část html pak jen přiřazuje formulářovým prvkům jména a následně, díky ovladači událostí onClick, aktivuje funkci vylosuj a jako argumenty vloží hodnotu obou prvků formuláře.
03.07.2002 | Příklady | David Havlíček
|
|
Dnes je 29. 03. 2024 Svátek má Taťána | |
Bleskové aktuality: |
10.12.2002 Dlouho jsme tu neměli příklady, tak co kdybychom si dneska jeden dali?
07.12.2002 Poslední operáty, které si představíme, jsou speciální.
02.12.2002 Po delší pauze si představíme další operátory - řetězcové.
17.11.2002 Next operátory jsou přiřazovací.
10.11.2002 Jedněmi z posledních operátorů jsou porovnávací.
02.11.2002 Už jste slyšeli o logických operátorech? Pár jich taky je.
29.10.2002 Dalšími operátory jsou bitové.
26.10.2002 Dnes si představíme první z řady operátorů - aritmetické operátory.
24.10.2002 Další částí referencí jsou příkazy.
18.10.2002 Dnes se mrkneme na referenční přehled funkcí.
12.10.2002 Window je objekt, který má snad nejvíce metod a vlastností, tak se mu dnes podíváme na zoubek.
06.10.2002 Netradičně v neděli další objekt - string.
28.09.2002 Další sobota. Další objekt - screen.
21.09.2002 Hodně používáný je objekt navigator. Proto se na něj dneska zaměříme.
14.09.2002 Po týdenní pauze další referenční článek o objektu - tentokrát Math.
07.09.2002 Objekt location bude náš dnešní cíl.
04.09.2002 Na paškál si tentokrát vezmeme objekt history.
|
|
|