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

A keresés tétele

 

A keresés tétele gyakorlatilag nem más, mint a kiválasztás tételének egy továbbfejlesztett verziója. Ez a tétel segít nekünk abban hogy megtudjuk, háanyadik helyen áll a keresett elem a tömbben, már ha egyáltalán tartalmazza a tömb. Mert ugye utóbbi eshetőségre a kiválasztás tétele nem vizsgál. Használjuk fel tehát a Kiválasztás tételénél is használt példakódot és írjuk egy picit át!

 

 

var gyumolcskosar=[“alma”,”körte”,”banán”,”narancs”,”dinnye”];
var keresendo =”narancs”;
var i=0;
while (gyumolcskosar[i]!=keresendo && i<gyumolcskosar.length){
i++;
}

if(i<gyumolcskosar.length){
var sorszam=i+1;
document.write(“A keresett gyümölcs (“+keresendo+”) benne van a gyümöécskosárban és a(z) “+sorszam+”. helyen áll.”);
}else{
document.write(“A keresett elem (“+keresendo+”) nem található a gyümölcskosárban. “);
}

 

 

Nézzük mi is történt itt! Létrehoztunk egy tömböt “gyumolcskosar” néven, amelyben elhelyeztünk néhány gyümölcsöt.  A keresendő elem nevét eltároljuk “keresendo” nevű változóban. Létrehozunk egy “i” nevű segédváltozót 0 kezdőértékkel, majd elindítjuk a while ciklust. A ciklusban feltételnek szabjuk, hogy a “gyumolcskosar” nevű tömbünk i. eleme nem lehet egyenlő a “keresendo” nevű változónkban elmentett értékkel, valamint az “i” értékének kisebbnek kell lennie a “gyumolcskosar” nevű tömbünk hoszzánál. Ameddig ez a feltétel igaz, addig növeljük az “i” értkét eggyel. Amint a feltétel hamisnak bizonyul, a ciklus futása megáll. Ekkor megvizsgáljuk, hogy az “i” értéke kisebb tudott-e maradni a “gyumolcskosar” nevű tömbünk hosszánál. Amennyiben igen, az azt jelenti, hogy tartalmazza a tömbünk a keresett elemet. Ebben az ágban létrehozzuk a “sorszam” nevű segédváltozónkat, mely megkapja az “i” értékét, de csakúgy mint az előző leckében. itt is hozzá kell adnunk az “i“értékéhez egyet, mert a tömbök indexelése 0-ról indul, így muszáj eggyel elcsúsztatnunk nekünk is az értéket, hogy helyes végereményt kapjunk.  Ezután a felhasználót a “document.write(…)” függvény segítségével értesítjük arról, hogy a keresett elemet tartalmazza a tömb és arról is, hogy hányadik helyen szerepel a tömbben. Amennyiben a másik ág futna le (tehát az “i” értéke nagyobb lett, mint a tömb hossza), akkor is értesítjük a felhasználót, ám itt sajnos azt a szomorú tényt kell közölnünk, hogy a tömb nem tartalmazza a keresett elemet.

 

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