NASTAVA RAQUNARSTVA
Dr Dragan, Uroxevii Primena, Kumulativnih Suma, Motivacije
unpublished
Pretpostavimo da treba da rexite sledeei problem. Neka se na pooima numerisanim brojevima od 1 do n (5 n 10 6) mogu nalaziti neki predmeti. Na pooa koja su u poqetnom trenutku prazna, mogu se dodavati, ali i sa ih uklaaati (ako su neprazna) predmeti. Vax program treba da proqita i izvrxi niz komandi sledeeeg oblika: • D j k, gde je j neki broj izmeeu 1 i n, a k prirodan broj. Ovom komandom se na pooe sa rednim brojem j dodaje k predmeta. • B j k, gde je j neki broj izmeeu 1 i n, a k prirodan
more »
... j. Ovom komandom se sa pooa sa rednim brojem j uklaaa k predmeta. Pretpostavka je da na tom poou ima bar k predmeta. • P j 1 j 2 , gde je 1 j 1 j 2 n. Ovom komandom se od vas zahteva da odgovorite koliko ukupno ima predmeta na pooima j 1 , j 1 + 1, j 1 + 2,. .. , j 2. • K. Ovom komandom se prekida izvrxavaae vaxeg programa. Na prvi pogled radi se o jednostavnom zadatku. Potrebno je definisati niz sa odgovarajuuim brojem elemenata, tj. ukupan broj elemenata niza je jednak broju pooa. Elementi niza sadrre informacije o broju predmeta na odgovarajuuim pooima. Komande za dodavaae i uklaaaae predmeta se realizuju tako xto se odgovarajuui element niza (tj. element niza koji odgovara tom zadatom poou) uveea ili umaai za odgovarajuuu vrednost. Komanda za odreeivaae ukupnog broja predmeta na zadatom skupu pooa se realizuje tako xto se saberu vrednosti elemenata niza koji odgovaraju tim pooima. Prema tome, komande za dodavaae i izbacivaae predmeta su realizovane vrlo efikasno (jedno sabiraae ili jedno oduzimaae), ali komanda za prebra-jaae i nije efikasna (potrebno je izvrxiti sabiraae nekih elemenata niza). Zakkuqujemo da su nam komande za prebrajaae kritiqne za izvrxavaae programa i da e broj tih komandi odrediti karakteristike programa. Za oqekivati je da e tih komandi biti dosta i da e zahtevati sabiraae velikog broja elemenata. Jedan od naqina da ubrzamo odreeivaae zbira uzastopnih elemenata je ko-rixxeee sledeee qiienice: a i + a i+1 + · · · + a j−1 + a j = (a 1 + a 2 + · · · + a j−1 + a j) − (a 1 + a 2 + · · · + a i−1).
fatcat:kqq33e7j4vgw7gu3mzk7wmbani