==FLOD==Zajász és Webizé

Az eldöntés tétele

 

Arra vagyunk kíváncsiak, hogy egy adott tömb tartalmaz-e adott tulajdonsággal rendelkező elemet. Az alábbi példában azt fogjuk megvizsgálni, hogy a tömbünk tartalmaz-e páros számot.

 

var tomb = [3,5,7,4,9];
var i = 0;
while(i<tomb.length && tomb[i]%2!=0){
i++;
}
if(i<tomb.length){
document.write(“Van a tömbben páros szám.”);
}else{
document.write(“Nincs a tömbben páros szám.”);
}

 

Na akkor vegyük sorra mi történt a fenti programban. Létrehoztuk a szomkásos “tomb” nevű tömbünket és benne pár számot. Most nem for ciklust használtunk, hanem egy while ciklust erőforrás takarékossági szempontból. Hogy miért? Egy for ciklus akkor is végigpörgeti a tömb elemeit, ha teszem azt már a legelső helyen megtalálta az adott tulajdonságú elemet, míg a while ciklus csak addig fog pörögni, amíg el nem éri az első adott tulajdonságú elemet. Létrehoztunk egy i  segédváltozót is és a ciklusfejben rögzítjük, hogy a ciklus csak és kizárólag addig fusson, amíg az i segédváltozó értéke kisebb, minta tömb elemeinek a száma, valamint addig, amíg nem talál egy olyan számot, mely maradék nélkül osztható kettővel. A ciklus minden körben növeli az i értékét eggyel. Amennyiben a ciklusfejben írt két feltétel közül legalább az egyik hamissá válik, úgy a ciklus futása leáll.

 

Ezután már csak annyi a dolgunk, hogy értesítsük a felhasználót a végeredményről. Amennyiben az i értéke kisebb tudott maradni a tömb elemeinek számánál, úgy az azt jelenti, hogy tartalmazott adott tulajdonsággal rendelkező elemet (jelen esetben páros számot) a tömb, ellenkező esetben pedig értelemszerűen nem.

 

<<< Előző lecke Következő lecke >>>