ОО2/Пробни тестови 2021 — разлика између измена
< ОО2
Пређи на навигацију
Пређи на претрагу
(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. | ||
# | # <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> | ||
<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 | ||
<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 | # <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?
- 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.
- Implementacija virtuelne mašine zavisi od konkretne platforme, ali interfejs prema bajtkodu ostaje isti.
- Izvorni kod programa se interpretira od strane virtuelne mašine.
- 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);
}
}
false
false
falsefalse
false
truetrue
false
falsetrue
true
falsetrue
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
- Kod je sintaksno neispravan.
- Program ispisuje vrednosti
0 0. - Program ispisuje vrednosti
0 1. - Program ispisuje vrednosti
1 0. - Program ispisuje vrednosti
1 1.
4. zadatak
Za pakete na jeziku Java važi:
- Postoje tipovi koji mogu pripadati većem broju paketa.
- Svaka klasa mora biti deo nekog paketa.
- Uvoženjem paketa ne uvoze se i svi potpaketi tog paketa.
- Sve klase koje se nalaze u istoj datoteci su deo istog paketa.
- Paket
java.langse automatski uvozi. - U datoteci može postojati više naredbi:
packagenaziv_paketa;
5. zadatak
Koje tvrdnje su tačne za nestatičke inicijalizacione blokove?
- Izvršavaju se nakon izvršavanja konstruktora svoje klase.
- Mogu bacati izuzetke.
- Može ih biti više u jednoj klasi.
- Izvršavaju se nakon punjenja klase u memoriju, a pre stvaranja prvog objekta date klase.
- 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:
- metoda
- klase
- interfejsa
- nabrajanja
- polja klase
8. zadatak
Šta važi za throw na programskom jeziku Java?
- Može se koristiti u statičkim inicijalizacionim blokovima.
- Predstavlja operator jezika Java.
- Parametar mu je referenca na objekat klase koja mora biti izvedena iz klase Exception.
- Može se koristiti bez parametra.
- 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?
int i=1,j=2; I5 i5=(i+j)->i*j;I3 i3=k->{double p=1; for (int i=1; i<=k; p*=i++); return p;};I2 i2=(x,y,z)->x+y-z;I4 i4=(a,b)->{a*b};I1 i1=n->n+5;
10. zadatak
Koja tvrđenja su tačna na programskom jeziku Java?
- Ako je pre ulaska u
wait()pozvan metodnotifyAll()za isti objekat, nit koja pozivawait()neće biti blokirana. - Po ulasku u
wait(), nit se blokira (suspenduje) i oslobađa se brava objekta. - Metodi
wait(),notify()inotifyAll()moraju da se pozivaju iz sinhronizovanih delova koda. - Metod
notify()budi samo jednu nit i to uvek onu koja je najduže čekala. wait()je metod klaseThread.