ОО2/К1 2024 — разлика између измена
м (→9. zadatak) |
м (KockaAdmiralac преместио је страницу OO2/K1 2024 на ОО2/К1 2024 без остављања преусмерења: Ćirilica) |
(нема разлике)
|
Верзија на датум 28. април 2024. у 13:05
K1 2024. godine održan je 22. marta i trajao je 20min.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
Šta je sve tačno za programski jezik Java?
- Interpretiranje bajtokoda je slabijih performansi od izvršavanja mašinskog koda.
- Java virtuelna mašina predstavlja interpreter za bajtkod.
- Prevođenjem izvornog koda dobije se interpretativni bajtkod.
- Implementacija Javine virtuelne mašine je nezavisna od platforme.
- Bajtkod zavisi od platforme na kojoj se vrši prevođenje izvornog koda.
2. zadatak
Koje od navedenih implicitnih konverzija su dozvoljene u programskom jeziku Java?
- Konverzija podataka tipa byte u tip int
- Konverzija podataka tipa int u tip long
- Konverzija podataka tipa int u tip short
- Konverzija podataka tipa float u tip double
- Konverzija podataka tipa double u tip float
3. zadatak
Šta ispisuje sledeći program na programskom jeziku Java?
public class Main {
private static void f(Object a, Integer b, int c) {
a = 0;
b = b + 1;
c = c - 1;
}
public static void main(String[] args) {
Integer a = 1, b = 1, c = 1;
f(a, b, c);
System.out.println(a + "," + b + "," + c);
}
}
Odgovor: 1,1,1
Objašnjenje: U Javi se argumenti, uključujući reference prenose po vrednosti. Tako da su u metodi f kopije referenci na a i b dobile nove vrednosti, ali ne i same reference a i b
4. zadatak
Šta sve mogu da sadrže klase na programskom jeziku Java?
- Deskruktore
- Preklopljene operatorske funkcije
- Definicije interfejsa
- Inicijalizacione blokove
- Definicije klasnih tipova
5. zadatak
Šta sve može da stoji umesto ### da bi se sledeći kod uspešno pisan na jeziku Java uspešno preveo?
class B {
B b1;
static B b2;
public static void s() {}
public void m() {}
public static void test() {
###
}
}
- Object o = b2
- m()
- B.s()
- Object o = b1
- b1.m()
6. zadatak
Napisati naredbu na jeziku Java kojom se uvoze svi tipovi iz paketa paket Odgovor: import paket.*;
7. zadatak
Koje od sledećih tvrdnji su tačne za pakete na programskom jeziku Java?
- Klase u paketu mogu da imaju samo privatno ili javno pravo pristupa.
- Tipovi deklarisani u izvornoj datoteci bez deklaracije paketa biće smešteni u bezimeni paket.
- Deklaracija paketa package a.b; može da postoji čak i ako ni u jednom fajlu sa izvornim kodom programa ne postoji deklaracija paketa package a;.
- Paket java.util se uvozi implicitno.
- Podrazumevano pravo pristupa metodima je paketsko, a poljima klasa privatno.
8. zadatak
Šta ispisuje sledeći program na programskom jeziku Java?Upisati NP ukoliko se program ne prevodi.
package test;
class B {
public void m(D x) {
System.out.print(1);
}
}
class D extends B {
public void m(D x) {
System.out.print(2);
}
}
public class Test {
public static void main(String[] args) {
B b = new B();
b.m(new D());
b = new D();
b.m(new D());
}
}
Odgovor: 12
Objašnjenje: Kod poziva metoda se gleda tip objekta, ne tip reference
9. zadatak
Šta ispisuje sledeći program na programskom jeziku Java?Upisati NP ukoliko se program ne prevodi.
package p;
public class A {
protected int pi;
}
package q;
import p.A;
public class B extends A {
public void m() {
###
}
}
package q;
public class C extends A {}
- B b = new B(); b.pi = 1;
- pi = 1
- super.pi = 1
- C c = new C(); c.pi = 1;
- A a = new A(); a.pi = 1;
Objašnjenje: Prava pristupa za reference na objekte koji nisu this je ista za sve klase
5. zadatak
Da bi klasa X bezuslovno podržala kloniranje i obezbedila da i izvedene klase iz nje moraju da podrže kloniranje, pored toga što treba da implementira interfejs Cloneable, potrebno je i da nadjača metod clone na način:
- protected X clone () {...}
- public X clone() {...}
- protected X clone () throws CloneNotSupportedException {...}
- public X clone () throws CloneNotSupportedException {...}