$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \newcommand{\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{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$
Hour of Code / Наредбе понављања и љуте птичице

Наредбе понављања и љуте птичице

Петље су наредбе које понављају друге наредбе. Погледајте шта су петље у следећем видеу:

Када пишете програме, често ћете морати да понављате неке наредбе. На пример, овде су наредбе којима неком можете да кажете како да прође кроз пет затворених врата.

У овом програму можемо да видимо како се исте наредбе понављају у сваком реду. Пошто имамо пет редова морамо пет пута се извршавају исте групе наредби.

Понови пет пута наредбе:
„Иди право“, „Откључај врата“, „Отвори врата“, „Прођи“, „Затвори врата“

„Понови пет пута наредбе“ је наредба понављања. У њој треба само да упишете неки број (на пример 5) и да јој кажете шта да понови пет пута. Када бисте ове наредбе требали да поновите 100 пута само бисте уписали 100 уместо 5.

Хајде да видимо како се користе наредбе понављања.

Пробајте да решите неке задатке са петљама на сајту часа програмирања користећи упутства на следећем видеу:

У овом примеру ћемо да помогнемо Реду да дође до прасета. Можемо да направимо програм са пет наредби „помери се напред“ као на слици:

У овом програму смо морали да пет пута кажемо Реду да се помери напред када крене. Наредба понављања може да нам помогне тако што ћемо у њу да ставимо једну наредбу „помери се напред“ а онда ћемо да упишемо да треба да се та наредба понови пет пута. Тако бисмо добили програм на слици:

Замислите да је Ред 100 поља удаљен од прасета. Зар не би било тешко да 100 пута ставите наредбу „помери се напред“? Зар није боље да имамо једну наредбу „Понови ___ пута наредбе“ у коју ћемо убацити „помери се напред“ наредбу и где ћемо смо ставити број 100 уместо 5 као у претходном примеру?

Наредбе понављања нам помажу да само кажемо колико пута треба да се понови нека наредба уместо да је ми стално понављамо.

Хајде опет да видимо програм који говори Реду како да дође до прасета на слици:

У овом примеру Ред треба да 4 пута понови наредбу „помери се напред“, онда да се једном окрене улево, а онда опет да 5 пута понови наредбу „помери се напред“. Наш програм би сада изгледао као на слици:

Када Ред крене, треба да 4 пута понови наредбу „помери се напред“, онда да се окрене улево наредбом „окрени се улево“, а онда 5 пута понови наредбе „помери се напред“. Програм је исти као претходни само не морамо да понављамо наредбе. Као што видите наредбе понављања су исте као и остале наредбе. Можете их ставити једну иза друге или иза других наредби.

Домаћи задатак

Проверите своје знање и испробајте наредбе понављања на сајту часа програмирања:

  • Ниво 1 https://studio.code.org/s/course1/stage/13/puzzle/1. У овим проблемима Ред разуме наредбе иди горе (север), доле(југ), лево(запад) и десно (исток). Наредбе су обележене стрелицама. Наредба понављања је обележена стрелицом која иде у круг.
  • Ниво 2 https://studio.code.org/s/course2/stage/6/puzzle/1. У овим проблемима Ред разуме наредбе које сте видели у овој лекцији (помери се напред, окрени се улево, окрени се удесно и понови ??? пута наредбу).

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