OPŠTINSKO TAKMIČENJE IZ INFORMATIKE - 2019
1. Ugao
Sa standardnog ulaza se učitava ugao u stepenima, minutima i sekundama (ugao je manji od 180 stepeni, ali je zadat tako da broj minuta i broj sekundi može biti i veći od 59). Napiši program koji ispisuje ukupan broj sekundi ugla, kao i da li je ugao oštar, prav ili tup.
Ulaz:
23 18 370
Izlaz:
84250 oštar
Ulaz:
90 0 0
Izlaz:
324000 prav
Ulaz:
89 79 3
Izlaz:
325143 tup
Ulaz:
23 18 370
Izlaz:
84250 oštar
Ulaz:
90 0 0
Izlaz:
324000 prav
Ulaz:
89 79 3
Izlaz:
325143 tup
#include < iostream >
using namespace std ;
int main()
{
int stepen,minut,sekund,ukSek,pravSek;
ukSek=stepen*3600+minut*60+stepen;
pravSek=90*3600;
cout << ukSek;
if(ukSek == pravSek){
cout << "prav";
}
else if(ukSek < pravSek){
cout << "ostar";
}
else if(ukSek > pravSek){
cout << "tup";
}
return 0;
}
}
2. Baka
Napiši program koji učitava broj godina bake, tate (njenog sina) i unuke (njegove ćerke) i koji određuje za koliko godina je baka starija od svoje unuke. Brojevi se unose u proizvoljnom redosledu.
Ulaz:
73
42
17
Izlaz:
56
Ulaz:
26
3
49
Izlaz:
46
Ulaz:
73
42
17
Izlaz:
56
Ulaz:
26
3
49
Izlaz:
46
#include < iostream >
using namespace std ;
int najveci(int a,int b,int c)
{
int maxAB=max(a,b);
int maxBC=max(b,c);
return max(maxAB,maxBC);
}
int najmanji(int a,int b,int c)
{
int minAB=min(a,b);
int minBC=min(b,c);
return min(minAB,minBC);
}
int main()
{
int x,y,z,b,t,u;
cin >> x >> y >> z;
b=najveci(x,y,z );
u=najmanji(x,y,z);
cout << b << "," << u << "," << (b-u) << endl;
return 0;
}
3. Vrsta trougla
Napomena: Zadatak sa opštinskog takmičenja 2019. Zadatak za 8. razred. Preuzeto sa: dms.rs/
Napiši program koji na osnovu dužine tri stranice trougla izračunava i ispisuje obim trougla. Ispisati i poruku da li je trougao jednakokraki, jednakostranični ili nejednakostranični.
Ulaz:
17
17
17
Izlaz:
51 jednakostranicni
Ulaz:
12
19
12
Izlaz
43 jednakokraki
Napiši program koji na osnovu dužine tri stranice trougla izračunava i ispisuje obim trougla. Ispisati i poruku da li je trougao jednakokraki, jednakostranični ili nejednakostranični.
Ulaz:
17
17
17
Izlaz:
51 jednakostranicni
Ulaz:
12
19
12
Izlaz
43 jednakokraki
4. Mejlovi
Napomena: Zadatak sa opštinskog takmičenja 2019. Zadatak za 8. razred. Preuzeto sa: dms.rs/
Pera radi u softverskoj kompaniji u Nišu čija je centrala u SAD i poslao je svom šefu n mejlova. Za svaki mejl je poznato vreme (sat i minut) slanja (ujedno i prijema), izraženo u lokalnom, niškom vremenu. Ako njegov šef radi u Njujorku od 9 do 17h, po lokalnom, njujorškom vremenu koje za niškim kasni tačno 6 sati, napiši program koji određuje koliko je mejlova šefu stiglo van njegovog radnog vremena (mejlovi stigli u 9:00 po njujorškom vremenu su unutar, a oni u 17:00 su van radnog vremena).
Ulaz:
7
14 0
22 59
15 0
9 0
19 24
17 0
23 23
Izlaz
3
Pera radi u softverskoj kompaniji u Nišu čija je centrala u SAD i poslao je svom šefu n mejlova. Za svaki mejl je poznato vreme (sat i minut) slanja (ujedno i prijema), izraženo u lokalnom, niškom vremenu. Ako njegov šef radi u Njujorku od 9 do 17h, po lokalnom, njujorškom vremenu koje za niškim kasni tačno 6 sati, napiši program koji određuje koliko je mejlova šefu stiglo van njegovog radnog vremena (mejlovi stigli u 9:00 po njujorškom vremenu su unutar, a oni u 17:00 su van radnog vremena).
Ulaz:
7
14 0
22 59
15 0
9 0
19 24
17 0
23 23
Izlaz
3
#include < iostream >
using namespace std ;
bool proveri(int h,int m,int c)
{
bool r=false;
int h1=h-6;
if(h1 < 0)
if(h1 < 9 || h1 > 17)
{
else if(h1 > 9 && h1 < 17){
else if(h1==9 && m==0){
return r;
}int h1=h-6;
if(h1 < 0)
h1=h1+24;
cout << h1 << ": " << m << endl;if(h1 < 9 || h1 > 17)
{
r=false;
}else if(h1 > 9 && h1 < 17){
r=true;
}else if(h1==9 && m==0){
r=true;
}return r;
int main()
{
int n,m=0;
cin >> n;
int sat, minut;
for(int i=0; i < n; i++){
cout << m << endl;
return 0;
}cin >> n;
int sat, minut;
for(int i=0; i < n; i++){
cin >> sat >> minut;
if(!proveri(sat,minut)){
}if(!proveri(sat,minut)){
m++;
}cout << m << endl;
return 0;
5. Bananice
Napomena: Zadatak sa opštinskog takmičenja 2019. Zadatak za 5. razred. Preuzeto sa: dms.rs/
Jovana ima m novčanica od 50 dinara i dvostruko više novčanica od 20 dinara. Napiši program koji određuje koliko joj novca ostaje kada kupi n čokoladnih bananica od kojih svaka košta 15 dinara (pretpostavi slobodno da Jovana ima dovoljno novca da kupi sve bananice koje želi). Sa ulaza se učitavaju celi brojevi m i n (svaki u posebnom redu, m<100, n<100).
Primer 1
Ulaz:
3
10
Izlaz:
120
Primer 2:
Ulaz:
2
6
Izlaz:
90
Jovana ima m novčanica od 50 dinara i dvostruko više novčanica od 20 dinara. Napiši program koji određuje koliko joj novca ostaje kada kupi n čokoladnih bananica od kojih svaka košta 15 dinara (pretpostavi slobodno da Jovana ima dovoljno novca da kupi sve bananice koje želi). Sa ulaza se učitavaju celi brojevi m i n (svaki u posebnom redu, m<100, n<100).
Primer 1
Ulaz:
3
10
Izlaz:
120
Primer 2:
Ulaz:
2
6
Izlaz:
90
6. Trougao
Napomena: Zadatak sa opštinskog takmičenja 2019. Zadatak za 8. razred. Preuzeto sa: dms.rs/
Trougao ima n vrsta. Prva vrsta sadrži samo element 0. Svaka sledeća vrsta ima dva elementa
više nego prethodna, prvi element svake vrste je za d1 veći od prvog elementa prethodne vrste, dok je u svakoj
vrsti svaki naredni element za d2 veći od prethodnog. Na primer, za d1 = 5, d2 = 2 i n=4 dobijamo sledeći
trougao.
0
5 7 9
10 12 14 16 18
15 17 19 21 23 25 27
Napiši program koji učitava u posebnim redovima prirodne brojeve d1, d2, n i ispisuje zbir svih elemenata
na ivicama trougla. Ograničenja: 1 ≤d1, d2≤10, 2≤n≤1000
Ulaz:
5
2
4
Izlaz:
189
Trougao ima n vrsta. Prva vrsta sadrži samo element 0. Svaka sledeća vrsta ima dva elementa
više nego prethodna, prvi element svake vrste je za d1 veći od prvog elementa prethodne vrste, dok je u svakoj
vrsti svaki naredni element za d2 veći od prethodnog. Na primer, za d1 = 5, d2 = 2 i n=4 dobijamo sledeći
trougao.
0
5 7 9
10 12 14 16 18
15 17 19 21 23 25 27
Napiši program koji učitava u posebnim redovima prirodne brojeve d1, d2, n i ispisuje zbir svih elemenata
na ivicama trougla. Ograničenja: 1 ≤d1, d2≤10, 2≤n≤1000
Ulaz:
5
2
4
Izlaz:
189
7. Broj dana odmerenog treninga
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Zadatak za 7. razred. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje, Nizovi u jeziku C/C++
Prilikom pripreme za predstojeća takmičenja, sportista svakog dana meri rezultat koji je postigao. Pošto želi da ravnomerno podiže formu, želi da svaki dan rezultat bude sve bolji (veći broj predstavlja bolji rezultat). Za neki dan treninga ćemo reći da je dobar, ako je rezultat postignut tog dana strogo bolji nego prethodnog, a strogo lošiji nego narednog (da bi bio dobar, za prvi dan je dovoljno da je strogo lošiji od narednog, a za poslednji dan da je strogo bolji od prethodnog).
Napiši program koji izračunava broj dobrih dana.
Ulaz: Sa standardnog ulaza se učitava broj dana n(3 ≤ n ≤ 100) tokom kojih je sportista trenirao, a u
drugom redu rezultati koje je sportista postizao tokom svakog od tih n dana.
Izlaz: Na standardni izlaz ispisati broj dobrih dana.
Primer 1
Ulaz
6
100 120 130 110 140 150
Izlaz
4
Primer 2
Ulaz
6
10 20 30 40 50 60
Izlaz
6
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje, Nizovi u jeziku C/C++
Prilikom pripreme za predstojeća takmičenja, sportista svakog dana meri rezultat koji je postigao. Pošto želi da ravnomerno podiže formu, želi da svaki dan rezultat bude sve bolji (veći broj predstavlja bolji rezultat). Za neki dan treninga ćemo reći da je dobar, ako je rezultat postignut tog dana strogo bolji nego prethodnog, a strogo lošiji nego narednog (da bi bio dobar, za prvi dan je dovoljno da je strogo lošiji od narednog, a za poslednji dan da je strogo bolji od prethodnog).
Napiši program koji izračunava broj dobrih dana.
Ulaz: Sa standardnog ulaza se učitava broj dana n(3 ≤ n ≤ 100) tokom kojih je sportista trenirao, a u
drugom redu rezultati koje je sportista postizao tokom svakog od tih n dana.
Izlaz: Na standardni izlaz ispisati broj dobrih dana.
Primer 1
Ulaz
6
100 120 130 110 140 150
Izlaz
4
Primer 2
Ulaz
6
10 20 30 40 50 60
Izlaz
6
8. Majstor
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Zadatak za 6. razred. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje, Nizovi u jeziku C/C++
Nakon izvođenja radova majstor Peri je vraćeno n kutija sa šrafovima. Kutije su korišćene i mogu sadržati različite brojeve šrafova. Majstor Pera hoće da koristi dve kutije sa najmanjim brojem šrafova. Pomozite majstor Peri da izračuna koliko ukupno šrafova ima u tako izabrane dve kutije.
Ulaz
U prvoj liniji standardnog ulaza unosi se ukupan broj kutija n ( 2 ≤ n ≤ 30). Zatim se u narednih n linija unose brojevi šrafova u kutijama k i (1≤k i ≤100), redom.
Izlaz
Na standardni izlaz ispisati ceo broj koji predstavlja zbir šrafova u dve kutije sa najmanje šrafova.
Primer 1
Ulaz
5
45
32
9
15
67
Izlaz
24
Primer 2
Ulaz
7
764
455
721
231
138
97
333
Izlaz
235
Primer 3
Ulaz
5
28
14
30
15
14
Izlaz
28
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje, Nizovi u jeziku C/C++
Nakon izvođenja radova majstor Peri je vraćeno n kutija sa šrafovima. Kutije su korišćene i mogu sadržati različite brojeve šrafova. Majstor Pera hoće da koristi dve kutije sa najmanjim brojem šrafova. Pomozite majstor Peri da izračuna koliko ukupno šrafova ima u tako izabrane dve kutije.
Ulaz
U prvoj liniji standardnog ulaza unosi se ukupan broj kutija n ( 2 ≤ n ≤ 30). Zatim se u narednih n linija unose brojevi šrafova u kutijama k i (1≤k i ≤100), redom.
Izlaz
Na standardni izlaz ispisati ceo broj koji predstavlja zbir šrafova u dve kutije sa najmanje šrafova.
Primer 1
Ulaz
5
45
32
9
15
67
Izlaz
24
Primer 2
Ulaz
7
764
455
721
231
138
97
333
Izlaz
235
Primer 3
Ulaz
5
28
14
30
15
14
Izlaz
28
9. Dani
Lidija je za svaku peticu koju je dobila tokom jednog polugodišta zapisala ime radnog dan u kome je tu peticu dobila. Napiši program koji određuje koji joj je bio najsrećniji dan tokom tog polugodišta (pretpostavi slobodno da je dobijala različit broj ocena za svaki od 5 radnih dana).
Učitava se broj petica n < 100 koje je dobila i zatim oznake dana pon, uto, sre, cet, pet, u kojima je te petice dobijala svaka u posebnom redu.
Ulaz:
8
pon
sre
cet
pon
pon
pet
cet
sre
Izlaz:
pon
Učitava se broj petica n < 100 koje je dobila i zatim oznake dana pon, uto, sre, cet, pet, u kojima je te petice dobijala svaka u posebnom redu.
Ulaz:
8
pon
sre
cet
pon
pon
pet
cet
sre
Izlaz:
pon
Opštinska takmičenja - kombinovano
10. Prelaz preko mosta
Napomena: Opštinsko takmičenje iz 2009. Zadatak za 5, 6, 7 i 8 razred. dms.rs/informatika-osnovne-skole/
Potrebno predznanje: operatori, selekcije
U jednom od zadataka na takmičenju, mladi izviđači treba da za što kraće vreme pređu stazu na kojoj se nalazi pokretni most.
Takmičaru jedne ekipe od polazne tačke do mosta treba T sekundi. Tačno P sekundi nakon što može da pođe sa polazne
tačke (tj. od početka merenja) most počne da se podiže. Od trenutka podizanja pa do spuštanja protiče N sekundi i prelaz
preko mosta za to vreme nije moguć. Nakon toga mpost ostaje spušten. Takmičari za čekanje kod mosta na prelaz dobijaju
negativne poene i zato je ovaj takmičar rešio da tačno odredi kada treba da pođe da bi preko mosta prešao bez zaustavljnja.
Napisati program koji učitava vremena T, P i N, i određuje nakon koliko sekundi, od početka merenja vremena, takmičar treba da
krene da bi najbrže prešao most, bez zaustavljanja.
Primer:
Ulaz:
T = 15 P = 20 N = 25
Izlaz: 0
Ulaz:
T = 15 P = 10 N = 12
Izlaz:
7
Potrebno predznanje: operatori, selekcije
U jednom od zadataka na takmičenju, mladi izviđači treba da za što kraće vreme pređu stazu na kojoj se nalazi pokretni most.
Takmičaru jedne ekipe od polazne tačke do mosta treba T sekundi. Tačno P sekundi nakon što može da pođe sa polazne
tačke (tj. od početka merenja) most počne da se podiže. Od trenutka podizanja pa do spuštanja protiče N sekundi i prelaz
preko mosta za to vreme nije moguć. Nakon toga mpost ostaje spušten. Takmičari za čekanje kod mosta na prelaz dobijaju
negativne poene i zato je ovaj takmičar rešio da tačno odredi kada treba da pođe da bi preko mosta prešao bez zaustavljnja.
Napisati program koji učitava vremena T, P i N, i određuje nakon koliko sekundi, od početka merenja vremena, takmičar treba da
krene da bi najbrže prešao most, bez zaustavljanja.
Primer:
Ulaz:
T = 15 P = 20 N = 25
Izlaz: 0
Ulaz:
T = 15 P = 10 N = 12
Izlaz:
7
11. Blokovi boje
Napomena: Opštinsko takmičenje iz 2009. Zadatak za 5, 6, 7 i 8 razred. dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Jedna od igara je igra pogađanja. Ekipa ima zadatak da se rasporedi na obojene blokove i da unapred pogodi boju bloka na koji će stati poslednji takmičar iz ekipe. Takmičari na blokove staju, počevši od prvog, jedan za drugim ne pstavljajući prazne blokove između. Blokovi su poređeni tako da se na početku nalazi Z blokova žute boje, zatim N blokova narandžaste boje i potom C blokova crvene boje. Nakon toga se ova šema ponavlja.
Kada se takmičari poređaju na blokpve i ako ekipa dobro pogodi boju bloka, tada ako je poslednji takmičar stao na blok narančaste boje ekipa dobija 10 poena, ako je stao na blok crvene boje 7 poena, a ako je stao na blok žute boje 2 poena. Napisati program u kome se unose vrednosti Z, N, C i broj takmičara K u ekipi, a program ispisuje koliko je poena ta ekipa zaradila ako je pogodila boju.
Kada se takmičari poređaju na blokpve i ako ekipa dobro pogodi boju bloka, tada ako je poslednji takmičar stao na blok narančaste boje ekipa dobija 10 poena, ako je stao na blok crvene boje 7 poena, a ako je stao na blok žute boje 2 poena. Napisati program u kome se unose vrednosti Z, N, C i broj takmičara K u ekipi, a program ispisuje koliko je poena ta ekipa zaradila ako je pogodila boju.
Sledeće
Okružna takmičenja >| |