Domov Výpisy Premenné Dialógové okná Tlačidlá .Podmienky a vetvenie Cyklus Funkcie Objekty Objekt Array Objekty tvorené užívateľom Objekt Date Objekt Math Formuláre Objekty formulárov Ďalšie objekty formulára Obrázky Obrázky-2 Stavový riadok Popis v stavovom riadku Animovaný text Hodiny Skladačka Linky | |
6.Príkazy cyklu
1. Cyklus s pevným počtom opakovaní.
V tomto prípade sa činnosť bude opakovať určitý počet-krát, pričom tento počet načítava riadiaca premenná.
syntax:
for (var i=0 ; i <10; i++) { TELO_CYKLU
}
Riadiaca premenná (počítadlo, ktoré sleduje, koľkokrát akcia prebehla) je tu označená písmenom i a je jej priradená počiatočná hodnota 0(var
i=0). Cyklus bude opakovať, pokiaľ je táto hodnota menšia ako 10 (i<10), pričom sa stále zvyšuje o 1 ( i++).Cyklus teda prebehne 10-krát.
Jednoduchý príklad:
Napíšte program na výpis zmeny hodnoty premennej i postupne od 1, 2, ..,10
|
<script language="javascript">
for(var i=1;i<11;i++) {
document.write("i="+i+"<br>")
}
</script>
|
V tomto jednoduchom príklade vidíme ako sa menia hodnoty riadiacej premennej i počas vykonávania cyklu. Tieto hodnoty sa vypisujú postupne v jednotlivých riadkoch - <br>
|
2. Cyklus s podmienkou na začiatku.
Použitím tohto typu cyklu sa najskôr vyhodnotí podmienka a pokiaľ je splnená, cyklus sa opakuje, ak už podmienka neplatí, cyklus sa ukončí. To znamená, že cyklus nemusí prebehnúť ani raz.
syntax:
while (podmienka) { TELO_CYKLU }
Príklad:
Napíšte program na výpis ciferného súčtu daného prirodzeného čísla x.
|
script language="javascript">
var x,y;
var sucet=0;
x=prompt("vlož číslo",x);
while (x>0){
y=x%10;
sucet+=y;
x=(x-y)/10;}
alert("ciferný súčet je "+sucet);
</script>
|
Algoritmus riešenia:
pokiaľ x>0 opakuj
1. vydeľ x celočíselne 10 a výsledok vlož do premennej y (posledná číslica čísla x) (napr. x=1234, y=4)
2. do premennej súčet pripočítaj odtrhnutú číslicu (sucet=4)
3. do premennej x vložíme celočíselný podiel x a 10 (x=123)
...
|
3. Cyklus s podmienkou na konci.
Tento typ cyklu najskôr vykoná všetky príkazy v tele cyklu a až nakoniec vyhodnocuje podmienku. Cyklus sa bude opakovať dotiaľ, pokiaľ podmienka platí. Na rozdiel od predchádzajúceho typu teda
aspoň jedenkrát prebehne.
syntax:
do { TELO_CYKLU} while (podmienka);
|
Príklad:
Napíšte jednoduchý príklad s použitím cyklu s podmienkou na konci, ktorý vypíše 10-krát pod sebou slovko Hallo!
|
<script language="Javascript">
var i=0;
do{
i++;
document.write("Hallo!"+"<br>");
} while (i<10);
</script>
|
Na rozdiel od pascalovského repeat...until, kde cyklus opakuje vtedy, keď je podmienka neplatná, v tomto prípade sa cyklus opakuje pokiaľ podmienka platí.
Pretože najskôr prebehne telo cyklu, až potom sa vyhodnocuje podmienka, ak chceme mať 10 výpisov, podmienka bude i < 10.
|
Vyskúšajte sa!
Úlohy:
1. Napíšte program, ktorý si vypýta meno návštevníka a potom ho
vypíše do dokumentu po písmenkách zhora dolu 2.Napíšte cyklus,
ktorý si žiada meno návštevníka až pokiať nie je nejaké zadané
Riešenie |
späť |