Definitívna slučka vs neurčitá slučka
Smyčka je blok kódu, ktorý by sa opakoval po zadaný počet opakovaní alebo dovtedy, kým nebude splnená nejaká podmienka. Definitívna slučka je slučka, v ktorej je vopred známe, koľkokrát sa má vykonať, pred vstupom do slučky. V neurčitej slučke nie je vopred známy počet pokusov o vykonanie a bude vykonaný, kým nebude splnená niektorá podmienka.
Čo je to definitívna slučka?
Definitívna slučka je slučka, v ktorej je vopred známe, koľkokrát sa má vykonať, pred vstupom do slučky. Počet iterácií, ktoré sa bude opakovať, sa zvyčajne poskytne prostredníctvom celočíselnej premennej. Všeobecne sa slučky for považujú za určité slučky. Nasleduje príklad definitívnej slučky implementovanej pomocou slučky for (v programovacom jazyku Java).
pre (int i = 0; i <num; i ++)
{
// telo slučky for
}
Vyššie uvedená slučka vykoná svoje telo mnohokrát poskytnuté premennou num. To sa dalo určiť z počiatočnej hodnoty premennej i a stavu slučky.
Zatiaľ čo slučky môžu byť tiež použité na implementáciu určitých slučiek, ako je uvedené nižšie (v Jave).
int i = 0;
kým
{
// telo slučky
i ++;
}
Aj keď sa to používa s cyklom while, toto je tiež definitívna slučka, pretože je vopred známe, že slučka bude vykonávať počet opakovaní poskytovaných premennou num.
Čo je neurčitá slučka?
V neurčitej slučke nie je vopred známy počet pokusov o vykonanie. Spravidla sa bude vykonávať neurčitá slučka, kým nie je splnená niektorá podmienka. Zatiaľ čo slučky a slučky do-while sa bežne používajú na implementáciu neurčitých slučiek. Aj keď neexistuje žiadny konkrétny dôvod, prečo sa slučky nepoužívajú na vytváranie neurčitých slučiek, mohli by sa neurčité slučky prehľadne organizovať pomocou slučiek while. Niektoré bežné príklady, ktoré by ste potrebovali na implementáciu neurčitých slučiek, sú výzvou na čítanie vstupu, kým používateľ nevloží kladné celé číslo, čítanie hesla, kým používateľ nevloží rovnaké heslo dvakrát za sebou atď.
Aký je rozdiel medzi Definite Loop a Indefinite Loop?
Definitívna slučka je slučka, v ktorej je vopred známy počet pokusov o vykonanie pred vstupom do slučky, zatiaľ čo neurčitá slučka sa vykonáva, kým nie je splnená niektorá podmienka a koľkokrát sa má vykonať, nie je známy. Vopred. Určité slučky sa často implementujú pomocou slučiek for a neurčité slučky sa implementujú pomocou slučiek while a do-while. Nie je však teoretický dôvod, prečo sa nepoužívajú slučky pre neurčité slučky a zatiaľ čo slučky pre určité slučky. Ale neurčité slučky by sa dali prehľadne usporiadať pomocou slučiek while, zatiaľ čo určité slučky by sa dali prehľadne usporiadať pomocou slučiek for.