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

Понављање

У лекцији Низање корака, слагали смо блокове наредби и направили први програм у Scratch-у.

Колекција (низ) блокова који су међусобно повезани назива се скрипта. Скрипта може да садржи два и више блокова.

Блокови и њихов распоред у скрипти веома су важни, зато што одређују:

  • понашање ликова и њихов међусобни однос

  • однос са позадином позорнице.

    Q-13: Анализирај две скрипте приказане на слици и означи тачну тврдњу.

    _images/L6_Poredjenje.png
  • Након покретања, ова два програма даће различите резултате.
  • Предлажемо ти да направиш овакве скрипте и видиш резултат њиховог извршавања.
  • Након покретања, програми дају исти резултат, али је краћа скрипта елегантније решење.
  • У праву си! Извршавањем краће скрипте добија се потпуно исти резултат као извршавањем дуже. Предлажемо ти да направиш ове скрипте и увериш се у резултат њиховог извршавања.

Посматрајући дужу скрипту, није тешко закључити да низање идентичних група блокова чини програм дужим, тежим за разумевање и надограђивање. Ако би требало променити угао за који лик скреће у десну страну, промена би морала да буде урађена на 4 места.

Блок L6_BlokPonovi из категорије Управљање очигледно помаже да се овакави проблеми превазиђу.

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

_images/L6_Komentar.png

Коментар додајеш десним кликом на скрипту и одабиром опције „додајте коментар”.

У Scratch-у, на располагању имаш три врсте блокова за понављање. У њих се умећу блокови чије извршавање треба да се понови одређени број пута.

_images/L6_PonavljanjeBlokovi.png

Блок који понавља наредбе тачно одређен број пута употребили смо у програму за исцртавање квадрата. Дакле, треба да га користиш када унапред знаш тачан број понављања (каже се и итерација).

_images/L6_PonBroj.png

Други блок за понављање извршава се бесконачан број пута. То је један од најчешће коришћених блокова у Scratch-у. Његово извршавање зауставља се кликом на дугме за престанак рада програма (црвено дугме поред зелене заставице), коришћењем блока L6_ZaustaviSve, из категорије Управљање или постављањем блока L6_ZaustaviOvajProgram из категорије Управљање.

_images/L6_PonBeskonacno.png

    Q-14: Пажљиво погледај изглед блокова за понављање. Уочаваш да блок за бесконачно понављање нема могућност повезивања са другим блоковима, тј. да се на њега не може додати ниједан блок. Зашто?

  • У блок се могу додати нови блокови, па не постоји разлог да се скрипта наставља.
  • Могућност додавања нових блокова у блок **"понављај"** није разлог због кога овај блок не дозвољава наставак низања скрипти.
  • У питању је грешка у програму Scratch. Блок за бесконачно понављање морао би да обезбеди наставак ређања скрипти.
  • Колико је вероватно да је један од најкоришћенијих блокова у Scratch-у погрешно конципиран? Размисли још једном.
  • Даље додавање блокова је бесмислено, зато што они никада не би били извршени.
  • Одлично закључујеш!

Трећа врста блокова за понављање извршава се све док не буде испуњен одређени услов. Скрипте унутар овог блока извршавају се на основу испитивања тачности услова који се у блок поставља. Овај блок треба да користиш када не знаш колико је пута потребно извршити скрипте унутар блока за понављање и зато желиш да се оне извршавају све док не буде испуњен одређени услов.

_images/L6_PonUslov.png

    Q-15: Желиш да направиш програм у коме твој лик испаљује ракете све док му ниво енергије не падне испод одређене вредности. Који блок за понављање треба да користиш?

  • Блок који понавља скрипте одређени број пута.
  • Ако одабереш овај блок, испаљивање ракета нема никакве везе са нивоом енергије твог лика, зар не?
  • Блок који понавља скрипте бесконачно.
  • Ако одабереш овај блок, испаљивање ракета нема никакве везе са нивоом енергије твог лика, зар не?
  • Блок који понавља скрипте све док не буде испуњен неки услов.
  • Оног тренутка када ниво енергије твог лика падне испод одређене вредности, испаљивање ракета треба да се заустави.

Представљамо ти програм за цртање испрекидане линије:

_images/L6_IsprLin.png

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

_images/L6_VeselaLin.png

Анализирај пројекат на адреси https://scratch.mit.edu/projects/171626325/ и погледај видео-лекцију Цртање испрекидане линије (различите боје цртица). Упореди своје решење са нашим.

Имамо за тебе још један задатак: помози маци да нацрта четири степеника дужине и висине по 50 корака.

_images/L6_Stepenice.png

Добро размисли, направи програм и упореди га са нашим https://scratch.mit.edu/projects/171626568/. Ако осећаш потребу, погледај видео-лекцију Цртање степеница.