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

Алгоритамски начин размишљања

Живимо окружени рачунарима.

Сакривени су у нашим мобилним уређајима, сатовима, телевизорима, кухињским апаратима, аутомобилима, лифтовима. Олакшавају нам послове, а учење чине занимљивијим. Захваљујући рачунарима, слободно размењујемо информације и имамо брз приступ знању.

Често се чини да су рачунари паметни. Морамо да те разочарамо – рачунари, још увек, не могу самостално да мисле! Рачунари су машине које следе упутства (наредбе) и тако обављају различите задатке.

Наредбе рачунарима пишу људи, мали и велики програмери. Скупови наредби које рачунар извршава називају се програми.

Да би рачунар могао да ти помогне да брже и боље обављаш неки посао, мораш да га за то „обучиш“ - програмираш. Процес програмирања састоји се из две фазе:

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

Друго, језиком који рачунар разуме, мораш да му саопштиш како да решава проблем.

Проблеми умеју да делују нерешиво, попут магије.

Ксенија је споменула реч алгоритам. Алгоритам је низ корака који воде до решења неког проблема. Иако је деловало да Ксенија има пуно среће, у ствари се радило о врло прецизном низу корака које је она следила како би дошла до победе.

    Q-1: Који алгоритам је Ксенија примењивала?

    _images/L1_AlgoritamAB.png
  • Алгоритам А
  • Пажљиво прочитај кораке алгоритма А. Како Ксенија зна колико ће Мита коцкица да узме?
  • Алгоритам B
  • Имаш одлично запажање!

Примећујеш да је, у Ксенијином алгоритму, природа корака различита.

  • Неки кораци се извршавају по редоследу како су наведени (у чинију ставити 17 коцкица и поводац, узети прву коцкицу);

  • Неки кораци зависе од одређеног услова (Ако противник узме 1 коцкицу, узети 3 коцкице, …);

  • Неки кораци се понављају (кораци 3, 4 и 5 понављају се 4 пута),

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

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

Програмски језици су углавном текстуални. То значи да мораш да куцаш наредбе у специфичном облику енглеског језика. На пример, ако користиш Python, наредба да рачунар на екрану испише „Узимам једну коцкицу.“ изгледа овако: print (‘Uzimam jednu kockicu.’)

Почетницима, програмски језици често делују сложено. Зато су осмишљени визуелни програмски језици. Они ти омогућавају да програмираш без куцања наредби, спајањем графичких блокова. Ух, и ово делује компликовано!

Хајде да видимо како у програмском језику Scratch (чита се Скреч) изгледа исписивање реченице „Узимам једну коцкицу.“

_images/L1_BlokMacaKaze.png

Када рачунар буде извшио ову наредбу, на екрану ће се појавити:

_images/L1_MacaKaze.png

Симпатично, зар не?

Знамо да немаш програмерско искуство у Scratch-у. Ипак, верујемо да ћеш моћи да одговориш на следећа питања.

    Q-2: На које кораке Ксенијиног алгоритма се односи следећи низ наредби?

    _images/L1_P2L1.png
  • Кораке 1 и 2
  • Браво! Изгледа да је програмирање заиста једноставно!
  • Кораке 1 и 3
  • Хм. Шта се дешава у трећем кораку алгоритма? Размисли.
  • Кораке 2 и 3
  • Хм. Шта се дешава у трећем кораку алгоритма? Размисли.

    Q-3: Ова наредба делује сложеније. На који корак Ксенијиног алгоритма се она односи?

    _images/L1_P3L1.png
  • Корак 3
  • Само полако! Размисли опет.
  • Корак 4
  • Само полако! Размисли опет.
  • Корак 5
  • Браво! Већ препознајемо будућег програмера!

Програмирање треба да посматраш као нову врсту писања. Када овладаш техникама и логиком програмирања, моћи ћеш да „пишеш“ нове врсте „текста“ - интерактивне приче, игре, анимације и симулације.

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

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

Лепота програмирања лежи у могућности да машташ и, кроз стварање програма, оствариш своје снове. Рачунар, сам по себи, не рађа креативност, али помаже да се она чује далеко и одјекне громогласно!