Naredbe ponavljanja

3. Ponavljanje koje ovisi o uvjetu

3.3. Zadatci s provedenih ispita

  1. (2010, ljetni rok, zadatak 26) Što će ispisati sljedeći dio programa?
    t := 0;
    n := 286;
    dok je n > 0 činiti
    {
        ako je n mod 2 > 0 onda
            t := t + 1;
        n = n div 2;
    }
    izlaz t;

  2. (2010, jesenski rok, zadatak 24) Što će ispisati sljedeći algoritam za n = 345?
    m := 0;
    dok je n <> 0 činiti
    {
        m := m * 10;
        k := n mod 10;
        m := m + k;
        n := n div 10
    }
    izlaz m;

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

  3. (2010, jesenski rok, zadatak 26) Što će ispisati sljedeći dio programa?
    x := 1001001;
    p := 1;
    d := 0;
    dok je x > 0 činiti
    {
        d := d + x mod 10 * p;
        x := x div 10;
        p := p * 2;
    }
    izlaz d;

  4. (2011, ljetni rok, zadatak 23) Koju će vrijednost imati varijabla t nakon izvođenja sljedećega dijela programa?
    x := 100;
    y := 200;
    t := 0;
    za i := x do y činiti
    {
        a := 0;
        b := i;
        dok je b > 0 činiti
        {
            a := a + (b MOD 10) * (b MOD 10) * (b MOD 10);
            b := b DIV 10;
        }
        ako je a = i onda
            t := t + 1;
     }

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

  5. (2011, ljetni rok, zadatak 26) Što će ispisati sljedeći dio programa?
    n := 415263;
    t := n;
    dok je n > 0 činiti
    {
        ako je (n MOD 10) >= 3 onda
             t := t + 1;
        n := n DIV 10;
    }
    izlaz (t);

  6. (2011, jesenski rok, zadatak 23) Koju će vrijednost imati varijabla t nakon izvođenja sljedećega dijela programa?
    x := 100;
    y := 200;
    t := 0;
    za
    i := x do y činiti
    {
        a := true;
        b := i;
        c := 9;
        dok je b > 0 činiti
       {
            ako je b MOD 10 > c onda
                a := false;
            c := b MOD 10;
            b := b DIV 10;
       }
       ako je a = true onda
           t := t + 1;
    }
    A. 0
    B. 28
    C. 45
    D. 98

  7. (2011, jesenski rok, zadatak 26) Što će ispisati sljedeći dio programa?
    n := 415263;
    dok je n > 0 činiti
    {
        t := n;
        ako je (n MOD 10) >= 3 onda
            t := t + 1;
        n := n DIV 10;
    }
    izlaz (t);

  8. (2012, ljetni rok, zadatak 32) Što će ispisati sljedeći dio programa?
    n := 290;
    m := 300;
    za i := n do m činiti
    {
        t := i;
        k := t mod 10;
        dok je t >= 10 činiti
            t := t div 10;
        ako je t + k = 9 onda
        izlaz (i);
    }

  9. (2012, jesenski rok, zadatak 18) Koji će brojevi biti ispisani nakon izvođenja sljedećeg programskog odsječka?
    m := 5;
    dok je m<10 činiti
    {
        m := m - 2;
        izlaz(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?
    n := 160;
    m := 170;
    za i := n do m činiti
    {
        t := i;
        k := 0;
        dok je t > 0 činiti
        {
            k := k + t mod 10;
            t := t div 10;
        }
        ako je k mod 7 = 0 onda
            izlaz (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. k := x;
        dok je x < 10 * k činiti
        x := x + 1;

    B. k := x;
        dok je x < 10 * x činiti
        x := x + 1;

    C. k := x;
        dok je x < 10 * k činiti
        x := k + 1;

    D. k := x;
        dok je x < 10 * x činiti
        k := k + 1;

  12. (2013, ljetni rok, zadatak 20) Koji će od navedenih algoritama ispisati najveću znamenku broja n?
    A.
    ulaz(n );
    max := n;
    dok je n > 0 činiti
    {
        ako je n mod 10 > max onda
            max := n mod 10;
        n := n div 10;
    }
    izlaz(max);

    B.
    ulaz(n );
    max := 0;
    dok je n > 0 činiti
    {
        z := n div 10;
        ako je z > max onda
            max := z;
        n := n div 10;
    }
    izlaz(max);
    C.
    ulaz(n );
    max := n;
    dok je n > 0 činiti
    {
        z := n div 10
        ako je z div 10 > max onda
            max := z;
        n := n mod 10;
    }
    izlaz(max);

    D.
    ulaz(n );
    max := 0;
    dok je n > 0 činiti
    {
        ako je n mod 10 > max onda
            max := n mod 10;
        n := n div 10;
    }
    izlaz(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?
    ulaz(n );
    t := 0;
    za i := 1 do n činiti
    {
        ulaz(k);
        p := k;
        r := 0;
        dok je k > 0 činiti
        {
            k := k div 10;
            r := r + 1;
        }
        ako je r > t onda
        {
            izlaz(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. x := 2;
        dok je x > 1024 činiti
        x := x + 4;

    B. x := 2;
        dok je x <= 1024 činiti
        x := x + 4;

    C. x := 2;
        dok je x <= 32 * 32 činiti
        x := x * 4;

    D. x := 2;
        dok je x > 32 * 32 činiti
        x := x * 4;

  15. (2013, jesenski rok, zadatak 20) Koji će od navedenih algoritama računati dekadski zapis binarnoga broja b?
    A.
    ulaz(b);
    d := 0;
    p := 1;
    dok je b > 0 činiti
    {
        d := d * p + b mod 10;
        b := b div 10;
        p := p * 2;
    }
    izlaz(d);

    B.
    ulaz(b);
    d := 0;
    p := 1;
    dok je b > 0 činiti
    {
        d := d + (b mod 2) * p;
        b := b div 2;
        p := p * 10;
    }
    izlaz(d);

    C.
    ulaz(b);
    d := 0;
    p := 1;
    dok je b > 0 činiti
    {
        d := d + (b mod 10) * p;
        b := b div 10;
        p := p * 2;
    }
    izlaz(d);

    D.
    ulaz(b);
    d := 0;
    p := 1;
    dok je b > 0 činiti
    {
        d := d * p + b mod 10;
        b := b div 2;
        p := p * 2;
    }
    izlaz(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?
    ulaz (n );
    t := 0;
    za i := 1 do n činiti
    {
        ulaz(k);
        r := 0;
        dok je k > 0 činiti
        {
            r := r + k mod 10;
            k := k div 10;
        }
        ako je r > t onda
        {
            izlaz (r);
        t := r;
        }
    }

  17. (2014, ljetni rok, zadatak 32) Što će ispisati sljedeći dio programa?
    a := 10;
    t := 0;
    dok je a < 100 činiti
    {
        ako je sqrt(a) = round(sqrt(a)) onda
        t := a;
        a := a + 2;
    }
    izlaz (t)

  18. (2014, ljetni rok, zadatak 33) Što će ispisati sljedeći dio programa?
    t := 0;
    za i := 90 do 105 činiti
    {
        k := i;
        dok je k > 0 činiti
        {
            t := t + 1;
            k := k div 10;
        }
    }
    izlaz (t);

  19. (2014, jesenski rok, zadatak 32) Što će ispisati sljedeći dio programa?
    a := 10;
    t := 0;
    dok je a < 100 činiti
    {
        ako je a div 10 <= a mod 10 onda
            t := a;
        a := a + 2;
    }
    izlaz (t);

  20. (2014, jesenski rok, zadatak 33) Što će ispisati sljedeći dio programa ako je a = 7835?
    t := 0;
    dok je a > 0 činiti
    {
        k := a;
        a := a div 10;
        s := 0;
        dok je k > 0 činiti
       {
            s := s + k mod 10;
            k := k div 10;
       }
       ako je s mod 2 = 0 onda
           t := t + 1;
    }
    izlaz (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. x := 100;
        dok je x <= 20 činiti
            x := x - 3;

    B. x := 100;
        dok je x >= 20 činiti
            x := x - 3;

    C. x := 20;
        dok je x <= 100 činiti
            x := x - 3;

    D. x := 20;
        dok je x > 100 činiti
            x := x - 3;

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

    A.
    ulaz ( n);
    b := 0;
    p := 1;
    dok je n > 0 činiti
    {
        b := b + (n mod 10) * p;
        n := n div 2;
        p := p * 2;
    }
    izlaz (b);

    B.
    ulaz (n );
    b := 0;
    p := 1;
    dok je n > 0 činiti
    {
        b := b * p + n mod 2;
        n := n div 2;
        p := p * 2;
    }
    izlaz (b);

    C.
    ulaz (n );
    b := 0;
    p := 1;
    dok je n > 0 činiti
    {
        b := b + (n mod 2) * p;
        n := n div 2;
        p := p * 10;
    }
    izlaz (b);

    D.
    ulaz (n );
    b := 1;
    p := 1;
    dok je n > 0 činiti
    {
        b := b * 10 + n mod 2;
        n := n div 2;
        p := p * 10;
    }
    izlaz (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?

    ulaz
    (n );
    t := 0;
    za i := 1 do n činiti
    {
        ulaz(k);
        p := k;
        r := 1;
        dok je k > 0 činiti
        {
            r := k mod 10 * r;
            k := k div 10;
        }
        ako je r > t onda
        {
            izlaz (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. k := x;
        dok je x < 8 * k činiti
            x := x + 2;

    B. k := x;
        dok je x < 8 * x činiti
            x := x * 2;
    C. k := x;
        dok je x < 8 * k činiti
            x := x * 2;
    D. k := x;
        dok je x < 8 * x činiti
            k := k + 2;

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

    A.
    ulaz ( n);
    min := n mod 10;
    dok je n > 0 činiti
    {
        ako je n mod 10 < min onda
            min := n mod 10;
        n := n div 10;
    }
    izlaz (min);

    B.
    ulaz ( n);
    min := 0;
    dok je n > 0 činiti
    {
        z := n div 10;
        ako je z < min onda
            min := z;
        n := n div 10;
    }
    izlaz (min);

    C.
    ulaz ( n);
    min := n;
    dok je n > 0 činiti
    {
        z := n div 10;
        ako je z div 10 < min onda
            min := z;
        n := n mod 10;
    }
    izlaz (min);

    D.
    ulaz ( n);
    min := 0;
    dok je n > 0 činiti
    {
        ako je n mod 10 < min onda
            min := n mod 10;
        n := n div 10;
    }
    izlaz (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?

    ulaz ( n);
    t := 0;
    za i := 1 do n činiti
    {
        ulaz (k);
        p := k;
        r := 0;
        dok je k > 0 činiti
        {
             r := r + k mod 10;
             k := k div 10;
        }
        ako je r > t onda
        {
            izlaz (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?

    ulaz ( n);
    s := 0;
    dok je n > 0 činiti
    {
        __________________
        n := n div 10;
    }

    A. s := s + 1;
    B. s := s + n;
    C. s := s + n mod 10;
    D. s := s + n div 10;

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

    ulaz ( n);
    k := 0;
    dok je n > 0 činiti
    {
        ako je n mod 2 = 0 onda
        k := k + 1;
        n := n div 10;
    }
    izlaz (k);

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

    t := 0;
    za i := 200 do 300 činiti
    {
        n := i;
        k := n mod 10;
        dok je n > 9 činiti
            n := n div 10;
        ako je (k + n) mod 2 = 0 onda
            t := t + 1;
    }
    izlaz ( t);