ОО2/Пробни тестови 2021 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Probni test 2021)
 
м (Rešenja za 9.5, ako je neko imao sve nek ispravi)
Ред 12: Ред 12:
# Interpretiranje bajtkoda je po pravilu efikasnije od izvršenja programa na mašinskom jeziku.
# Interpretiranje bajtkoda je po pravilu efikasnije od izvršenja programa na mašinskom jeziku.
# JIT (''Just In Time'') prevodilac prevodi izvorni kod programa u bajtkod.
# JIT (''Just In Time'') prevodilac prevodi izvorni kod programa u bajtkod.
# lmplementacija virtuelne mašine zavisi od konkretne platforme, ali interfejs prema bajtkodu ostaje isti.
# <span class="solution">Implementacija virtuelne mašine zavisi od konkretne platforme, ali interfejs prema bajtkodu ostaje isti.</span>
# Izvorni kod programa se interpretira od strane virtuelne mašine.
# Izvorni kod programa se interpretira od strane virtuelne mašine.
# Izvorni kod programa se naziva bajtkod.
# Izvorni kod programa se naziva bajtkod.
Ред 29: Ред 29:
}
}
</syntaxhighlight>
</syntaxhighlight>
Izaberite jedan odgovor:
<div class="abc-list">
<div class="abc-list">
# <code>false false false</code>
# <code>false<br />false<br />false</code>
# <code>false false true</code>
# <code>false<br />false<br />true</code>
# <code>true false false</code>
# <code>true<br />false<br />false</code>
# <code>true true false</code>
# <span class="solution"><code>true<br />true<br />false</code></span>
# <code>true true true</code>
# <code>true<br />true<br />true</code>
</div>
</div>


Ред 59: Ред 58:
</syntaxhighlight>
</syntaxhighlight>
Odabrati tačan odgovor
Odabrati tačan odgovor
Izaberite jedan odgovor:
<div class="abc-list">
<div class="abc-list">
# Kod je sintaksno neispravan.
# Kod je sintaksno neispravan.
# Program ispisuje vrednosti <code>0 0</code>.
# Program ispisuje vrednosti <code>0 0</code>.
# Program ispisuje vrednosti <code>0 1</code>.
# Program ispisuje vrednosti <code>0 1</code>.
# Program ispisuje vrednosti <code>1 0</code>.
# <span class="solution">Program ispisuje vrednosti <code>1 0</code>.</span>
# Program ispisuje vrednosti <code>1 1</code>.
# Program ispisuje vrednosti <code>1 1</code>.
</div>
</div>
Ред 72: Ред 70:
<div class="abc-list">
<div class="abc-list">
# Postoje tipovi koji mogu pripadati većem broju paketa.
# Postoje tipovi koji mogu pripadati većem broju paketa.
# Svaka klasa mora biti deo nekog paketa.
# <span class="solution">Svaka klasa mora biti deo nekog paketa.</span>
# Uvoženjem paketa '''ne''' uvoze se i svi potpaketi tog paketa.
# <span class="solution">Uvoženjem paketa '''ne''' uvoze se i svi potpaketi tog paketa.</span>
# Sve klase koje se nalaze u istoj datoteci su deo istog paketa.
# <span class="solution">Sve klase koje se nalaze u istoj datoteci su deo istog paketa.</span>
# Paket <code>java.lang</code> se automatski uvozi.
# <span class="solution">Paket <code>java.lang</code> se automatski uvozi.</span>
# U datoteci može postojati više naredbi: <code>package</code> ''naziv_paketa'';
# U datoteci može postojati više naredbi: <code>package</code> ''naziv_paketa'';
</div>
</div>
Ред 83: Ред 81:
<div class="abc-list">
<div class="abc-list">
# Izvršavaju se nakon izvršavanja konstruktora svoje klase.
# Izvršavaju se nakon izvršavanja konstruktora svoje klase.
# Mogu bacati izuzetke.
# <span class="solution">Mogu bacati izuzetke.</span>
# Može ih biti više u jednoj klasi.
# <span class="solution">Može ih biti više u jednoj klasi.</span>
# Izvršavaju se nakon punjenja klase u memoriju, a pre stvaranja prvog objekta date klase.
# Izvršavaju se nakon punjenja klase u memoriju, a pre stvaranja prvog objekta date klase.
# Izvršavaju se nakon izvršavanja konstruktora natklase.
# <span class="solution">Izvršavaju se nakon izvršavanja konstruktora natklase.</span>
</div>
</div>


Ред 116: Ред 114:
}
}
</syntaxhighlight>
</syntaxhighlight>
Odgovor: <span class="spoiler"></span>
Odgovor: <span class="spoiler">ab</span>


=== 7. zadatak ===
=== 7. zadatak ===
Modifikator abstract je moguće staviti ispred definicije:
Modifikator abstract je moguće staviti ispred definicije:
<div class="abc-list">
<div class="abc-list">
# metoda
# <span class="solution">metoda</span>
# klase
# <span class="solution">klase</span>
# interfejsa
# <span class="solution">interfejsa</span>
# nabrajanja
# nabrajanja
# polja klase
# polja klase
Ред 135: Ред 133:
# Parametar mu je referenca na objekat klase koja mora biti izvedena iz klase Exception.
# Parametar mu je referenca na objekat klase koja mora biti izvedena iz klase Exception.
# Može se koristiti bez parametra.
# Može se koristiti bez parametra.
# Predstavlja ključnu reč jezika Java.
# <span class="solution">Predstavlja ključnu reč jezika Java.</span>
</div>
</div>


Ред 154: Ред 152:
<div class="abc-list">
<div class="abc-list">
# <code>int i=1,j=2; I5 i5=(i+j)->i*j; </code>
# <code>int i=1,j=2; I5 i5=(i+j)->i*j; </code>
# <code>I3 i3=k->{double p=1; for (int i=1; i<=k; p*=i++); return p;};</code>
# <span class="solution"><code>I3 i3=k->{double p=1; for (int i=1; i<=k; p*=i++); return p;};</code></span>
# <code>I2 i2=(x,y,z)->x+y-z;</code>
# <span class="solution"><code>I2 i2=(x,y,z)->x+y-z;</code></span>
# <code>I4 i4=(a,b)->{a*b}; </code>
# <code>I4 i4=(a,b)->{a*b}; </code>
# <code>I1 i1=n->n+5;</code>
# <span class="solution"><code>I1 i1=n->n+5;</code></span>
</div>
</div>


Ред 164: Ред 162:
<div class="abc-list">
<div class="abc-list">
# Ako je pre ulaska u <code>wait()</code> pozvan metod <code>notifyAll()</code> za isti objekat, nit koja poziva <code>wait()</code> neće biti blokirana.
# Ako je pre ulaska u <code>wait()</code> pozvan metod <code>notifyAll()</code> za isti objekat, nit koja poziva <code>wait()</code> neće biti blokirana.
# Po ulasku u <code>wait()</code>, nit se blokira (suspenduje) i oslobađa se brava objekta.
# <span class="solution">Po ulasku u <code>wait()</code>, nit se blokira (suspenduje) i oslobađa se brava objekta.</span>
# Metodi <code>wait()</code>, <code>notify()</code> i <code>notifyAll()</code> moraju da se pozivaju uz sinhronizovanih delova koda.
# <span class="solution">Metodi <code>wait()</code>, <code>notify()</code> i <code>notifyAll()</code> moraju da se pozivaju iz sinhronizovanih delova koda.</span>
# Metod <code>notify()</code> budi samo jednu nit i to uvek onu koja je najduže čekala.
# Metod <code>notify()</code> budi samo jednu nit i to uvek onu koja je najduže čekala.
# <code>wait()</code> je metod klase <code>Thread</code>.
# <code>wait()</code> je metod klase <code>Thread</code>.
</div>
</div>

Верзија на датум 17. април 2021. у 17:33

  • Za pitanja sa više odgovora, tačni odgovori su podebljani i uokvireni.
  • Za pitanja za koje se odgovori unose, tačni odgovori su podvučeni i sakriveni: ovako.
  • Pritisnite na sledeće dugme kako biste ih sakrili ili otkrili:

Kolokvijum - samotestiranje

Na svakom pitanju je bilo ili moguće izabrati jedno ili više rešenja ili uneti odgovor u polje.

1. zadatak

Koje tvrdnje za jezik Java su tačne?

  1. Interpretiranje bajtkoda je po pravilu efikasnije od izvršenja programa na mašinskom jeziku.
  2. JIT (Just In Time) prevodilac prevodi izvorni kod programa u bajtkod.
  3. Implementacija virtuelne mašine zavisi od konkretne platforme, ali interfejs prema bajtkodu ostaje isti.
  4. Izvorni kod programa se interpretira od strane virtuelne mašine.
  5. Izvorni kod programa se naziva bajtkod.

2. zadatak

Šta ispisuje sledeći program?

public class A {
     public static void main(String[] args) {
          String str1 = "abc", str2 = "abc", str3 = "ab" + "c", str4 = new String("abc");
          System.out.println(str1==str2);
          System.out.println(str1==str3);
          System.out.println(str1==str4);
     }
}
  1. false
    false
    false
  2. false
    false
    true
  3. true
    false
    false
  4. true
    true
    false
  5. true
    true
    true

3. zadatak

Dat je sledeći program:

public class Primer{
  int polje;
  static void f(Object o){
    if(o instanceof Primer)
      ((Primer)o).polje = 1;
    else if (o instanceof Integer)
      o = 0;
  }
  public static void main(String[] args){
    Primer p = new Primer();
    Integer i = 0;
    f(p);
    f(i);
    System.out.println(p.polje + " " + i);
  }
}

Odabrati tačan odgovor

  1. Kod je sintaksno neispravan.
  2. Program ispisuje vrednosti 0 0.
  3. Program ispisuje vrednosti 0 1.
  4. Program ispisuje vrednosti 1 0.
  5. Program ispisuje vrednosti 1 1.

4. zadatak

Za pakete na jeziku Java važi:

  1. Postoje tipovi koji mogu pripadati većem broju paketa.
  2. Svaka klasa mora biti deo nekog paketa.
  3. Uvoženjem paketa ne uvoze se i svi potpaketi tog paketa.
  4. Sve klase koje se nalaze u istoj datoteci su deo istog paketa.
  5. Paket java.lang se automatski uvozi.
  6. U datoteci može postojati više naredbi: package naziv_paketa;

5. zadatak

Koje tvrdnje su tačne za nestatičke inicijalizacione blokove?

  1. Izvršavaju se nakon izvršavanja konstruktora svoje klase.
  2. Mogu bacati izuzetke.
  3. Može ih biti više u jednoj klasi.
  4. Izvršavaju se nakon punjenja klase u memoriju, a pre stvaranja prvog objekta date klase.
  5. Izvršavaju se nakon izvršavanja konstruktora natklase.

6. zadatak

Šta ispisuje sledeći program na programskom jeziku Java? Upisati 0 ukoliko se program ne prevodi, odnosno 1 ukoliko postoji greška u vreme izvršavanja programa.

class A {
    private void m() {
        System.out.print("a");
    }
    public A() {
        m();
    }
}

class B extends A {
    public void m() {
        System.out.print("b");
    }
    public B() {
        m();
    }
}

public class Test {  
    public static void main(String args[]) {
        new B();
    }
}

Odgovor: ab

7. zadatak

Modifikator abstract je moguće staviti ispred definicije:

  1. metoda
  2. klase
  3. interfejsa
  4. nabrajanja
  5. polja klase

8. zadatak

Šta važi za throw na programskom jeziku Java?

  1. Može se koristiti u statičkim inicijalizacionim blokovima.
  2. Predstavlja operator jezika Java.
  3. Parametar mu je referenca na objekat klase koja mora biti izvedena iz klase Exception.
  4. Može se koristiti bez parametra.
  5. Predstavlja ključnu reč jezika Java.

9. zadatak

Ukoliko su definisani sledeći interfejsi:

   interface I1 {int m(int i);}

   interface I2 {int m(int i, int k, int j);}

   interface I3 {double m(int n);}

   interface I4 {double m(double x, double y);}

   interface I5 {int m(int i);}

koje od navedenih naredbi su ispravne?

  1. int i=1,j=2; I5 i5=(i+j)->i*j;
  2. I3 i3=k->{double p=1; for (int i=1; i<=k; p*=i++); return p;};
  3. I2 i2=(x,y,z)->x+y-z;
  4. I4 i4=(a,b)->{a*b};
  5. I1 i1=n->n+5;

10. zadatak

Koja tvrđenja su tačna na programskom jeziku Java?

  1. Ako je pre ulaska u wait() pozvan metod notifyAll() za isti objekat, nit koja poziva wait() neće biti blokirana.
  2. Po ulasku u wait(), nit se blokira (suspenduje) i oslobađa se brava objekta.
  3. Metodi wait(), notify() i notifyAll() moraju da se pozivaju iz sinhronizovanih delova koda.
  4. Metod notify() budi samo jednu nit i to uvek onu koja je najduže čekala.
  5. wait() je metod klase Thread.