Cykly - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kdo je autorem výstavy obrazových fotografií „Očima Hanse Christiana Andersena“?

V dnešní soutěži hrajeme o:



JavaScript

Cykly

15. srpna 2001, 00.00 | Minule jsme vysvětlili větvení programů, bez kterého se určitě neobejdete.
Neobejdete se však ani bez použití cyklů. Cykly vám umožní provádět stále dokola
stejné příkazy (blok příkazů), které stačí zapsat pouze jednou.

Minule jsme vysvětlili větvení programů, bez kterého se určitě neobejdete. Neobejdete se však ani bez použití cyklů. Cykly vám umožní provádět stále dokola stejné příkazy (blok příkazů), které stačí zapsat pouze jednou.

Cykly jsou vůbec zajímavou částí programování. Pokud vás zajímají více, můžete se přečíst můj dokument, který vysvětluje, jak lze naprogramovat cykly pouze s příkazem if v Assembleru (příkaz if je vytvořen pomocí návěstí a skoku na něj). V dokumentu se můžete dočíst, že existují v zásadě tři druhy cyklů:

  • s pevným počtem opakování
  • s podmínkou na konci
  • s podmínkou na začátku
  • Jistě by bylo možné vytvořit více druhů cyklů, ale tyto tři základní bohatě stačí. A jejich vzájemnou kombinací dosáhnete požadovaného výsledku.

    Cyklus s pevným počtem opakování

    Nejjednodušší představitel cyklů, používá příkaz for. Vykoná požadovaný blok příkazů přesně tolikrát, kolikrát je mu přikázáno, proto je nutné znát předem počet opakování bloku příkazů. Tato hodnota je uložena do řídicí proměnné. Obecně bychom to zapsali takto:

    for(pocatecni_hodnota; konecna_hodnota; uprava_ridici promenne){
    zde jsou prikazy, ktere se maji vykonat pri pruchodu cyklem
    }

    A hned tu máme jeden příklad:

    <s c r i p t language="javas c r i p t"><br> <!--
    var max = 10

    for (i=1; i<=max; i++){
    document.write(i,",");
    }
    document.write("<br>");
    for (i=3;i<=max;i+=3){
    document.write(i,",");
    }
    document.write("<br>");
    for (i=10;i>=1; i--){
    document.write(i,",");
    }

    // stav s carkou na konci neni osetren
    // priklad vypise tri rady cisel
    // muzete si zkusit zmenit promennou "max"
    //-->

    Proměnné i (ve for cyklech se často používá tato proměnná ) je řídicí proměnná - iterátor. Její zvýšení (snížení) si lze zvolit o kolik chcete (potřebujete). V našem příkladu jsem ji nejdříve zvyšoval o 1 každým vykonáním cyklu. Ve druhém cyklu jsem proměnnou zvyšoval o 3 a ve třetím cyklu jsem proměnnou snižoval o 1.

    Cyklus s podmínkou na začátku

    Pro tento cyklus se používá příkaz while, který zajistí testování podmínky na začátku cyklu. Takový cyklus lze obecně zapsat:

    while (podminka){
    zde jsou prikazy, ktere se maji vykonat pri pruchodu cyklem
    }

    Pozor: tento cyklus nemusí proběhnout ani jednou, tzv. pokud je podmínka nesplněna, cyklus nemusí vykonat své tělo.

    Tento skript se vás bude ptát, jestli se vám líbí stránky. Ptát se, dokud neřeknete "ano". Zde je krásně vidět, že pokud je podmínka nesplněna hned na začátku (odpovíte "ano"), cyklus se již nevykoná (už se vás nikdo nebude ptát).

    <s c r i p t language="javas c r i p t"><br> <!--
    var odpoved = prompt("Libi se vam nase stranky (ano/ne)?","ano");
    while(odpoved=="ano"){
    odpoved = prompt("LIBI se vam nase stranky (ano/ne) !!!!!","ano");}
    document.write("<H1>Vse je OK</H1>");
    //-->

    Cykly s podmínkou na konci

    Spousta programátorů dává přednost tomuto cyklu před všemi ostatními (tedy pokud to lze). Jeho velkým plusem (pro který je někdy nepoužitelný) je testování podmínky na začátku cyklu. Tak máme jistotu, že cyklus proběhne alespoň jednou. Obecný zápis tohoto cyklu

    do{
    zde jsou prikazy, ktere se maji vykonat pri pruchodu cyklem
    }while (podminka)

    Jak jsem již řekl, jeho použití je často mnohem výhodnější. Proto tu máte jako ukázku předchozí příklad, který jsem upravil pro tento cyklus.

    <s c r i p t language="javas c r i p t"><br> <!--
    var odpoved;

    do{
    odpoved = prompt("Libi se vam nase stranky (ano/ne)?","ano");
    } while (odpoved == "ano")

    document.write("<h1>Vse je OK</h1>");
    //-->
    </s c r i p t>

    Shrnutí

    Cyklus s pevným počtem opakování - na začátku je přesně znám počet vykonání cyklu. Pokud je počet vykonání kladný (záporný), cyklus provede své tělo alespoň jednou.

    Cyklus s podmínkou na začátku - tento cyklus nemusí být vykonán, pokud není splněna podmínka na začátku. Někdy je jeho použití zbytečné.

    Cyklus s podmínko na konci - cyklus proběhne alespoň jednou.

    Řízení cyklů

    Již jsem se zmínil, že cyklus můžete násilně ukončit. Jsou dvě možnosti, jak cyklus ukončit:

  • z cyklu vyskočíte úplně - příkaz break
  • přeskočíte všechny příkazy až do konce cyklu - příkaz continue
  • Reference

    navigator.javaEnabled - podpora Javy prohlížečem = true, Java nepodporována = false
    podporuje: NN 3.0, IE 4.0

    navigator.appCodeName - kódový název prohlížeče
    podporuje: NN 2.0, IE 3.0

    navigator.appMinorVersion - subverze prohlížeče stránek
    podporuje: IE 4.0

    navigator.cookieEnabled - true = cookie povoleno, false = cookie nepovoleno
    podporuje: IE 4.0

    Obsah seriálu (více o seriálu):

    Tématické zařazení:

     » Rubriky  » JavaScript  

     » Rubriky  » Web  

     

     

     

    Nejčtenější články
    Nejlépe hodnocené články

     

    Přihlášení k mému účtu

    Uživatelské jméno:

    Heslo: