3.1. Робот Карел - задаци за вежбање¶
Током претходна два часа упознали сте Карела и наредбе које он „разуме“. Сада је време да продубимо и проверимо знање. Најбољи начин је да решите још неколико задатака.
Пребаци пет лоптица у рупу¶
![](../_static/img/question-mark.png)
Помози роботу да покупи свих пет лоптица и премести их у рупу испред њих.
(Карел_пребаци_свих_пет_лоптица_у_рупу)
Једно могуће решење (не и једино) је следеће:
Покупи лоптице са наредна три поља¶
![](../_static/img/question-mark.png)
Испред Карела су три поља, а на њима редом 5, 3 и 8 лоптица. Карел треба да покупи све лоптице.
(Karel_for_Take_5_3_8)
Једно могуће решење (не и једино) је следеће.
Друго (боље) решење применом угњежђене петље (са којом ћеш се више упознати касније) изгледало би овако:
Победничко постоље¶
![](../_static/img/question-mark.png)
Помози роботу да покупи све лоптице.
(Карел_победничко_постоље)
Једно могуће решење (не и једино) је следеће:
Петља while
¶
Степенице¶
![](../_static/img/question-mark.png)
Помози роботу да покупи све лоптице. Лавиринт је зачаран и број степеница се мења приликом сваког покретања програма.
(Карел_степенице)
Једно могуће решење (не и једино) је следеће:
Гранање¶
Донеси све лоптице¶
![](../_static/img/question-mark.png)
Испред Карела је прав пут непознате дужине. На неким пољима има, а на неким нема лоптице. Карел треба да прикупи све лоптице са свих поља и донесе их на почетно поље.
Задатак је делимично решен, додај део који недостаје.
(Karel_while_bring_all_balls)
Угњежђене петље¶
Премести све лоптице у рупе (3x3)¶
![](../_static/img/question-mark.png)
Помози роботу да покупи све лоптице и премести их у рупе испред њих. Лавиринт је увек исти (на три поља испред робота се налазе по три лоптице).
(Карел_све_лоптице_у_рупе_3x3)
Једно могуће решење (не и једино) је следеће:
Пребаци све лоптице у рупе¶
![](../_static/img/question-mark.png)
Помози роботу да покупи све лоптице и премести их у рупе испред њих. Разлика у односу на претходни задатак је то што је лавиринт зачаран и робот не зна унапред колико ће лоптица бити испред њега.
(Карел_све_лоптице_у_рупе)
Једно могуће решење (не и једино) је следеће:
Узимај по четири лоптице до краја¶
![](../_static/img/question-mark.png)
Испред Карела је једно или више поља, а на сваком пољу су по четири лоптице. Карел треба све да их покупи.
Сада Карел, све док не дође до зида, треба да понавља корак напред и узимање 4 лоптице. Покушај да допуниш програм.
(Karel_while_many_squares_two_bals_per_square)
Покупи све лоптице¶
![](../_static/img/question-mark.png)
Испред Карела је бар једно поље, а може их бити колико год. На сваком од поља испред Карела има нула или више лоптица. Карел треба да покупи све лоптице.
(Karel_while_many_squares_many_balls)
Пун лавиринт лоптица¶
![](../_static/img/question-mark.png)
Помози роботу да постави лоптице дуж целог лавиринта.
(Карел_пун_лавиринт_лоптица)
Једно могуће решење (не и једино) је следеће.