$$ \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.

Робот Карел - Додатни задаци за вежбу

Задаци

Помери све лоптице уназад

Испред Карела је прав пут непознате дужине. На почетном пољу нема лоптица. Карел треба да сваку лоптицу премести за једно поље ка левој страни екрана.

Овај задатак можемо да решимо и без употребе наредбе if. На пример, можемо да док год има поља испред Карела, понављамо следеће кораке:

  • пређи на следеће поље

  • узми све лоптице са тог поља

  • иди корак назад (то јест, окрени се два пута и иди напред)

  • остави све лоптице

  • врати се на поље са којег си узео лоптице

Овакво решење је дато као почетно у прозору испод. Пратећи дати програм, Карел ће се чак и кад не узме ни једну лоптицу враћати на претходно поље. Можеш ли да убациш једну наредбу if у програм, тако да се Карел не враћа ако није узео ни једну лоптицу? Наравно, биће потребно да се неке дате наредбе увуку у тело наредбе if.

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_if_all_balls_one_square_left)

Три пута горе-доле

Карел се налази на правоугаоној табли од 5 редова и 7 колона и треба да стигне до доњег десног поља.

Карел треба три пута да понови једну сложену радњу, а то је: да пређе у следећу (десну) колону, оде до њеног врха, оде још једну колону десно, сиђе до првог реда и на крају да се окрене ка последњој колони да би се припремио за следеће понављање.

Допуни програм, водећи рачуна да се бројач у for наредбама које додајеш не зове i (то име је већ употребљено у спољној петљи).

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_for_up_col_down_col_constant)

Горе-доле

Карел се налази на правоугаоној табли непознате величине (број колона је увек непаран), без лоптица. Циљ је да Карел стигне до доњег десног поља, а да би то постигао, мораће да се креће кроз колоне наизменично горе-доле.

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)

Донеси све са табле

Карел треба да донесе свих 12 лоптица на полазно поље.

Карел треба четири пута да пређе у следећу колону и испразни је, а на крају да дође на полазно поље и остави све лоптице. Карел ће испразнити колону ако три пута понови корак напред и узимање, а затим се врати на почетак колоне у исти положај.

Допуни програм.

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_for_fetch_from_matrix)

Донеси свих 60

Сада се на сваком од истих 12 поља као у претходном задатку налази по 5 лоптица. Карел треба да донесе свих 60 лоптица на полазно поље.

Овај програм се од претходног разликује по томе што наредба uzmi() треба да стоји у додатној петљи, трећој у дубину. Такође, разликује се и број лоптица које Карел на крају програма оставља на полазно поље. Покушај да ископираш претходни програм и преправиш га.

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_for_fetch_60_from_matrix)

Сакупи лоптице на степеницама

Карел поново треба да заврши у доњем десном углу, а успут треба да узме све лоптице.

Да би се решиo овај задатак, можеш у претходни програм да убациш петље за узимање лоптица. Покушај да ископираш и преправиш претходни програм.

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_for_stairs_and_balls_constant)

Препоне

Помози роботу да прескочи препоне и покупи лоптицу.

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.

(Карел_препоне)

Једно могуће решење (не и једино) је следеће.