Javascript: while ciklusok

10. osztály 10.évf_js JavaScript Web

A vezérlési szerkezetek segítségével az egyes utasítások végrehajtási sorrendjét határozhatjuk meg.

Elől tesztelő ciklus

A while ciklus utasításblokk végrehajtására használható, amíg a feltétel igaz. A while ciklus szintaxisa:

A while ciklus először kiértékeli a feltételt, amely művelet egy boolean értéket ad vissza. Ha a kifejezés értéke igaz, a while ciklus végrehajtja while blokkjában szereplő utasításokat. A while ciklus addig értékeli ki a kifejezést és hajtja végre az utasításblokkot, amíg a kifejezés hamis értékű nem lesz.

Kérjünk be a felhasználótól egy számot. Sikertelen adatbevitel esetén (nem számot adott meg) ismételjük meg újra és újra az adatbekérést.Az látszik, hogy a feladat ciklussal oldható meg. Azonban a számláló ciklus erre alkalmatlan, mivel nem egyértelmű, hogy hányszor fogja elrontani a felhasználó az adatbevitel

A while ugyanúgy működik,mint az if utasítás, azzal a különbséggel, hogy a ciklusmagban(a kapcsos zárójelek közti részben) írt utasításokat újra és újra ismétli, addig, amíg a logikai állítás igaz.

Ebben a példában ameddig 2-vel és 3-mal osztható számot írunk be, futni fog a while ciklus, mivel igaz a feltétel.

Hátul tesztelő ciklus

A Javascript nyelv egy a while ciklushoz hasonló utasítást is biztosít — a do-while ciklust. A do-while szintaxisa:

do { utasítás(ok) } while (feltétel);

Ahelyett, hogy a feltételt a ciklus végrehajtása előtt értékelné ki, a do-while ezt a ciklusmag lefutása után teszi meg. Így a do-while magjában szereplő utasítások minimum egyszer végrehajtódnak.

A ciklus a végén tesztel, tehát ezzel a megoldással a ciklus tartalma egyszer mindenképpen lefut. Összefoglalva, az elől-és hátul tesztelőciklus közt a lényegi különbség, hogy az előbbi „0 és végtelen”, az utóbbi „1 és végtelen” között futtatja a ciklusmagot.

Feladat: egy pozitív egész szám bekérése a felhasználótól.

Most oldjuk meg ugyanezt if nélkül!

Következzen megint egy kis barkóba játék:

Feladat: Döntsük el a bekért számról, hogy prímszám-e!

Feladat: váltsunk át tizes számrendszerből kettes számrendszerbe while ciklus segÍtségével! (természetesen van erre egyszerűbb módszer is, a toString(2))