Naredbe ponavljanja

Sjedište: CARNET Loomen LMS
E-kolegij: Pripreme za ispit iz informatike na DM 2022
Knjiga: Naredbe ponavljanja
Otisnuo/la: Guest user
Datum: srijeda, 22. listopada 2025., 15:45

1. Uvod

Često se u procesu programiranja javllja potreba za ponavljanjem dijelova programa. Na primjer, postoji li potreba za unosom deset brojeva, naredbu za unos treba pisati deset puta. Ako još s tim brojevima treba napraviti niz operacija, program postaje nepregledan i nepotrebno dugačak.
Praktičnije je potrebne naredbe napisati jednom, a pri izvršavanju programa pozvati ih željeni broj puta.

Za ponavljanje dijelova programa upotrebljavaju se naredbe ponavljanja ili programske petlje!

Naredbe ponavljanja su sastavni dio svakog programskog jezika. Možemo ih podijeliti prema različitim kriterijima.

Gledamo li broj ponavljanja, dijelimo ih na:

  • naredbe ponavljanja kod kojih je poznat broj ponavljanja i

  • naredbe ponavljanja kod kojih ponavljanje ovisi o uvjetu.

Ovisno o mjestu ispitivanja uvjeta naredbe ponavljanja dijelimo na:

  • naredbe ponavljanja s ispitivanjem uvjeta na početku i

  • one kod kojih se uvjet ponavljanja nalazi na kraju niza naredbi koje se ponavljaju.

2. Petlja s poznatim brojem ponavljanja - for

Kao što je navedeno u naslovu, ova se naredba primjenjuje u zadacima u kojima je broj ponavljanja unaprijed poznat. To je najopćenitija vrsta petlje i najčešće se koristi, a ima slijedeći oblik:

Python C/C++
for b in range (p, k, s):
    naredba (blok naredbi)
for (b=p; b<k;b+=s)
    naredba (blok naredbi);

gdje je b  kontrolna varijabla koja kontrolira broj prolazaka petljom, a njezina se vrijednost automatski mijenja svakim prolaskom kroz petlju za korak s - od početne vrijednosti (p) do krajnje vrijednosti (k-1). (Možemo je prikazati kao brojač koji se u svakom koraku povećava za s. Kreće od početne vrijednosti p, a povećava se dok ne dostigne krajnju vrijednost k).
Ako je korak s jednak 1, odnosno kontrolna varijabla se u svakom koraku povećava za 1 for petlju možemo zapisati ovako:

Python C/C++
for b in range (p, k):
    naredba (blok naredbi)
for (b=p; b<k;b++)
    naredba (blok naredbi);

Dodatno, ako je početna vrijednost varijable b = 0, for petlju zapisujemo ovako:

Python C/C++
for b in range (k):
    naredba (blok naredbi)
for (b=0; b<k;b++)
    naredba (blok naredbi);

Tijek izvršavanja naredbe s poznatim brojem ponavljanja je slijedeći:

1. Kontrolna varijabla se postavlja na početnu vrijednost.
2. Provjerava se je li vrijednost kontrolne varijable manja  od završne vrijednosti (k). Ako je rezultat istina, izvodi se blok naredbi.
3. Vrijednost kontrolne varijable uveća se za korak (s). Program se vraća na početak petlje, te se ona ponavlja od točke 2.
4. Ako je vrijednost kontrolne varijable veća ili jednaka završnoj vrijednosti, blok naredbi se preskače i program se nastavlja prvom naredbom iza bloka.  

Primjer 1:

Dio programa:

Python C/C++
for b in range (9):
    print ('Danas je lijep dan!')
for (b=0; b<9;b++)
    printf ("Danas je lijep dan!");

na zaslon će 10 puta ispisati rečenicu Danas je lijep dan!


Primjer 2:

Dio programa:

Python C/C++
for b in range (100, 111):
   print(b)
for (b=100; b<111;b++)
    printf("%d", b);

na zaslon će ispisati brojeve 100, 101, 102, 103... do 110.

Naredbe ponavljanja mogu se kombinirati sa svim naredbama koje se koriste u programiranju.

Tako će, na primjer, dio programa

Python C/C++
for b in range (1, 21):
    if b % 2 == 0:
        print(b)

for (b=1; b<=20;b++)
   if( b % 2 == 0)
        printf("%d", b)
;


na zaslon ispisati sve parne brojeve u intervalu od 1 do 20.
Napomena: ovaj problem mogli smo riješiti i bez ispitivanja uvjeta, postavljanjem početne vrijednosti kontrolne varijable na 2 i njezinim povećavanjem za 2!

Primjer 3:

Dio programa

Python C/C++
s = 0
n = int(input())
for b in range (n+1):

    s = s + b  
print(s)

int s = 0, n;
scanf("%d", &n);
for (b=1; b<=n;b++)

    s = s + b;   
printf("%d", s);

na zaslon će ispisati zbroj brojeva od 1 do n.

Provjerimo!
Neka je n=4;
za b = 1 => s = 0 + 1 = 1
za b = 2 => s = 1 + 2 = 3
za b = 3 => s = 3 + 3 = 6
za b = 4 => s = 6 + 4 = 10
A to je upravo 1+2+3+4!

Primjer 4:

Dio programa

Python C/C++
broj = int(input())
for b in range (5):
    znam = broj % 10
    broj =broj // 10
    print (znam)

  
for (b=1; b<=4;b++)
{
    znam = broj % 10
    broj =broj / 10;

    printf("%d", znam);
}


će na zaslon ispisati znamenke unesenog četveroznamenkastog broja.

Na isti način možemo ispisivati znamenke troznamenkastog, peteroznamenkastog ili bilo kojeg broja kojem znamo broj znamenki. Samo mijenjamo završnu vrijednost kontrolne varijable.

Ali, što kada želimo napraviti općeniti program? Za broj kojemu ne znamo unaprijed broj znamenki?

U tom slučaju ne možemo koristiti petlju s poznatim brojem ponavljanja, već jednu od petlji kod kojih ponavljanje ovisi o uvjetu!

S tim ćemo se petljama upoznati u sljedećim lekcijama.


2.1. Ugnježđivanje petlji (petlja u petlji)

Naredbe ponavljanja mogu se pisati jedna unutar druge, tj. ugnježđivati.

Primjerice,

Python C/C++
t = 1
for i in range (1, 5):
    for j in range (1, i+1):
        t = i * j   
t = 1
for (i=1; i<=4; i++)
    for (j=1, j<=i;j++)
        t = i * j;

U tom slučaju, kada se jednom promijeni vrijednost kontrolne varijable vanjske petlje (i), potpuno se izvrši unutarnja petlja (vrijednosti njezine kontrolne varijable (j) promijene se od početne do završne).

Tek se tada ponovo promijeni vrijednost kontrolne varijable vanjske petlje.

Primjer:

Dio programa

Python C/C++
for a in range (2, 21):
    for b in range (a, 21):
        for c in range (b, 21):

            if a**2 + b**2 == c**2:
                  print(a, b, c)

for (a = 2; a <=20; a++)
    for (b =a; b <= 20; b++)
        for (c = b; c <= 20; c++)

            if (pow(a,2) + pow(b,2) == pow(c, 2))
                  printf("%d, %d, %d", a, b, c
);

ispisuje sve Pitagorine brojeve (brojeve a, b, c za koje vrijedi da je a2+b2=c2) u intervalu od 2 do 20.

2.2. Zadatci s provedenih ispita


SVI ZADATCI SU PRILAGOĐENI PROGRAMSKIM JEZICIMA PYTHON I C/C++


  1. (2010, ljetni rok, zadatak 23)  Koju će vrijednost imati varijabla t nakon izvođenja dijela programa?

    Python C/C++
    t = 0
    for i in range (1, 5):
        t = i
        for j in range (1, i+1):
            t = t + 2 * i
    t = 0;
    for (i = 1; i <= 4; i++)
    {
       t = i;
       for (j = 1; j <= i; j++)
          t = t + 2 * i;
    }

    A. 32
    B. 36
    C. 56
    D. 60

  2. (2010, ljetni rok, zadatak 24) Što će ispisati sljedeći dio programa?

    Python C/C++
    t = 0
    n = 27
    m = 12
    for i in range(1, n+m+1):
        if n%i == 0 and m % i == 0:
            t = t + i
    print(t)
    t = 0;
    n = 27;
    m = 12;
    for (i = 1; i <= n + m; i++)
       if (n % i == 0 && m % i == 0)
          t = t + i;
    printf ("%d", t);

    A. 0
    B. 2
    C. 4
    D. 29

  3. (2010, jesenski rok, zadatak 23)  Koju će vrijednost imati varijabla t nakon izvođenja sljedećega dijela programa?

    Python C/C++
    t = 0
    for i in range (1, 5):
        for j in range (1, i+1):
            t = t + 2 * i
    t = 0;
    for (i = 1; i <= 4; i++)
       for (j = 1; j <= i; j++)
         t = t + 2 * i;

    A. 32
    B. 36
    C. 56
    D. 60

  4. (2011, ljetni rok, zadatak 24)  Što će ispisati sljedeći dio programa?

    Python C/C++
    x = 15
    y = 52
    t = 1
    for i in range (x, y+1):
        if i % 2 == 0 and i // 10 % 2 != 0:
            t = t + 1
    print(t)


    x = 15;
    y = 52;
    t = 1;
    for (i = x; i <= y; i++)
        if (i % 2 == 0 && i / 10 % 2 != 0) 
         t = t + 1;
    printf ("%d", t);

    A. 9
    B. 10
    C. 18
    D. 19

  5. (2011, jesenski rok, zadatak 24)  Što će ispisati sljedeći dio programa?

    Python C/C++
    x = 15
    y = 52
    t = 1
    for i in range (x, y+1):
        if i % 2 == 0 and i // 10 % 2 == 0:
            t = t + 1
    print(t)
    x = 15;
    y = 52;
    t = 1;
    for (i = x; i <= y; i++)
        if (i % 2 == 0 && i / 10 % 2 == 0)
            t = t + 1;
    printf ("%d", t);

    A. 10
    B. 11
    C. 18
    D. 19

  6. (2012, ljetni rok, zadatak 18)  Koju će vrijednost ispisati sljedeći algoritam za unesenu vrijednost n = 29?

    Python C/C++
    n = int(input())
    s = 0
    for i in range (1, n+1):
        if i % 2 == 0:
            s = s + 2
    print (s)

    scanf ("%d", &n);
    s = 0;
    for (i = 1; i <= n; i++)
        if (i % 2 == 0)
            s = s + 2;
    printf ("%d", s);

    A. 14
    B. 28
    C. 29
    D. 58

  7. (2012, ljetni rok, zadatak 19)   U nastavku je dio programa koji će za broj n provjeriti je li prost. Koju naredbu treba umetnuti na označeno mjesto (crtu) kako bi program bio ispravan?

    Python C/C++
    k = 0
    for i in range (2, round(n**0.5)):
        if n % i == 0:
            __________________
    if k == 0:
        print ('Broj je prost')
    else:
        print ('Broj nije prost')

    k = 0;
    for (i = 2; i <= round(sqrt(n ); i++)
        if (n % i == 0)
           ______________________;
    if (k == 0)
        printf ("Broj je prost");
    else
        printf("Broj nije prost");

    A. k = 0
    B. k = 1
    C. n = n – 1
    D. k = 2 * k

  8. (2012, ljetni rok, zadatak 33)  Koju će vrijednost ispisati sljedeći algoritam ako se za n upisuje vrijednost 7,  a zatim n različitih prirodnih brojeva b: 3 214, 252, 1 028, 112, 198, 3, 16 834?

    Python C/C++
    n = int(input())
    m = 0
    for i in range (1, n+1):
        b = int(input())
        if b % 10 > m:
            m = b % 10
    print(m)

    scanf ("%d", &n);
    m = 0;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", &b);
        if (b % 10 > m) m = b % 10;
    }
    printf ("%d", m);

  9. (2012, jesenski rok, zadatak 19)  Za prirodan broj kaže se da je prost ako je djeljiv samo s 1 i sa samim sobom. U nastavku je dio programa koji će za broj n provjeriti je li prost. Koji uvjet treba umetnuti na označeno mjesto (crtu) kako bi program bio ispravan?

    Python C/C++
    k = 0
    for i in range (2, round(n**0.5)):
        if n % i == 0:
            k = k + 1
    if ______________
        print ('Broj je prost')
    else:
        print ('Broj nije prost')

    k = 0;
    for (i = 2; i <= round(sqrt( n)); i++)
        if (n % i == 0)
            k = k + 1;
    if ( ______________ )
        printf ("Broj je prost");
    else
        printf("Broj nije prost");


    A. n == 0
    B. n != 0
    C. k == 0
    D. k != 0

  10. (2012, jesenski rok, zadatak 33)   Koju će vrijednost ispisati sljedeći algoritam ako se za n upisuje vrijednost 7, a zatim n različitih prirodnih brojeva b: 314, 25, 102, 1123, 98, 2, 16 836?

    Python C/C++
    n = int(input())
    m = 9
    for i in range (1, n+1):
        b = int(input())
        if b % 9 < m:
            m = b % 10
    print(m)
    scanf ("%d", &n);
    m = 9;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", &b);
        if (b % 10 < m)
            m = b % 10;
    }
    printf ("%d", m);

  11. (2013, ljetni rok, zadatak 32)  Što će ispisati sljedeći dio programa?

    Python C/C++
    a = 100
    b = 200
    m = a
    for i in range (a, b+1):
        if i // 10 % 10 <= m // 10 % 10:  
            m = i
    print (m)
    a = 100;
    b = 200;
    m = a;
    for (i = a; i <= b; i++)
        if (i / 10 % 10 <= m / 10 % 10)
            m = i;
    printf ("%d", m);


  12. (2013, jesenski rok, zadatak 32)  Koju će vrijednost ispisati sljedeći dio programa?

    Python C/C++
    a = 100
    b = 150
    min = a
    for i in range(a, b+1):
        if i % 10 <= min % 10:  
            min = i
    print(min)
    a = 100;
    b = 150;
    min = a;
    for ( i = a; i<= b; i++)
        if (i % 10 <= min % 10)
            min = i;
    printf ("%d", min);

  13. (2014, ljetni rok, zadatak 19) Što će ispisati sljedeći algoritam?

    Python C/C++
    n = int(input())
    s = 0
    for i in range (1, n+1):
        a = int(input())
        if a % 2 == 1:
            s = s + a
    print(s)

    scanf ("%d", &n);
    s = 0;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", &a);
        if (a % 2 == 1)
            s = s + a;
    }
    printf ("%d", s);

    A. zbroj parnih brojeva među unesenim brojevima
    B. zbroj neparnih brojeva među unesenim brojevima
    C. broj parnih brojeva među unesenim brojevima
    D. broj neparnih brojeva među unesenim brojevima

  14. (2014, ljetni rok, zadatak 20) Koji će od navedenih algoritama uvijek ispisivati najveći od n unesenih realnih brojeva?
    A.
    Python C/C++
    max = 100
    for i in range (1, n + 1):  
        x = int(input())
        if i == 1 or x > max:
            max = x
    print(max)

    max = 100;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", &x);
        if (i == 1 || x > max) 
            max = x;
    }
    printf ("%d", max);

    B.
    Python C/C++
    max = 0
    for i in range (1, n + 1):  
        x = int(input())
        if x > max:
            max = x
    print(max)

    max = 0;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", &x);
        if (x > max)
            max = x;
    }
    printf ("%d", max);


    C.
    Python C/C++
    max = 100
    for i in range (1, n + 1):
        x = int(input())
        if x > max:
            max = x
    print(max)

    max = 100;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", &x);
        if (x > max)
            max = x;
    }
    printf ("%d", max);

    D.
    Python C/C++
    for i in range (1, n + 1):
        max = n
        x = int(input())
        if x > max:
            max = x
    print(max)

    for (i = 1; i <= n; i++)
    {
        max = n;
        scanf ("%d", &x);
        if (x > max)
            max = x;
    }
    printf ("%d", max);

  15. (2014, jesenski rok, zadatak 19)   Što će ispisati sljedeći algoritam?

    Python C/C++
    n = int(input())
    k = 0
    for i in range (1, n + 1):
        a = int(input())
        if a % 2 == 1
            k = k + 1
    print(m)

    scanf ("%d", & n);
    k = 0;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", & a);
        if (a % 2 == 1)
           k = k + 1;
    }
    printf ("%d", k);

    A. zbroj parnih brojeva među unesenim brojevima
    B. zbroj neparnih brojeva među unesenim brojevima
    C. broj parnih brojeva među unesenim brojevima
    D. broj neparnih brojeva među unesenim brojevima

  16. (2014, jesenski rok, zadatak 20) Koji će od navedenih algoritama ispisivati zbroj n unesenih brojeva?
    A.
    Python C/C++
    zbroj = 0
    for i in range (1, n + 1):
        x = int(input())
        zbroj = zbroj + x
    print(zbroj)

    zbroj = 0;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", & x);
        zbroj = zbroj + x;
    }
    printf ("%d", zbroj);

    B.
    Python C/C++
    for i in range (1, n + 1):
        x = int(input())
        zbroj = zbroj + i
    print(zbroj)
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", & x); 
        zbroj = zbroj + i;
    }
    printf ("%d", zbroj);

    C.
    Python C/C++
    zbroj = 1
    for i in range (1, n + 1):
       zbroj = zbroj + n
    print(zbroj)
    zbroj = 1;
    for (i = 1; i <= n; i++)
        zbroj = zbroj + n;
    printf ("%d", zbroj);

    D.
    Python C/C++
    zbroj = 0
    for i in range (1, n + 1):
        zbroj = zbroj + i
    print(zbroj)
    zbroj = 0;
    for (i = 1; i <= n; i++)
        zbroj = zbroj + i;
    printf ("%d", zbroj);

  17. (2015, ljetni rok, zadatak 32)  Koju će vrijednost ispisati sljedeći dio programa?

    Python C/C++
    a = 100
    b = 150
    max = a
    for i in range (a, b + 1):
        if i % 10 >= max % 10:
            max = i
    print(max)
    a = 100;
    b = 150;
    max = a;
    for (i = a; i <= b; i++)
        if  (i % 10 >= max % 10)
              max = i
    printf ("%d", max);

  18. (2015, jesenski rok, zadatak 32)  Koju će vrijednost ispisati sljedeći dio programa?

    Python C/C++
    a = 100
    b = 200
    max = a
    for i in range (a, b + 1):
        if i // 10 % 10 >= max // 10 % 10:
            max = i
    print(max)
    a = 100;
    b = 200;
    max = a;
    for (i = a; i <= b; i++)
         if (i / 10 % 10 >= max / 10 % 10)
               max = i;
    printf ("%d", max);

  19. (2016., ljetni rok, zadatak 19) U kojemu će se od sljedećih programskih isječaka petlja izvesti točno 10 puta?

    A.
    Python C/C++
    k = 0
    for i in range (2, 12): 
        k = k + i
    k = 0;
    for (i = 2; i <= 11; i++)
            k = k + i;

    B.
    Python C/C++
    k = 0
    for i in range (5, 16):
        k = k + i
    k = 0;
    for (i = 5; i <= 15; i++)
            k = k + i;

    C.
    Python C/C++
    k = 0
    for i in range (1, 13):
        k = k + i
    k = 0;
    for (i = 1; i <= 12; i++)
            k = k + i;

    D.
    Python C/C++
    k = 0
    for i in range (0, 11):
        k = k + i
    k = 0;
    for (i = 0; i <= 10; i++) 
            k = k + i;
     
  20. (2017., ljetni rok, zadatak 29) Zadan je dio programa.

    Python C/C++
    veci = 0
    manji = 0
    for i in range (1, 5):
        for j in range (1, 3):
            if i < j:
                manji = manji + 1
            else:
                veci = veci + 1
    veci = 0;
    manji = 0;
    for (i = 1; i <= 4; i++)
       for (j = 1; j <= 2; j++)
          if (i < j)
              manji = manji + 1;
          else
              veci = veci + 1;

    A. Kolika je vrijednost varijable manji na kraju izvođenja navedenoga dijela programa?
    B. Kolika je vrijednost varijable veci na kraju izvođenja navedenoga dijela programa?


  21.  (2017, jesenski rok, zadatak 29)  Zadan je dio programa.

    Python C/C++
    veci = 0
    manji = 0
    for i in range (1, 4):
        for j in range(1, 3):
            if i > j:
                veci = veci + 1
            else:
                manji = manji + 1
    veci = 0;
    manji = 0;
    for (i = 1; i <= 3; i++)
       for (j = 1; j <= 2; j++)
          if (i > j)
             veci = veci + 1;
          else
             manji = manji + 1;


    A. Kolika je vrijednost varijable veci na kraju izvođenja navedenoga dijela programa?
    B. Kolika je vrijednost varijable manji na kraju izvođenja navedenoga dijela programa?

  22. (2018, ljetni rok, zadatak 17)  Koji će od navedenih algoritama ispisati sumu svih dvoznamenkastih brojeva?

    A.
    Python C/C++
    s = 0
    for i in range(10, 100):
        s = s + i
    print(s)
    s = 0;
    for (i = 10; i <= 99; i++)
       s = s + i;
    printf("%d", s);


    B.
    Python C/C++
    s = 0
    for i in range(10, 100):
        x = int(input())
        s = s + x
    print(s)

     
    s = 0;
    for (i = 10; i <= 99; i++)
    {
       scanf ("%", &x);
       s = s + x;
    }
    printf("%d", s);


    C.
    Python C/C++
    s = 0
    for i in range(10, 101):
        s = s + i;
    print(s)
    s = 0;
    for (i = 10; i<= 100; i++)
       s = s + i;
    printf("%d", s);


    D.
    Python C/C++
    s = 0
    for i in range(10, 101):
        x = int(input())
        s = s + x
    print(s)

     
    s = 0;
    for (i = 10; i <= 100); i++)
    {
       scanf ("%", &x);
       s = s + x;
    }
    printf("%d", s);

  23. (2018, ljetni rok, zadatak 25)  Koju će vrijednost ispisati zadani programski isječak?

    Python C/C++
    b = 0
    for i in range (1, 6):
        for j in range(1, 3):
            if j % 2 == 1:
                 b = b + 1

    print(b)
    b = 0;
    for (i = 1; i <= 5; i++)
       for (j = 1; j <= 2; j++)
          if (j % 2 == 1) b = b + 1;
    printf("%d", b);

  24. (2018, jesenski rok, zadatak 17)  Koji će od navedenih algoritama upisati 10 brojeva te ispisati njihovu prosječnu vrijednost?

    A.
    Python C/C++
    s = 0
    for i in range (1, 11):
        x = int(input())
        s = s + x
    p = s / x
    print(p)


    s = 0;
    for (i = 1; i <= 10; i++)
    {
       scanf ("%", &x);
       s = s + x;
    }
    p = (float) s / x;
    printf("%f",  p);


    B.
    Python C/C++
    s = 0
    for i in range (1, 11):
        x = int(input())
        s = s + x
    p = s / 10
    print(p)

     
    s = 0;
    for (i = 1; i <= 10; i++)
    {
       scanf ("%", &x);
       s = s + x;
    }
    p = (float) s / 10;
    printf("%f",  p);


    C.
    Python C/C++
    s = 0
    p = 0
    for i in range (1, 11):
        x = int(input())
        s = s + x
        p = s / x
    print(p)

     
    s = 0;
    p = 0;
    for (i = 1; i <= 10; i++)
    {
       scanf ("%", &x);
       s = s + x;
       p = p + (float) s / x;
    }
    printf("%f",  p);


    D.
    Python C/C++
    s = 0
    for i in range (1, 11):
        x = int(input())
        s = s + x
        p = s / 10
        print(p)


    s = 0;
    for (i = 1; i <= 10; i++)
    {
       scanf ("%", &x);
       s = s + i;
       p = (float) s / 10;
       printf("%f",  p);
    }

  25. (2018, jesenski rok, zadatak 25)  Koju će vrijednost ispisati zadani programski isječak?

    Python C/C++
    b = 0
    for i in range (1, 4):
        for j in range(1, 43):
            if i % 2 == 1:
                 b = b + 1

    print(b)
    b = 0;
    for (i = 1; i <= 3; i++)
       for (j = 1; j <= 3; j++)
          if (i % 2 == 1) b = b + 1;
    printf("%d", b );

  26. (2019, ljetni rok, zadatak 28)  Zadan je dio programa.

    Python C/C++
    t = 2
    s = 0
    for i in range(12, 29):
       if i // 10 % t == 0:
          s = s + 1
    t = 2;
    s = 0;
    for (i = 12; i < 29; i++)
       if (i / 10 % t == 0)
          s = s + 1;

    A. Kolika je vrijednost varijable s nakon izvođenja zadanoga dijela programa?
    B. Kolika će biti vrijednost varijable s nakon izvođenja zadanoga dijela programa ako je varijabla t = 1?

  27. (2019, ljetni rok, zadatak 29)  Zadan je dio programa.

    Python C/C++
    n = 0
    m = 0
    for i in range(22, 30):
       k = 0
       for j in range(2, i):
          if i % j == 0:
             k = k + 1
       if k != 0:
          n = i
          m = m + 1
    n = 0;
    m = 0;
    for (i = 22; i < 30; i++){
       k = 0;
       for (j = 2; j < i; j++)
          if (i % j == 0)
             k = k + 1;
       if (k != 0){
          n = i;
          m = m + 1;
       }
    }

    A. Kolika je vrijednost varijable n nakon izvođenja zadanoga dijela programa?
    B. Kolika je vrijednost varijable m nakon izvođenja zadanoga dijela programa?

  28. (2019, jesenski rok, zadatak 18)  Zadan je dio programa koji unosi vremena trajanja n pjesama (u minutama i sekundama). Program računa i ispisuje ukupno vrijeme trajanja svih pjesama zajedno (u minutama i sekundama). Koju naredbu treba napisati na praznu crtu kako bi program ispravno radio?

    Python C/C++
    n = int(input())
    v = 0
    for i in range( n ):
       m = int(input())
       s = int(input())
       ___________________
    print(v // 60, v % 60)
    scanf("%d", &n);
    v = 0;
    for (i = 0; i < n; i++){
       scanf("%d", &m);
       scanf("%d", &s);
       ___________________
    }
    printf("%d %d", v / 60, v % 60);

    Ponuđena rješenja:

    Python C/C++
    A. v = v + m * s
    B. v = v + s + m
    C. v = m * 60 + s
    D. v = v + m * 60 + s
    A. v = v + m * s;
    B. v = v + s + m;
    C. v = m * 60 + s;
    D. v = v + m * 60 + s;


  29. (2019, jesenski rok, zadatak 28)  Zadan je dio programa.

    Python C/C++
    t = 5
    s = 0
    for i in range(14, 28):
       if i % 10 % t == 0:
          s = s + i
    t = 5;
    s = 0;
    for (i = 14; i < 28; i++)
       if (i % 10 % t == 0)
          s = s + i;

    A. Kolika je vrijednost varijable s nakon izvođenja zadanoga dijela programa?
    B. Kolika će biti vrijednost varijable s nakon izvođenja zadanoga dijela programa ako je varijabla t = 6?

  30. (2019, jesenski rok, zadatak 29)  Zadan je dio programa.

    Python C/C++
    n = 0
    m = 0
    for i in range(5, 10):
       k = 0
       for j in range(1, i):
          if i % j == 0:
             k = k + j
       if k == i:
          n = i
          m = m + 1

    n = 0;
    m = 0;
    for (i = 5; i < 10; i++){
       k = 0;
       for (j = 1; j < i; j++)
          if (i % j == 0)
             k = k + j;
       if (k == i){
          n = i;
          m = m + 1;
       }
    }


    A. Kolika je vrijednost varijable n nakon izvođenja zadanoga dijela programa?
    B. Kolika je vrijednost varijable m nakon izvođenja zadanoga dijela programa?

  31. (2020, ljetni rok, zadatak 24)  Što će ispisati zadani program?

    Python C/C++
    x = 10
    s = x
    for i in range(1, x + 1):
       s = s + 1
    print(s)
    int x, s, i;
    x = 10;
    s = x;
    for (i = 1; i <= x; i++)
       s = s + 1;
    printf("%d", s);

  32. (2020, ljetni rok, zadatak 25)  Što će ispisati zadani program?

    Python C/C++
    z = 0
    for a in range(1, 10):
       if a % 3 == 0:
          z = z + a
    print(z)

    int a, z;
    z = 0;
    for (a = 1; a <= 9; a++)
       if (a % 3 == 0)
          z = z + a;
    printf("%d", z);

  33. (2020, ljetni rok, zadatak 28)  Zadan je program.

    Python C/C++
    z = 0
    for t in range(10, 40):
       p = t // 10 % 2
       z = z + p
    print(z)
    int p, t, z;
    z = 0;
    for (t = 10; t <= 39; t++)
    {
       p = t / 10 % 2;
       z = z + p;
    }
    printf("%d", z);

    A. Kolika će biti vrijednost varijable p na kraju programa?
    B. Što će program ispisati?

  34. (2020, jesenski rok, zadatak 24)  Što će ispisati zadani program?

    Python C/C++
    x = 10
    s = 1
    for i in range(x):
       s = s * i
    print(s)
    int x, s, i;
    x = 10;
    s = 1;
    for (i = 0; i < x; i++)
       s = s * i;
    printf("%d", s);

  35. (2020, jesenski rok, zadatak 25)  Što će ispisati zadani program?

    Python C/C++
    d = 100
    for a in range(1, 10):
       if a % 4 == 0:
          d = d // a
    print(d)
    int d, i;
    d = 100;
    for (a = 1; a <= 9; a++)
       if (a % 4 == 0)
          d = d / a;
    printf("%d", d);

  36. (2020, jesenski rok, zadatak 28)  Zadan je dio programa.

    Python C/C++
    t = 5
    s = 0
    for i in range(14, 28):
       if i % 10 % t == 0:
          s = s + i
    int t, s, i;
    t = 5;
    s = 0;
    for (i = 14; i < 28; i++)
       if (i % 10 % t == 0)
           s = s + i;

    A. Kolika je vrijednost varijable s nakon izvođenja zadanoga dijela programa?
    B. Kolika će biti vrijednost varijable s nakon izvođenja zadanoga dijela programa ako je varijabla t = 6?

  37. (2021, ljetni rok, zadatak  18)  Koji će od navedenih algoritama učitati 10 brojeva te ispisati njihovu sumu?

    A.
    Python C/C++
    s = 1
    for i in range(1, 11):
       x = int(input())
       s = s + x
    print(s)
    s = 1;
    for (i = 1; i <= 10; i++){
       scanf("%d", &x);
       s = s + x;
    }
    printf("%d", s);


    B.
    Python C/C++
    s = 0
    for i in range(0, 11):
       x = int(input())
       s = s + x
    print(s)
    s = 0;
    for (i = 0; i <= 10; i++){
       scanf("%d", &x);
       s = s + x;
    }
    printf("%d", s);

    C.
    Python C/C++
    s = 0
    for i in range(1, 11):
       x = int(input())
       s = s + x
    print(s)
    s = 0;
    for (i = 1; i <= 10; i++){
       scanf("%d", &x);
       s = s + x;
    }
    printf("%d", s);


    D.
    Python C/C++
    s = 1
    for i in range(0, 11):
       x = int(input())
       s = s + i
    print(s)
    s = 1;
    for (i = 0; i <= 10; i++){
       scanf("%d", &x);
       s = s + i;
    }
    printf("%d", s);

  38. (2021, ljetni rok, zadatak  26)  Zadan je dio programa.

    Python C/C++
    b = 0
    a = 1
    for i in range(1, 3):
       for j in range(1, 5):
          if j % 2 == 0:
             b = b + 1
          else:
             a = a * j
    print(a)
    b = 0;
    a = 1;
    for (i = 1; i<=2; i++)
       for (j = 1; j<=4; j++)
          if (j % 2 == 0)
             b = b + 1;
          else
             a = a * j;
    printf("%d", a);

    A. Što će program ispisati?
    B. Kolika je vrijednost varijable b na kraju izvođenja zadanoga programa?

  39. (2021, jesenski rok, zadatak 18)  Koji će od navedenih algoritama učitati 10 brojeva te ispisati njihov umnožak?

    A.
    Python C/C++
    u = 1
    for i in range(1, 11):
       x = int(input())
       u = u * x
    print(u)
    u = 1;
    for (i=1; i<=10; i++){
       scanf("%d", &x);
       u = u * x;
    }
    printf("%d", u);

    B.
    Python C/C++
    u = 0
    for i in range(0, 11):
       x = int(input())
       u = u * x
    print(u)
    u = 0;
    for (i=0; i<=10; i++){
       scanf("%d", &x);
       u = u * x;
    }
    printf("%d", u);

    C.
    Python C/C++
    u = 0
    for i in range(1, 11):
       x = int(input())
       u = u * x
    print(u)
    u = 0;
    for (i=1; i<=10; i++){
       scanf("%d", &x);
       u = u * x;
    }
    printf("%d", u);

    D.
    Python C/C++
    u = 1
    for i in range(0, 11):
       x = int(input())
       u = u * i
    print(u)
    u = 1;
    for (i=0; i<=10; i++){
       scanf("%d", &x);
       u = u * i;
    }
    printf("%d", u);

  40. (2021, jesenski rok, zadatak 26)  Zadan je program.

    Python C/C++
    b = 0
    a = 1
    for i in range(1, 5):
       for j in range(1, 4):
          if i % 2 == 0:
             b = b + 1
          else:
             a = a * j
    print(b)
    b = 0;
    a = 1;
    for (i = 1; i<=4; i++)
       for (j = 1; j<=3; j++)
          if (i % 2 == 0)
             b = b + 1;
          else
             a = a * j;
    printf("%d", b);

    A. Što će program ispisati?
    B. Kolika je vrijednost varijable a na kraju izvođenja zadanoga programa?

  41. (2021, jesenski rok, zadatak 29)  Zadan je dio programa.

    Python C/C++
    t = 2
    s = 0
    for i in range(12, 29):
       if i // 10 % t == 0:
          s = s + 1
    t = 2;
    s = 0;
    for (i = 12; i<=28; i++)
       if (i / 10 % t == 0)
          s = s + 1;

    A. Kolika je vrijednost varijable s nakon izvođenja zadanoga dijela programa?
    B. Kolika će biti vrijednost varijable s nakon izvođenja zadanoga dijela programa ako je varijabla t = 1?



2.3. Rješenja

  1. B
  2. C
  3. D
  4. B
  5. B
  6. B
  7. B
  8. 8
  9. C
  10. 2
  11. 200
  12. 150
  13. B
  14. A
  15. D
  16. A
  17. 149
  18. 199
  19. A
  20. A. 1
    B. 7
  21. A. 3
    B. 3
  22. A
  23. 5
  24. B
  25. 6
  26. A: 9
    B: 17
  27. A: 28
    B: 6
  28. D
  29. A: 60
    B: 62
  30. A: 6
    B: 1
  31. 20
  32. 18
  33. A: 1
    B: 20
  34. 0
  35. 3
  36. A: 60
    B: 62
  37. C
  38. A. 9
    B . 4
  39. A
  40. A. 6
    B. 36
  41. A. 9
    B. 17

3. Petlja kod koje ponavljanje ovisi o uvjetu - while

Postoje problemi kod kojih ne možemo znati točan broj ponavljanja. Primjerice, želimo li izračunati zbroj znamenki nekog broja, a ne znamo koliko ima znamenki, moramo pronaći drugi način rješavanja tog problema.
Ili, ako želimo da korisnik unosi podatke (npr. o učenicima) sve dok to njemu odgovara. Ne znamo koliko će podataka unositi...
Ovakvih primjera ima još jako puno. Rješavamo ih petljom kod kojih ponavljanje ovisi o uvjetu.

Jedna od petlji s provjerom uvjeta je while petlja.

Njezin je opći oblik:

Python C/C++
while uvjet:
    naredba
while (uvjet)
    naredba;

Naredba (blok naredbi) unutar ove petlje ponavlja se sve dok je uvjet istinit. Ukoliko se treba ponavljati više od jedne naredbe, one se moraju staviti u blok.

Primjer 1:

Što će ispisati sljedeći dio programa ako je k cjelobrojna varijable?

Python C/C++
k = 3
while k <= 20:
    k = k + 3
print(k)
k = 3
while (k <= 20)
    k = k + 3;
printf("%d", k);

Na zaslon će se ispisati broj 21.

Kako to?

  • Na početku se varijabli k pridruži vrijednost 3.
  • Naredba while sada provjerava je li vrijednost varijable k manja ili jednaka od 20. Budući da je ta vrijednost jednaka 3, uvjet je ispunjen i vrijednost varijable k se uvećava za 3 (k=3+3=6).
  • Sada se izvršavanje programa vraća na ispitivanje uvjeta.
  • Šest je manje od 20 i uvjet je još uvijek ispunjen. To znači da će se vrijednost varijable k ponovo uvećati za 3 => k=6+3=9.
  • Devet je manji od 20 => k se uvećava za 3 => k=9+3=12
  • 12<20 => k=12+3=15
  • 15<20 => k=15+3=18
  • 18<20 => k=18+3=21
  • 21 nije manji ili jednak 20. Uvjet nije ispunjen i program nastavlja sa izvođenjem s prvom naredbom iza naredbe ponavljanja. To je funkcija za ispis pa se na zaslon ispisuje 21.
Primjer 2:

Što ako prethodni program zapišemo ovako:

Python C/C++
k = 3
while k <= 20:
    k = k + 3
    print(k)
k = 3
while (k <= 20){
    k = k + 3;
    printf("%d", k);}

Kako su sada naredbe k = k+3 i  funkcija za ispis unutar bloka, obje su dio naredbe za ponavljanje. To znači da će se sada nakon svakog uvećavanja vrijednosti varijable k, ta vrijednost i ispisati na zaslon.

Tako će se nakon ovog dijela programa na zaslon ispisati vrijednosti 6, 9, 12, 15, 18 i 21.
Početna vrijednost varijable k (k=3) se neće ispisati jer se naredba za izlaz nalazi iza naredbe za promjenu vrijednosti varijable.

Kada bi se funkcija za ispis nalazila prije naredbe za promjenu vrijednosti (k:=k+3), na zaslon bi se ispisivale vrijednosti: 3, 6, 9, 12, 15, 18.

Primjer 3:

Što će ispisati sljedeći dio programa?

Python C/C++
broj = int(input())
br = 0

while broj >0:
    br = br + 1
    broj = broj // 10

print (br)
scanf("%d", &broj);
br = 0
;
while (broj >0){
    br = br + 1;
    broj = broj / 10;}

printf ("%d", br);


Ovo je dio programa koji broji koliko uneseni broj ima znamenaka.

Provjerite je li to istina na nekom primjeru. Primjerice, neka je vrijednost varijable broj jednaka 3271. Koja će se vrijednost ispisati na zaslon?

Prilikom primjene uvjetnih petlji potrebno je voditi računa o tome da se izbjegne beskonačna petlja. Potrebno je pronaći uvjet koji će sigurno postati lažan u nekom trenutku.

Primjer 4:

Što će ispisati sljedeći dio programa?

Python C/C++
broj = int(input())
br = 0

while broj != 0:
    br = br + 1
broj = broj // 10

print (br)
scanf("%d", &broj);
br = 0
;
while (broj != 0)
    br = br + 1;
broj = broj / 10;

printf ("%d", br);


Ovo je klasičan primjer beskonačne petlje jer se u sklopu while petlje nalazi samo naredba br = br + 1, dok je naredba koja mijenja vrijednost varijable broj izvan bloka naredbi koje se ponavljaju. To znači da će se vrijednost varijable br povećavati, no vrijednost varijable broj će ostajati nepromijenjena (nikada neće postati nula) i uvjet nikada neće postati lažan!

Zadatak:

Napravite  program koji će za uneseni broj provjeriti je li potpuno paran. (Pomoć: Broj je potpuno paran ako mu je svaka znamenka paran broj).

3.1. Zadatci s provedenih ispita


SVI ZADATCI SU PRILAGOĐENI PROGRAMSKIM JEZICIMA PYTHON I C/C++


  1. (2010, ljetni rok, zadatak 26)   Što će ispisati sljedeći dio programa?

    Python C/C++
    t = 0
    n = 286
    while n > 0:
        if n % 2 > 0:
            t = t + 1
        n = n // 2
    print(t)

     
    t = 0;
    n = 286;
    while (n > 0)
    {
        if (n % > 0)
            t = t + 1;
        n = n / 2;
    }
    printf("%d", t);

  2. (2010, jesenski rok, zadatak 24)   Što će ispisati sljedeći algoritam za n = 345?

    Python C/C++
    m = 0
    while n != 0:
        m = m * 10
        k = n % 10
        m = m + k
        n = n // 10
    print(m)

    m = 0;
    while (n <> 0)
    {
        m = m * 10;
        k = n % 10;
        m = m + k;
        n = n / 10
    }
    printf("%d", m);

    A. 0
    B. 5
    C. 345
    D. 543

  3. (2010, jesenski rok, zadatak 26)  Što će ispisati sljedeći dio programa?

    Python C/C++
    x = 1001001
    p = 1
    d = 0
    while x > 0:
        d = d + x % 10 * p
        x = x // 10
        p = p * 2
    print(d)


    x = 1001001;
    p = 1;
    d = 0;
    while (x > 0)
    {
        d = d + x % 10 * p;
        x = x / 10;
        p = p * 2;
    }
    printf("%d", d);

  4. (2011, ljetni rok, zadatak 23)  Koju će vrijednost imati varijabla t nakon izvođenja sljedećega dijela programa?

    Python C/C++
    x = 100
    y = 200
    t = 0
    for i in range(x, y+1):
        a = 0
        b = i
        while b > 0:
            a = a + (b % 10) * (b % 10) * (b % 10)
            b = b // 10
        if a == i:
            t = t + 1



     
    x = 100;
    y = 200;
    t = 0;
    for (i = x; i <= y; i++)
    {
        a = 0;
        b = i;
        while (b > 0)
        {
            a = a + (b % 10) * (b % 10) * (b % 10);
            b = b / 10;
        }
        if (a == i)
            t = t + 1;
     }

    A. 0
    B. 1
    C. 7
    D. 8

  5. (2011, ljetni rok, zadatak 26)  Što će ispisati sljedeći dio programa?

    Python C/C++
    n = 415263
    t = n
    while n > 0:
        if (n % 10) >= 3:   
             t = t + 1
        n = n // 10
    print(t)

     
    n = 415263;
    t = n;
    while (n > 0)
    {
        if ((n % 10) >= 3)
             t = t + 1;
        n = n / 10;
    }
    printf("%d", t);

  6. (2011, jesenski rok, zadatak 23)  Koju će vrijednost imati varijabla t nakon izvođenja sljedećega dijela programa?

    Python C/C++
    x = 100
    y = 200
    t = 0
    for i in range (x, y+1):   
        a = True
        b = i
        c = 9
        while b > 0:
            if b % 10 > c:
                a = False
            c = b % 10
            b = b // 10
        if a == True:
           t = t + 1




    x = 100;
    y = 200;
    t = 0;
    for (i = x; i <= y; i++)
    {
        a = 1;
        b = i;
        c = 9;
        while (b > 0)
        {
            if (b % 10 > c)
                a = 0;
            c = b % 10;
            b = b / 10;
       }
       if (a == 1)
           t = t + 1;
    }

    A. 0
    B. 28
    C. 45
    D. 98

  7. (2011, jesenski rok, zadatak 26)  Što će ispisati sljedeći dio programa?

    Python C/C++
    n = 415263
    while n > 0:
        t = n
        if n % 10 >= 3:    
            t = t + 1
        n = n // 10
    print(t)

     
    n = 415263;
    while (n > 0)
    {
        t = n;
        if (n % 10 >= 3)
            t = t + 1;
        n = n / 10;
    }
    printf("%d", t);

  8. (2012, ljetni rok, zadatak 32)   Što će ispisati sljedeći dio programa?

    Python C/C++
    n = 290
    m = 300
    for i in range(n, m+1):   
        t = i
        k = t % 10
        while t >= 10:
            t = t // 10
        if t + k == 9:
            print(i)

     
    n = 290;
    m = 300;
    for (i = n; i <= m; i++)   
    {
        t = i;
        k = t % 10;
        while (t >= 10)
            t = t / 10;
        if (t + k == 9)
        printf("%d", i);
    }

  9. (2012, jesenski rok, zadatak 18)  Koji će brojevi biti ispisani nakon izvođenja sljedećeg programskog odsječka?

    Python C/C++
    m = 5
    while m<10:
        m = m - 2   
        print(m)

     
    m = 5;
    while (m < 10)
    {
        m = m - 2;
        printf("%d", m); 
    }

    A. Bit će ispisan konačni niz brojeva: 5 7 9.
    B. Bit će ispisan beskonačni niz brojeva koji počinje brojevima: 5 3 1 –1…
    C. Bit će ispisan beskonačni niz brojeva koji počinje brojevima: 3 1 –1 –3...
    D. Bit će ispisan konačni niz brojeva: 3 5 7 9.

  10. (2012, jesenski rok, zadatak 32)  Što će ispisati sljedeći dio programa?

    Python C/C++
    n = 160
    m = 170
    for i in range (n, m+1):   
        t = i
        k = 0
        while t > 0:
            k = k + t % 10
            t = t // 10
        if k % 7 == 0:
           print (i)



     
    n = 160;
    m = 170;
    for (i = n; i <= m; i++)
    {
        t = i;
        k = 0;
        while (t > 0)
        {
            k = k + t % 10;
            t = t / 10;
        }
        if (k % 7 == 0)
            printf("%d", i);    
    }

  11. (2013, ljetni rok, zadatak 19)  U kojem će se od navedenih algoritama varijabla x povećavati za jedan dok ne postigne deseterostruku početnu vrijednost varijable x?

    A.
    Python C/C++
    k = x
    while x < 10 * k:   
        x = x + 1
    k = x;
    while (x < 10 * k)
        x = x + 1;

    B.
    Python C/C++
    k = x
    while x < 10 * x:   
        x = x + 1
    k = x;
    while (x < 10 * x)
        x = x + 1;

    C.
    Python C/C++
    k = x
    while x < 10 * k:  
        x = k + 1
    k = x;
    while (x < 10 * k)
        x = k + 1;

    D.
    Python C/C++
    k = x
    while x < 10 * x:  
        k = k + 1
    k = x;
    while (x < 10 * x)
        k = k + 1;

  12. (2013, ljetni rok, zadatak 20)  Koji će od navedenih algoritama ispisati najveću znamenku broja n?

    A.
    Python C/C++
    n = int(input())
    m = n
    while n > 0:
        if n % 10 > m:
            m = n % 10  
        n = n // 10
    print(m)


    scanf ("%d", &n);
    max = n;
    while (n > 0)
    {
        if (n % 10 > max)
            max = n % 10;
        n = n / 10;
    }
    printf("%d", max);

    B.
    Python C/C++
    n = int(input())
    m = 0
    while n > 0:
        z = n // 10
        if z > m:
            m = z
        n = n // 10
    print(m)


    scanf ("%d", &n); 
    max = 0;
    while (n > 0)
    {
        z = n / 10;
        if (z > max)
            max = z;
        n = n / 10;
    }
    printf("%d", max);

    C.
    Python C/C++
    n = int(input())
    m = n
    while n > 0:
        z = n // 10
        if z // 10 > m:
            m = z
        n = n % 10
    print(m)


    scanf ("%d", &n);
    max = n;
    while (n > 0)
    {
        z = n / 10;
        if (z / 10 > max)
            max = z;
        n = n % 10;
    }
    printf("%d", max); 

    D.
    Python C/C++
    n = int(input())
    m = 0
    while n > 0:
        if n % 10 > m:
            m = n % 10
        n = n // 10
    print(m)


    scanf ("%d", &n);
    max = 0;
    while (n > 0)
    {
        if (n % 10 > max)
            max = n % 10;
        n = n / 10;
    }
    printf("%d", max); 

  13. (2013, ljetni rok, zadatak 33)  Koju će vrijednost ispisati sljedeći dio programa ako se za n upisuje vrijednost 2 i zatim n različitih prirodnih brojeva k: 19283 i 819?

    Python C/C++
    n = int(input())
    t = 0
    for i in range (n ):
        k = int(input())
        p = k
        r = 0
        while k > 0:
            k = k // 10
            r = r + 1
        if r > t:
            print(p)
            t = r





     
    scanf ("%d", &n);
    t = 0;
    for (i = 1; i<= n; i++)
    {
        scanf ("%d", &k);
        p = k;
        r = 0;
        while (k > 0)
        {
            k = k / 10;
            r = r + 1;
        }
        if (r > t)
        {
            printf("%d", p);
            t = r;
        }
    }
     
  14. (2013, jesenski rok, zadatak 19)   U kojem će se od navedenih algoritama varijabla x pri svakome ponavljanju petlje učetverostručiti dok ne postane veća od 210?

    A.
    Python C/C++
    x = 2
    while x > 1024:
        x = x + 4
    x = 2;
    while (x > 1024)
        x = x + 4;

    B.
    Python C/C++
    x = 2
    while x <= 1024:
        x = x + 4
    x = 2;
    while (x <= 1024)
        x = x + 4;

    C.
    Python C/C++
    x = 2
    while x <= 32 * 32:
        x = x + 4
    x = 2;
    while (x <= 32 * 32)
        x = x * 4;

    D.
    Python C/C++
    x = 2
    while x <= 32 * 32:
        x = x + 4
    x = 2;
    while (x > 32 * 32)
        x = x * 4;


  15. (2013, jesenski rok, zadatak 20)  Koji će od navedenih algoritama računati dekadski zapis binarnoga broja b?
    A.
    Python C/C++
    b = int(input())
    d = 0
    p = 1
    while b > 0:
        d = d * p + b % 10
        b = b // 10
        p = p * 2
    print(d)
    scanf ("%d", & b);
    d = 0;
    p = 1;
    while (b > 0)
    {
        d = d * p + b % 10;
        b = b / 10;
        p = p * 2;
    }
    printf("%d", d);

    B.
    Python C/C++
    b = int(input())
    d = 0
    p = 1
    while b > 0:
        d = d + p + (b % 2) * p
        b = b // 2
        p = p * 10
    print(d)
    scanf ("%d", & b);
    d = 0;
    p = 1;
    while (b > 0)
    {
        d = d + (b % 2) * p;
        b = b / 2;
        p = p * 10;
    }
    printf("%d", d);

    C.
    Python C/C++
    b = int(input())
    d = 0
    p = 1
    while b > 0:
        d = d + (b % 10) * p
        b = b // 10
        p = p * 2
    print(d)


    scanf ("%d", & b);
    d = 0;
    p = 1;
    while (b > 0)
    {
        d = d + (b % 10) * p;
        b = b / 10;
        p = p * 2;
    }
    printf("%d", d);

    D.
    Python C/C++
    b = int(input())
    d = 0
    p = 1
    while b > 0:
        d = d * p + b % 10
        b = b // 2
        p = p * 2
    print(d)


    scanf ("%d", & b);
    d = 0;
    p = 1;
    while (b > 0)
    {
        d = d * p + b % 10;
        b = b / 2;
        p = p * 2;
    }
    printf("%d", d);


  16. (2013, jesenski rok, zadatak 33)  Koju će vrijednost ispisati sljedeći dio programa ako se za n upisuje vrijednost 2 i zatim n različitih prirodnih brojeva k: 918 i 1111?

    Python C/C++
    n = int(input())
    t = 0
    for i in range (1, n + 1):
        k = int(input())
        r = 0
        while k > 0:
            r = r + k % 10
            k = k // 10
        if r > t:
            print(r)
        t = r






    scanf ("%d", & n);
    t = 0;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", & k);
        r = 0;
        while (k > 0)
        {
            r = r + k % 10;
            k = k / 10;
        }
        if (r > t)
        {
            printf("%d", r);
            t = r;
        }
    }


  17. (2014, ljetni rok, zadatak 32)  Što će ispisati sljedeći dio programa?

    Python C/C++
    a = 10
    t = 0
    while a < 100:
        if a**0.5 == round(a**0.5):
            t = a
        a = a + 2
    print (t)


    a = 10;
    t = 0;
    while (a < 100)
    {
        if (sqrt(a) = round(sqrt(a)))
              t = a;
        a = a + 2;
    }
    printf("%d", t);

  18. (2014, ljetni rok, zadatak 33)  Što će ispisati sljedeći dio programa?

    Python C/C++
    t = 0
    for i in range(90, 106):
        k = i
        while k > 0:
            t = t + 1
            k = k // 10
    print(t) 




    t = 0;
    for (i = 90; i <= 105; i++)
    {
        k = i;
        while (k > 0)
        {
            t = t + 1;
            k = k / 10;
        }
    }
    printf("%d", t);


  19. (2014, jesenski rok, zadatak 32)  Što će ispisati sljedeći dio programa?

    Python C/C++
    a = 10
    t = 0
    while a < 100:
        if a // 10 <= a % 10:
            t = a
        a = a + 2
    print(t)

     
    a = 10;
    t = 0;
    while (a < 100)
    {
        if (a / 10 <= a % 10)
            t = a;
        a = a + 2;
    }
    printf("%d", t);

  20. (2014, jesenski rok, zadatak 33)   Što će ispisati sljedeći dio programa ako je a = 7835?

    Python C/C++
    t = 0
    while a > 0:
        k = a
        a = a // 10
        s = 0
        while k > 0:
            s = s + k % 10
            k = k // 10
        if s % 2 == 0:
           t = t + 1
    print(t)



     
    t = 0;
    while (a > 0)
    {
        k = a;
        a = a / 10;
        s = 0;
        while (k > 0)
        {
            s = s + k % 10;
            k = k / 10;
        }
        if (s % 2 == 0)
           t = t + 1;
    }
    printf("%d", t);

  21. (2015, ljetni rok, zadatak 19)  U kojemu će se od sljedećih algoritama varijabla x smanjivati za tri dok ne postane manja od 20?

    A.
    Python C/C++
    x = 100;
    while x <= 20:

            x = x - 3
    x = 100;
    while (x <= 20)

            x = x - 3;

    B.
    Python C/C++
    x = 100
    while x >= 20:
          x = x - 3
    x = 100;
    while (x >= 20)
            x = x - 3;

    C.
    Python C/C++
    x = 20
    while x <= 100
            x = x - 3
    x = 20;
    while (x <= 100)
            x = x - 3;

    D.
    Python C/C++
    x = 20
    while x > 100
            x = x - 3
    x = 20;
    while (x > 100)
            x = x - 3;


  22. (2015, ljetni rok, zadatak 20)  Koji će od sljedećih algoritama ispisati binarni zapis dekadskoga prirodnog broja n?

    A.
    Python C/C++
    n = int(input())
    b = 0
    p = 1
    while n > 0:
        b = b + (n % 10) * p
        n = n // 2
        p = p * 2
    print(b)
     

    scanf ("%d", & n);
    b = 0;
    p = 1;
    while (n > 0)
    {
        b = b + (n % 10) * p;
        n = n / 2;
        p = p * 2;
    }
    printf("%d",  b);

    B.
    Python C/C++
    n  =  int(input())
    b  =  0
    p  =  1
    while n  >  0:
        b  =  b  * p + n % 2
        n  =  n  //  2
        p  =  p  *  2
    print(b)
     

    scanf ("%d", & n);
    b = 0;
    p = 1;
    while (n > 0)
    {
        b = b * p + n % 2;
        n = n / 2;
        p = p * 2;
    }
    printf("%d",  b);

    C.
    Python C/C++
    n = int(input())
    b = 0
    p = 1
    while n > 0:
        b = b + (n % 2) * p
        n = n // 2
        p = p * 10
    print(b)

     
    scanf ("%d", & n);
    b = 0;
    p = 1;
    while (n > 0)
    {
        b = b + (n % 2) * p;
        n = n / 2;
        p = p * 10;
    }
    printf("%d",  b);

    D.
    Python C/C++
    n = int(input())
    b = 1
    p = 1
    while n > 0:
        b = b * 10 + n % 2
        n = n // 2
        p = p * 10
    print(b)
     
     
    scanf ("%d", & n);
    b = 1;
    p = 1;
    while (n > 0)
    {
        b = b * 10 + n % 2;
        n = n / 2;
        p = p * 10;
    }
    printf("%d",  b);


  23. (2015, ljetni rok, zadatak 33)  Koju će vrijednost ispisati sljedeći dio programa ako se za n upisuje vrijednost 2 i zatim n različitih prirodnih brojeva k: 1811 i 7?

    Python C/C++
    n = int(input())
    t = 0
    for i in range (1, n+1):
        k = int(input())
        p = k
        r = 1
        while k > 0:
            r = k % 10 * r
            k = k // 10
        if r > t:
            print(p)
            t = r





     
    scanf ("%d", &n);
    t = 0;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", & k);
        p = k;
        r = 1;
        while (k > 0)
        {
            r = k % 10 * r;
            k = k / 10;
        }
        if (r > t)
        {
            printf("%d", p);
            t = r;
        }
    }


  24. (2015, jesenski rok, zadatak 19)  U kojemu će se od sljedećih algoritama varijabla x pri svakome ponavljanju petlje povećavati dva puta dok ne postigne osmerostruku početnu  vrijednost varijable x?

    A.
    Python C/C++
    k = x;
    while x < 8 * k:
          x = x + 2
    k = x;
    while (x < 8 * k)
            x = x + 2;

    B.
    Python C/C++
    k = x
    while x < 8 * x:
          x = x * 2
    k = x;
    while (x < 8 * x)
            x = x * 2;

    C.
    Python C/C++
    k = x
    while x < 8 * k:
          x = x * 2
    k = x;
    while (x < 8 * k)
            x = x * 2;

    D.
    Python C/C++
    k = x
    while x < 8 * x:
          k = k + 2
    k = x;
    while (x < 8 * x)
            k = k + 2;


  25. (2015, jesenski rok, zadatak 20)  Koji će od sljedećih algoritama ispisati najmanju znamenku prirodnoga broja n?

    A.
    Python C/C++
    n = int(input())
    mi = n % 10
    while n > 0:
        if n % 10 < mi:
            mi = n % 10
        n = n // 10
    print(mi)
     
     
    scanf ("%d", &n);
    min = n % 10;
    while (n > 0)
    {
        if (n % 10 < min)
            min = n % 10;
        n = n / 10;
    }
    printf("%d",  min);

    B.
    Python C/C++
    n = int(input())
    mi = 0
    while n > 0:
        z = n // 10
        if z < mi:
            mi = z
        n = n // 10
    print(mi)
     

    scanf ("%d", &n);
    min = 0;
    while (n > 0)
    {
        z = n / 10;
        if (z < min)
            min = z;
        n = n / 10;
    }
    printf("%d",  min);

    C.
    Python C/C++
    n = int(input())
    mi = n
    while n > 0:
        z = n  // 10
        if z // 10 < mi:
            mi = z
        n = n // 10
    print(mi)

     
    scanf ("%d", &n);
    min = n;
    while (n > 0)
    {
        z = n / 10;
        if (z / 10 < min)
            min = z;
        n = n % 10;
    }
    printf("%d",  min);

    D.
    Python C/C++
    n = int(input())
    mi = 0
    while n > 0:
        if n % 10 < mi:
            mi = n % 10
        n = n // 10
    print(mi)

     
    scanf ("%d", &n);
    min = 0;
    while (n > 0)
    {
        if (n % 10 < min)
            min = n % 10;
        n = n / 10;
    }
    printf("%d",  min);


  26. (2015, jesenski rok, zadatak 33)  Koju će vrijednost ispisati sljedeći dio programa ako se za n upisuje vrijednost 2 i zatim n različitih prirodnih brojeva k: 38 i 1123?

    Python C/C++
    n = int(input())
    t = 0
    for i in range (1, n+1):
        k = int(input())
        p = k
        r = 0
        while k > 0:
            r = r + k % 10
            k = k // 10
        if r > t:
            printf(p)
            t = r






    scanf ("%d", &n);
    t = 0;
    for (i = 1; i <= n; i++)
    {
        scanf ("%d", & k);
        p = k;
        r = 0;
        while (k > 0)
        {
             r = r + k % 10;
             k = k / 10;
        }
        if (r > t)
        {
            printf("%d", p);
            t = r;
        }
    }


  27. (2016., ljetni rok, zadatak 20)  Koju je naredbu potrebno upisati na crtu u sljedećemu dijelu programa da bi nakon njegova izvođenja u varijabli s bio zapisan broj znamenaka broja n?

    Python C/C++
    n = int(input())
    s = 0
    while n > 0:
        __________________
        n = n // 10


    scanf ("%d", &n);
    s = 0;
    while (n > 0)
    {
        __________________ 
        n = n / 10;
    }

    Ponuđena rješenja:

    Python C/C++
    A. s = s + 1  
    B. s = s + n   
    C. s = s + n % 10    
    D. s = s + n // 10    
    A.  s = s + 1;
    B.  s = s + n;
    C.  s = s + n % 10;
    D.  s = s + n / 10;


  28. (2016., ljetni rok, zadatak 32)  Što će ispisati sljedeći dio programa ako se za n učita vrijednost 25387?

    Python C/C++
    n = int(input())
    k = 0
    while n > 0:
        if n % 2 == 0:
            k = k + 1
        n = n // 10
    print(k)

     
    scanf ("%d", &n);
    k = 0;
    while (n > 0)
    {
        if (n % 2 == 0)
           k = k + 1;
        n = n / 10;
    }
    printf("%d", k);


  29. (2016., ljetni rok, zadatak 33)  Što će ispisati sljedeći dio programa?

    Python C/C++
    t = 0
    for i in range(200, 301):
        n = i
        k = n % 10
        while n > 9:
            n = n // 10
        if (k + n) % 2 == 0:
            t = t + 1
    print(t)

     
    t = 0;
    for (i = 200; i <= 300; i++)
    {
        n = i;
        k = n % 10;
        while (n > 9)
            n = n / 10;
        if ((k + n) % 2 == 0)
            t = t + 1;
    }
    printf("%d",  t);

  30. (2016, jesenski rok, zadatak 19)  U kojemu će se od sljedećih programskih isječaka petlja izvesti točno 10 puta?

    A.
    Python C/C++
    k = 0
    while k < 10:
       k = k + 2

    k = 0;
    while (k < 10)
       k = k + 2;


    B.
    Python C/C++
    k = 0;
    while k < 20:
       k = k + 2

    k = 0;
    while (k < 20)
       k = k + 2;


    C.
    Python C/C++
    k = 1
    while k <= 10:
       k = k + 2

    k = 1;
    while (k <= 10)
       k = k + 2;


    D.
    Python C/C++
    k = 2;
    while k < 20:
       k = k + 2

    k = 2;
    while (k < 20)
       k = k + 2;


  31. (2016., jesenski rok, zadatak 20)  Koju je naredbu potrebno upisati na crtu u sljedećemu dijelu programa da bi nakon njegova izvođenja u varijabli s bio zapisan zbroj znamenaka broja n?

    Python C/C++
    n = int(input())
    s = 0
    while n > 0:
        s := s + n % 10
    ___________________


    scanf ("%d", &n);
    s = 0;
    while (n > 0)
    {
       s = s + n % 10;
       ___________________
    }


    Ponuđena rješenja:

    Python C/C++
    A. s = s + 1  
    B. s = s + n   
    C. n =  n % 10    
    D. n =  n // 10    
    A.  s = s + 1;
    B.  s = s + n;
    C.  n =  n % 10;
    D.  n = n / 10;

  32. (2016., jesenski rok, zadatak 32)  Što će ispisati sljedeći dio programa ako se za n učita vrijednost 2538?

    Python C/C++
    n = int(input())
    k = 0
    while n > 0:
       if n % 2 != 0:
          k = k + n % 10
       n = n // 10
    print(k)

     
    scanf ("%d", &n);
    k = 0;
    while (n > 0)
    {
       if (n % 2 != 0)
          k = k + n % 10;
       n = n / 10;
    }
    printf("%d", k);


  33. (2016., jesenski rok, zadatak 33)  Što će ispisati sljedeći dio programa?

    Python C/C++
    t = 0
    for i in range(200, 301):
       n = i
       k = n % 10
       while n > 9:
          n = n // 10
       if k == n:
          t = t + 1
    print(t)


    t = 0;
    for (i = 200; i <= 300; i++)
    {
       n = i;
       k = n % 10;
       while (n > 9)
          n = n / 10;
       if (k == n)
          t = t + 1;
    }
    printf("%d", t );

  34. (2017, ljetni rok, zadatak 17)  Koji će od navedenih algoritama ispisati najveći broj čija je zadnja znamenka 1, a koji je manji od upisanoga broja n?

    A.
    Python C/C++
    n = int(input())
    n = n - 1
    while n % 10 == 1:
       n = n - 1
    print(n ) 
    scanf ("%d", &n);
    n = n - 1;
    while (n % 10 == 1)
       n = n - 1;
    printf("%d",  n);

    B.
    Python C/C++
    n = int(input())
    n = n - 1
    while n % 10 != 1:
       n = n - 1
    print(n )
    scanf ("%d", &n);
    n = n - 1;
    while (n % 10 != 1)
       n = n - 1;
    printf("%d",  n);

    C.
    Python C/C++
    n = int(input())
    n = n - 1
    while n // 10 != 1:
       n = n - 1
    print(n )
    scanf ("%d", &n);
    n = n - 1;
    while (n / 10 != 1)
        n = n - 1;
    printf("%d",  n);

    D.
    Python C/C++
    n = int(input())
    while n % 10 == 1:
       n = n - 1
    print( n)
    scanf ("%d", &n);
    while (n % 10 == 1)
        n = n - 1;
    printf("%d",  n);

  35. (2017, ljetni rok, zadatak 18)   Zadan je dio programa koji treba učitavati brojeve dok se ne upiše 15 pozitivnih brojeva. Program treba ispisati prosječnu vrijednost upisanih pozitivnih brojeva. Koju naredbu treba upisati na praznu crtu da bi program ispravno radio? 

    Python C/C++
    s = 0; k = 0
    ________________________   
    n = int(input())
    if x > 0:
        s = s + x
        k = k + 1
    p = s / k
    print(p)
    s = 0; k = 0;
    ________________________
    {
       scanf ("%d", & x);
       if (x > 0)
       {
          s = s + x;
          k = k + 1;
       }
    }
    p = (float) s / k;
    printf("%f", p);

    Ponuđena rješenja:

    Python C/C++
    A. while k < 15:
    B. while k <= 15:
    C. for i in range(1, 16):
    D. for i in range(16):   
    A. while (k < 15)
    B. while (k <= 15)
    C. for (i = 1; i <= 15; i++)
    D. for (i = 0; i <= 15; i++)

  36. (2017, ljetni rok, zadatak 25)  Koju će vrijednost ispisati navedeni dio programa ako je a = 14 i b = 17?

    Python C/C++
    m = 0
    p = 0
    for i in range(a, b+1):
       t = i
       s = 0
       while t > 0:
          z = t % 2
          s = s + z
          t = t // 2
       if s > m:
          m = s
          p = i
    print(p)





     
    m = 0;
    p = 0;
    for (i = a; i <= b; i++)
    {
       t = i;
       s = 0;
       while (t > 0)
       {
          z = t % 2;
          s = s + z;
          t = t / 2;
       }
       if (s > m)
       {
          m = s;
          p = i;
       }
    }
    printf("%d", p);

  37. (2017, ljetni rok, zadatak 28)  Zadan je dio programa.

    Python C/C++
    n = 90
    naj = 0
    while n > 64:
       if n % 8 == 0:
          naj = n
       n = n - 5
     

    n = 90;
    naj = 0;
    while (n > 64)
    {
       if (n % 8 == 0)
          naj = n;
       n = n - 5;
    }

    A. Kolika je vrijednost varijable n na kraju izvođenja navedenoga dijela programa?
    B. Kolika je vrijednost varijable naj na kraju izvođenja navedenoga dijela programa?

  38. (2017, jesenski rok, zadatak 17)   Koji će od navedenih algoritama ispisati najveći višekratnik broja 5, a koji je manji od upisanoga broja n?

    A.
    Python C/C++
    n = int(input())
    n = n - 1
    while n % 5 != 0:
       n = n - 1
    print(n )
     
    scanf ("%d", &n);
    n = n - 1;
    while (n % 5 != 0)
       n = n - 1;
    printf("%d", n);

    B.
    Python C/C++
    n = int(input())
    n = n - 1
    while n % 5 == 0:
       n = n - 1
    print(n )
    scanf ("%d", &n);
    n = n - 1;
    while (n % 5 == 0)
       n = n - 1;
    printf("%d", n);

    C.
    Python C/C++
    n = int(input())
    n = n - 1
    while n // 5 == 0:
       n = n - 1
    print(n )
    scanf ("%d", &n);
    n = n - 1;
    while (n / 5 == 0)
       n = n - 1;
    printf("%d", n);

    D.
    Python C/C++
    n = int(input())
    n = n - 1
    while n // 5 != 0:
       n = n - 1
    print(n )
    scanf ("%d", &n);
    n = n - 1;
    while (n / 5 != 0)
       n = n - 1;
    printf("%d", n);

  39. (2017, jesenski rok, zadatak 18)   Zadan je dio programa koji treba učitavati zaključene ocjene dok se ne upiše broj nula. Program treba ispisati srednju vrijednost upisanih ocjena. Koju naredbu treba upisati na praznu crtu da bi program ispravno radio?

    Python C/C++
    s = 0; k = 0
    x = int(input())
    while x > 0:
        s = s + x
        k = k + 1
        x = int(input())
    _________________
    print(p)


    s = 0; k = 0;
    scanf ("%d", & x);
    while (x > 0)
    {
       s = s + x;
       k = k + 1;
       scanf ("%d", & x);
    }
    _________________
    printf("%f",  p);

    Ponuđena rješenja:

    Python C/C++
    A. p = s / k;
    B. p = s / k – 1
    C. p = s / (k – 1)
    D. p = s / (k + 1);
    A. p = (float) s / k;
    B. p = (float) s / k – 1;
    C. p = (float)s / (k – 1);
    D. p = (float)s / (k + 1);

  40. (2017, jesenski rok, zadatak 25)   Koju će vrijednost ispisati navedeni dio programa ako je a = 18 i b = 21?

    Python C/C++
    m = 0
    p = 0
    for i in range(a, b+1):
       t = i
       s = 0
       while t > 0:
          z = t % 10
          s = s + z * z
          t = t // 10
       if s > m:
          m = s
          p = i
    print(p)
     





    m = 0;
    p = 0;
    for (i = a; i <= b; i++)
    {
       t = i;
       s = 0;
       while (t > 0)
       {
          z = t % 10;
          s = s + z * z;
          t = t / 10;
       }
       if (s > m)
       {
          m = s;
          p = i;
       }
    }
    printf("%d", p);

  41. (2017, jesenski rok, zadatak 28)   Zadan je dio programa.

    Python C/C++
    n = 100
    while n > 65:
       if n % 8 == 0:
          naj = n
       n = n - 4

     
    n = 100;
    while (n > 65)
    {
       if (n % 8 == 0)
          naj = n;
       n = n - 4;
    }

    A. Kolika je vrijednost varijable n na kraju izvođenja navedenoga dijela programa?
    B. Kolika je vrijednost varijable naj na kraju izvođenja navedenoga dijela programa?

  42. (2018, ljetni rok, zadatak 18)   Što od navedenoga treba upisati na praznu crtu kako bi sljedeći program ispisao samo krajnju lijevu znamenku prirodnoga broja n?

    Python C/C++
    z = 0
    while ____________ :
       z = n % 10
       n = n // 10
    print(z)


    z = 0;
    while (____________)
    {
       z = n % 10;
       n = n / 10;
    }
    printf("%d", z);

    A. n > 0
    B. n > 9
    C. n > 10
    D. n >= 10

  43. (2018, ljetni rok, zadatak 28)  Zadan je dio programa.

    Python C/C++
    n = 2
    a = int(input())
    while n % 7 != 0:
        n = n + a
    print(n )
    n = 2;
    scanf ("%d", & a);
    while (n % 7 != 0)
       n = n + a;
    printf("%d", n);

    A. Koju će vrijednost ispisati zadani dio programa ako se za a upiše broj 1?
    B. Koju će vrijednost ispisati zadani dio programa ako se za a upiše broj 13?

  44. (2018, ljetni rok, zadatak 29)  Zadan je dio programa.

    Python C/C++
    b = 0; n = 11
    while n > 0:
       if n % 3 != 0:
           n = n - 4
       else:
           n  = n - 1
       b = b + 1
     
    b = 0;
    n = 11;

    while (n > 0)
    {
       if (n % 3 != 0) n = n – 4;
       else n  = n - 1;
       b = b + 1;
    }

    A. Kolika je vrijednost varijable b na kraju izvođenja zadanoga dijela programa?
    B. Kolika je vrijednost varijable n na kraju izvođenja zadanoga dijela programa?

  45. (2018, jesenski rok, zadatak 18)  Što od navedenoga treba upisati na praznu crtu kako bi sljedeći program ispisao samo krajnju lijevu znamenku prirodnoga broja n?

    Python C/C++
    while n > 9:
        n = n // 10
    _____________
    while (n > 9 )
       n = n / 10;
    _____________

    Ponuđena rješenja:

    Python C/C++
    A. print(n )
    B. print(n * 10);
    C.print(n div 10);
    D.print(n * 10 – 1);
    A. printf("%d", n);
    B. printf ("%d", n * 10);
    C. printf("%d", n / 10);
    D. printf ("%d", n * 10 – 1);

  46. (2018, jesenski rok, zadatak 28)  Zadan je dio programa.

    Python C/C++
    n = int(input())
    while n < 100:
        n = n + 10
    print(n )
    scanf ("%d", & n);
    while (n < 100)
       n = n + 10;
    printf("%d", n);

    A. Koju će vrijednost ispisati zadani dio programa ako se upiše broj 78?
    B. Koju će vrijednost ispisati zadani dio programa ako se upiše broj 0?

  47. (2018, jesenski rok, zadatak 29)  Zadan je dio programa.

    Python C/C++
    n = 11
    b = 0
    while n >= 0:
       if n % 3 == 0:
           n = n - 6
       else:
           n = n + 1
       b = b + 1
    n = 11;
    b = 0;
    while (n >= 0)
    {
       if (n % 3 == 0) n = n – 6;
       else  n = n + 1;
       b = b + 1;
    }


    A. Kolika je vrijednost varijable b na kraju izvođenja zadanoga dijela programa?
    B. Kolika je vrijednost varijable n na kraju izvođenja zadanoga dijela programa?

  48. (2019, ljetni rok, zadatak 17)  U kojemu će se od zadanih programskih isječaka petlja izvesti točno 10 puta?

    A.
    Python C/C++
    k = 0
    while k < 10:
       k = k + 1
    k = 0;
    while (k < 10)
       k = k + 1;


    B.
    Python C/C++
    k = 0
    while k <= 10:
       k = k + 1
    k = 0;
    while (k <= 10)
       k = k + 1;


    C.
    Python C/C++
    k = 1
    while k < 10:
       k = k + 1
    k = 1;
    while (k < 10)
       k = k + 1;


    D.
    Python C/C++
    k = 1
    while k <= 10:
       k = k + 2
    k = 1;
    while (k <= 10)
       k = k + 2;

  49. (2019, ljetni rok, zadatak 18)  Koju je naredbu potrebno upisati na crtu u zadanomu dijelu programa da bi nakon njegova izvođenja u varijabli s bio zapisan zbroj znamenaka prirodnoga broja n?

    Python C/C++
    n = int(input())
    s = 0
    ________________
       s = s + n % 10
       n = n // 10
    scanf("%d", &n);
    s = 0;
    ________________{
       s = s + n % 10;
       n = n / 10;
    }

    Ponuđena rješenja:

    Python C/C++
    A. if n > 0:
    B. while n > 0:
    C. if n < 0:
    D. while n < 0:
    A. if (n > 0)
    B. while (n > 0)
    C. if (n < 0)
    D. while (n < 0)

  50. (2019, ljetni rok, zadatak 27)  Zadan je dio programa.

    Python C/C++
    a = 12
    b = 18
    t = 0
    p = a + b
    k = 0
    while t == 0:
       if p % a == 0 and p % b == 0:
          t = t + 1
       else:
          p = p + 1
       k = k + 1
    a = 12;
    b = 18;
    t = 0;
    p = a + b;
    k = 0;
    while (t == 0){
       if (p % a == 0 && p % b == 0)
          t = t + 1;
       else
          p = p + 1;
       k = k + 1;
    }

    A. Kolika je vrijednost varijable p nakon izvođenja zadanoga dijela programa?
    B. Kolika je vrijednost varijable k nakon izvođenja zadanoga dijela programa?

  51. (2019, jesenski rok, zadatak 27)  Zadan je dio programa.

    Python C/C++
    n = int(input())
    k = 0
    while n > 0:
       if n % 2 != 0:
          k = k + 1
       n = n // 10
    print(k)
    scanf("%d", &n);
    k = 0;
    while (n > 0){
       if (n % 2 != 0)
          k = k + 1;
       n = n / 10;
    }
    printf("%d", k);

    A. Što će ispisati zadani dio programa ako se za n učita vrijednost 41?
    B. Što će ispisati zadani dio programa ako se za n učita vrijednost 25387?

  52. (2020, ljetni rok, zadatak 17)  Koji će od zadanih algoritama ispisati zbroj parnih znamenaka prirodnoga broja a? Ako broj a nema parnih znamenaka, ispisuje se 0.

    A.
    Python C/C++
    a = int(input())
    zb = 0
    while a > 0:
       x = a % 10
       if x % 2 == 0:
          zb = zb + x
       a = a // 10
    print(zb)

    int a, zb, x;
    scanf("%d", &a);
    zb = 0;
    while (a > 0)
    {
       x = a % 10;
       if (x % 2 == 0)
          zb = zb + x;
       a = a / 10;
    }
    printf("%d", zb);


    B.
    Python C/C++
    a = int(input())
    zb = 0
    while a > 0:
       x = a % 2
       if x % 2 == 1:
          zb = zb + x
       a = a // 2
    print(zb)

    int a, zb, x;
    scanf("%d", &a);
    zb = 0;
    while (a > 0)
    {
       x = a % 2;
       if (x % 2 == 1)
          zb = zb + x;
       a = a / 2;
    }
    printf("%d", zb);


    C.
    Python C/C++
    a = int(input())
    zb = 0
    while a > 0:
       x = a % 10
       if x % 2 == 1:
          zb = zb + x
       a = a // 10
    print(zb)

    int a, zb, x;
    scanf("%d", &a);
    zb = 0;
    while (a > 0)
    {
       x = a % 10;
       if (x % 2 == 1)
          zb = zb + x;
       a = a / 10;
    }
    printf("%d", zb);


    D.
    Python C/C++
    a = int(input())
    zb = 0
    while a > 0:
       x = a // 10
       if x % 2 == 0:
          zb = zb + x
       a = a // 10
    print(zb)

    int a, zb, x;
    scanf("%d", &a);
    zb = 0;
    while (a > 0)
    {
       x = a / 10;
       if (x % 2 == 0)
          zb = zb + x;
       a = a / 10;
    }
    printf("%d", zb);

  53. (2020, ljetni rok, zadatak 18)  Što od navedenoga treba upisati na praznu crtu kako bi zadani program ispisao broj dvoznamenkastih brojeva manjih ili jednakih n?

    Python C/C++
    n = int(input())
    s = 0
    if n > 99:
       n = 99
    while _______:
       s = s + 1
       n = n – 1
    print(s)
    int n, s;
    scanf("%d", &n);
    s = 0;
    if (n > 99)
       n = 99;
    while ( _______ )
    {
       s = s + 1;
       n = n – 1;
    }
    printf("%d", s);

    A. n > 10
    B. n >= 9
    C. n >= 10
    D. n > 99

  54. (2020, ljetni rok, zadatak 27)  Zadan je dio programa.

    Python C/C++
    a = 5
    b = 20
    s = 1
    while a < b:
       b = b - a
       s = s * b
    int a, b, s;
    a = 5;
    b = 20;
    s = 1;
    while (a < b)
    {
       b = b – a;
       s = s * b;
    }

    A. Kolika je vrijednost varijable b na kraju izvođenja zadanoga dijela programa?
    B. Kolika je vrijednost varijable s na kraju izvođenja zadanoga dijela programa?

  55. (2020, ljetni rok, zadatak 29)  Zadan je dio programa.

    Python C/C++
    a = 12
    b = 18
    t = 0
    p = a + b
    k = 0
    while t == 0:
       if p % a == 0 and p % b == 0:
          t = t + 1
       else:
          p = p + 1
       k = k + 1
    int a, b, t, p, k;
    a = 12;
    b = 18;
    t = 0;
    p = a + b;
    k = 0;
    while (t == 0){
       if (p % a == 0 && p % b == 0)
          t = t + 1;
       else
          p = p + 1;
       k = k + 1;
    }

    A. Kolika je vrijednost varijable p nakon izvođenja zadanoga dijela programa?
    B. Kolika je vrijednost varijable k nakon izvođenja zadanoga dijela programa?

  56. (2020, jesenski rok, zadatak 17)  Koji će od navedenih algoritama ispisati broj neparnih znamenaka prirodnoga broja a?

    A.
    Python C/C++
    a = int(input())
    b = 0
    while a > 0:
       x = a % 10
       if x % 2 == 1:
          b = b + 1
       a = a % 10
    print(b)

    int a, b, x;
    scanf("%d", &a);
    b = 0;
    while (a > 0)
    {
       x = a % 10;
       if (x % 2 == 1)
          b = b + 1;
       a = a % 10;
    }
    printf("%d", b);


    B.
    Python C/C++
    a = int(input())
    b = 0
    while a > 0:
       x = a % 10
       if x % 2 == 1:
          b = b + 1
       a = a // 10
    print(b)

    int a, b, x;
    scanf("%d", &a);
    b = 0;
    while (a > 0)
    {
       x = a % 10;
       if (x % 2 == 1)
          b = b + 1;
       a = a / 10;
    }
    printf("%d", b);


    C.
    Python C/C++
    a = int(input())
    b = 0
    while a > 0:
       x = a % 10
       if x % 2 == 1:
          b = b + x
       a = a // 10
    print(b)

    int a, b, x;
    scanf("%d", &a);
    b = 0;
    while (a > 0)
    {
       x = a % 10;
       if (x % 2 == 1)
          b = b + x;
       a = a / 10;
    }
    printf("%d", b);


    D.
    Python C/C++
    a = int(input())
    b = 0
    while a > 0:
       x = a // 10
       if x % 2 == 1:
          b = b + x
       a = a // 10
    print(b)

    int a, b, x;
    scanf("%d", &a);
    b = 0;
    while (a > 0)
    {
       x = a / 10;
       if (x % 2 == 1)
          b = b + x;
       a = a / 10;
    }
    printf("%d", b);

  57. (2020, jesenski rok, zadatak 18)  Što od navedenoga treba upisati na praznu crtu kako bi zadani program ispisao zbroj dvoznamenkastih brojeva većih od n?

    Python C/C++
    n = int(input())
    s = 0
    if n < 10:
       n = 9
    n = n + 1
    while __________:
       s = s + n
       n = n + 1
    print(s)
    int n, s;
    scanf("%d", &n);
    s = 0;
    if (n < 10)
       n = 9;
    n = n + 1;
    while (__________)
    {
       s = s + n;
       n = n + 1;
    }
    printf("%d", s);

    A. n < 99
    B. n > 99
    C. n < 100
    D. n <= 100

  58. (2020, jesenski rok, zadatak  27)  Zadan je dio programa.

    Python C/C++
    a = 27
    b = 15
    s = 0
    while a % b > 0:
       s = s + a
       a = a + 1
    int a, b, s;
    a = 27;
    b = 15;
    s = 0;
    while (a % b > 0)
    {
       s = s + a;
       a = a + 1;
    }

    A. Kolika je vrijednost varijable a na kraju izvođenja zadanoga dijela programa?
    B. Kolika je vrijednost varijable s na kraju izvođenja zadanoga dijela programa?

  59. (2020, jesenski rok, zadatak  29)  Zadan je dio programa.

    Python C/C++
    x = 27
    z = 1
    if x % 9 == 0 and x // 9 == 3:
       while x > 0:
          d = z * 10 + x % 10
          z = x % 10
          x = x // 10
    else:
       while x > 10:
          z = x // 3 + x % 4
          d = x % 5
          x = x // 6
    int x, z, d;
    x = 27;
    z = 1;
    if (x % 9 == 0 && a / 9 == 3)
    {
       while (x > 0)
       {
          d = z * 10 + x % 10;
          z = x % 10;
          x = x / 10;
       }
    }
    else
    {
       while (x > 10)
       {
          z = x / 3 + x % 4;
          d = x % 5;
          x = x / 6;
       }
    }

    A. Kolika je vrijednost varijable z na kraju izvođenja zadanoga dijela programa?
    B. Kolika je vrijednost varijable d na kraju izvođenja zadanoga dijela programa?

  60. (2021, ljetni rok, zadatak  17)  Što od navedenoga treba upisati na praznu crtu kako bi sljedeći program ispisao znamenku prirodnoga broja n koja je prva s lijeve strane?

    Python C/C++
    while n>9:
       ______________
    print(n )
    while (n>9)
        _____________;
    printf("%d", n);

    Ponuđena rješenja:

    Python C/C++
    A. n = n // 10  
    B. n = n % 10
    C. n = n * 10
    D. n = n – 1
    A. n = n / 10  
    B. n = n % 10
    C. n = n * 10
    D. n = n – 1

  61. (2021, ljetni rok, zadatak  28)  Zadan je dio programa.

    Python C/C++
    n = int(input())
    while n>=100:
       n = n – 100
    print(n )
    scanf("%d", &n);
    while (n>=100)
       n = n – 100;
    printf("%d", n);

    A. Koliku će vrijednost ispisati zadani dio programa ako se upiše broj 456?
    B. Koliku će vrijednost ispisati zadani dio programa ako se upiše broj 17839?

  62. (2021, ljetni rok, zadatak  29)  Zadan je dio programa.

    Python C/C++
    n = int(input())
    k = 0
    while n > 0:
       if n % 2 != 0:
          k = k + 1
       n = n // 10
    print(k)
    scanf("%d", &n);
    k = 0;
    while (n>0){
       if (n % 2 != 0)
          k = k + 1;
       n = n / 10;
    }
    printf("%d", n);

    A. Što će ispisati zadani dio programa ako se za n učita vrijednost 41?
    B. Što će ispisati zadani dio programa ako se za n učita vrijednost 25387?

  63. (2021, jesenski rok, zadatak 17)  Što od navedenoga treba upisati na praznu crtu kako bi zadani program ispisao prvu znamenku s lijeve strane prirodnoga broja n?

    Python C/C++
    while ______________ :
       n = n // 10
    print(n )
    while (______________)
       n = n / 10;
    printf("%d", n);

    A. n > 0
    B. n > 9
    C. n > 10
    D. n <> 0

  64. (2021, jesenski rok, zadatak 28)  Zadan je dio programa.

    Python C/C++
    n = int(input())
    while n>10:
       n = n – 10
    print(n )
    scanf("%d", &n);
    while (n>10)
       n = n – 10;
    printf("%d", n);

    A. Koliku će vrijednost ispisati zadani dio programa ako se upiše broj 56?
    B. Koliku će vrijednost ispisati zadani dio programa ako se upiše broj 120?



3.2. Rješenja

  1. 5
  2. D
  3. 73
  4. B
  5. 415267
  6. C
  7. 5
  8. 297
  9. C
  10. 160, 167
  11. A
  12. D
  13. 19283
  14. C
  15. C
  16. 18
  17. 64
  18. 38
  19. 88
  20. 1
  21. B
  22. C
  23. 1811
  24. C
  25. A
  26. 38
  27. A
  28. 2
  29. 50
  30. B
  31. D
  32. 8
  33. 10
  34. B
  35. A
  36. 15
  37. A. 60
    B . 80
  38. A
  39. A
  40. 19
  41. A. 64
    B . 72
  42. A
  43. A. 7
    B. 28
  44. A. 4
    B. -2
  45. A
  46. A. 108
    B. 100
  47. A. 4
    B. -6
  48. A
  49. B
  50. A: 36   
    B: 7
  51. A: 1
    B: 3
  52. A
  53. C
  54. A: 5
    B: 750
  55. A: 36
    B: 7
  56. B
  57. C
  58. A: 30
    B: 84
  59. A: 2
    B: 72
  60. A
  61. A. 56
    B . 39
  62. A. 1
    B. 3
  63. B
  64. A. 6
    B. 10