$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \renewcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mss}{\,\mathrm{\frac{m}{s^2}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Kombinovanje petlji

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.

Razne dvostruke i višestruke petlje - zadaci

Uzimaj po četiri loptice do kraja

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.

Please try loading this page in HTML5 enabled web browsers. All the latest versions of famous browsers such as Internet explorer, Chrome, Firefox, Opera support HTML5.

(Karel_while__many_squares_four_bals_per_square)

Pokupi sve loptice

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.

Please try loading this page in HTML5 enabled web browsers. All the latest versions of famous browsers such as Internet explorer, Chrome, Firefox, Opera support HTML5.

(Karel_while__many_squares_many_balls)

Donesi sve loptice

Ispred Karela je prav put nepoznate dužine. Karel treba da prikupi sve loptice sa svih polja i donese ih na početno polje.

Program je komentarima razložen na sitnije celine. Dodajte delove koji nedostaju.

Please try loading this page in HTML5 enabled web browsers. All the latest versions of famous browsers such as Internet explorer, Chrome, Firefox, Opera support HTML5.

(Karel_while__bring_all_balls)

Gore-dole

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.

Ovo su neki od mogućih izgleda lavirinta:

../_images/While_UpDown.jpg

Please try loading this page in HTML5 enabled web browsers. All the latest versions of famous browsers such as Internet explorer, Chrome, Firefox, Opera support HTML5.

(Karel_while__up_col_down_col)

Stepenice

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:

../_images/While_Stairs.jpg

Please try loading this page in HTML5 enabled web browsers. All the latest versions of famous browsers such as Internet explorer, Chrome, Firefox, Opera support HTML5.

(Karel_while__stairs)

Spirala ulevo

Karel u svim prikazanim slučajevima treba da dođe do polja označenog crvenim krugom (ni u ovom zadatku nema loptica).

../_images/While_SpiralLeft.jpg

Please try loading this page in HTML5 enabled web browsers. All the latest versions of famous browsers such as Internet explorer, Chrome, Firefox, Opera support HTML5.

(Karel_while__spiral_left)