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

Збирка

Овај текст ће вам бити користан ако желите да радите задатке у нашим Збиркама, а такође ће вам бити користан ако желите да као наставник укључите овај материјал у наставу.

Збирка алгоритамских задатака представља збирку задатака намењених учењу програмирања са решењима. Збирка се за сада састоји из два дела, Збирка алгоритамских задатака – почетни ниво, и Збирка алгоритамских задатака – напредни ниво. Први део је намењен ширем кругу корисника. То су пре свега ученици првих разреда гимназија и средњих школа у којима се интензивније учи програмирање и такмичари почетници свих узраста, али и сви који почињу да уче програмирање са намером да се њиме озбиљније баве. Други део покрива напредније теме и технике које се тичу ефикасности алгоритама. Намењен је ученицима других разреда гимназија усмерених ка рачунарству као подршка редовној настави, а такмичарима који су савладали основе као следећи корак у учењу (нарочито Б категорији средњошколаца и амбициознијим основцима).

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

Сви задаци у Збирци су решени и велики број задатака решен је на неколико начина. Сви начини решавања задатка детаљно су објашњени, а понуђен је изворни код који представља решење задатка у програмским језицима C++, C# и Пајтон. Поред самих задатака, управо су ова решења задатака оно што Збирку може учинити врло корисном у настави, будући да су у текстовима решења објашњени неки од кључних концепата у програмирању.

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

../_images/zbirka1.png

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

../_images/zbirka2.png

Када се преузму тест примери, потребно је фајлове распаковати и отворити у било ком едитору текста (сви рачунари који користе Windows оперативни систем имају Notepad програм, који може да послужи за читање ових фајлова) и видеће се улаз за који је њихов код тестиран, као и који је очекивани излаз за тај улаз (фајл са истим бројем који има фајл са улазним подацима). Ово је посебно корисно зато што корисник не мора да погледа готово решење и целокупно објашњене задатка, а што може видети када кликне на Прикажи решење задатка, већ на основу ових тест примера може самостално увидети за које случајеве његов код не враћа тачно решење и на основу тога покушати да поправи свој код. Наиме, када корисник пошаље решење задатка на проверу, добије резултат који му говори за које тест примере код који је послао ради, а за које не. Своја раније послата решења може пронаћи испод поставке задатка и кликом на сличицу лупе може да провери за који тест пример му код не ради.

../_images/zbirka3.png

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

../_images/zbirka4.png

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