Videli smo da u telu for naredbe može da se nađe više različitih naredbi. Slično kao sa for naredbom, i u telu while naredbe može (pored ostalih naredbi) da se nađe i nova petlja, bilo while ili for. Tako možemo da gradimo različite kombinacije umetnutih (ugnežđenih) petlji.
Kada su dve petlje umetnute jedna u drugu, zovemo ih i dvostruka petlja, dok tri ugnežđene petlje zovemo trostruka petlja. Na sličan način možemo ugnezditi bilo koji broj petlji jednu u drugu, ali za velikim brojem ugnežđenih petlji vrlo retko imamo potrebu.
U ovoj lekciji ćemo vežbati pisanje kombinacija ugnežđenih while i for petlji.
Ispred Karela je jedno ili više polja, a na svakom od polja ispred Karela su po četiri loptice (na početnom polju nema loptica). Karel treba sve da ih pokupi.
Sada Karel, sve dok ne dođe do zida, treba da ponavlja korak napred i uzimanje 4 loptice. Pokušajte da dopunite program.
Podsetimo se, kao i u ranijim primerima ugnežđenih petlji, naredba u telu unutrašnje petlje (ovde će to biti naredba uzmi()) treba da bude dodatno uvučena.
Ispred Karela je bar jedno polje, a može ih biti bilo koliko. Na svakom od polja ispred Karela ima nula ili više loptica (počteno polje je prazno). Karel treba da pokupi sve loptice.
Ovaj zadatak je uopštenje prethodnog, pa program koji rešava ovaj zadatak, može da se iskoristi i u prethodnom. Razlika je u tome što sada unutrašnja petlja mora da bude while, dok je u prethodnom zadatku mogla da bude i for.
I u ovom programu naredba uzmi() treba da bude dodatno uvučena. Na taj način će se ona ponavljati dok je uslov unutrašnje while naredbe ispunjen, to jest dok ima loptica na polju na kome je Karel u tom trenutku, a uzimanje svih loptica se zajedno sa naredbom napred ponavlja u spoljašnjoj while naredbi dok ima polja ispred Karela. Ukupni efekat ugnežđenih petlji je da će biti uzete sve loptice sa svakog polja.
Karel se nalazi na pravougaonoj tabli nepoznate veličine (broj kolona je uvek neparan), bez loptica. Cilj je da Karel stigne do donjeg desnog polja, a da bi to postigao, moraće da se kreće kroz kolone naizmenično gore-dole.
Karel treba da se popne uz prve stepenice, a zatim da siđe niz druge i završi u donjem desnom uglu. Veličina table nije poznata, ali broj kolona će uvek biti neparan. Tabla može da izgleda na primer ovako:
Karel u svim prikazanim slučajevima treba da dođe do polja označenog crvenim krugom (ni u ovom zadatku nema loptica).
(Karel_while__spiral_left)
Petlja.org користи колачиће како би вам пружио најбоље корисничко искуство. Наставком коришћења сајта сматраћемо да се сагласни са коришћењем колачића. Сазнајте више