Späť Domov Ďalej

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!
  1.  V skripte máme cyklus 

for (i=3;i<5;i++){

document.write("Hallo!");

}

Čo spôsobí?


 

 2. Chceme výpis 5-krát "Ahoj" - doplňte chýbajúce časti skriptu

..(1)..

while (2) {

document.write("Ahoj!");

i++

}


 

3. Akú hodnotu vypíše nasledujúci program?

x=5;i=0;

do {

x+=-2;

i++;

}

while (i<10);

document.write(x);


 

 

Ú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äť


Posledná aktualizácia: 12 máj, 2003

Webmaster: Mgr.Anna Peťovská