ОО2/Јун 2023

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Junski rok 2023. godine održan je 6. juna u dve grupe. Prva grupa(SI) u 11:30h i druga grupa(RTI + ostali odseci) u 12:00h.

  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

G2

1. zadatak

Koja od sledećih tvrđenja su tačna za programski jezik Java?

  1. Prilikom prevođenja izvornog koda na jeziku Java, moguće je navesti opciju za dobijanje rezultata prevođenja koji predstavlja mašinski kod računara domaćina.
  2. Rezultat prevođenja izvornog kod na jeziku Java iz jedne datoteke tipa .java uvek se smesta u tačno jednu .class datoteku.
  3. Java virtuelna masina (JVM) prevodi izvorni kod na jeziku Java u bajtkod.
  4. Prevodilac jezika Java prevodi izvorni kod na jeziku Java u bajtkod.
  5. Just in Time (JIT) prevodilac prevodi izvorni kod na jeziku Java u bajtkod.

2. zadatak

Šta ispisuje sledeći program na programskom jeziku Java? Upisati NP ako se program ne prevodi.

public class Test {
    {
        System.out.println(1);
    }
    public Test() {
        System.out.println(2);
    }
    {
        System.out.println(3);
    }
    static {
        System.out.println(4);
    }
    public static void main(String[] args) {
        new Test();
    }
}

Odgovor: 4132

Objašnjenje: Izvršavaju se prvo statički blokovi priliko popunjavanja klase u memoriju, zatim nestatički blokovi pa tek onda konstruktor klase.

3. zadatak

Koja od sledećih tvrđenja su tačna za programski jezik Java?

  1. Jedan fajl sa izvornim kodom na programskom jeziku Java moze da sadrži više definicija tipova podataka.
  2. Dozvoljeno je pristupiti paketskom članu definisanom u paketu p.sp iz koda nekog tipa podatka definisanog u paketu p.
  3. Po konvenciji imenovanja paketa, za imenovanie korisnički definisanih paketa koristi se obrnuti redosled imena Internet domena.
  4. Dozvoljeno je da se naredba import test.*; pojavi u jednom fajlu vise puta.
  5. Tipovi deklarisani u izvornoj datoteci bez deklaracije paketa neće biti smesteni ni u jedan paket.

4. zadatak

Šta ispisuje sledeći program na programskom jeziku Java? Upisati NP ako se program ne prevodi.

class B {
    public B() {
        f();
    }
    void f(){
        System.out.println(1);
    }
}

class D extends B {
    public D() {
        f();
    }
    public void f(){
        System.out.println(2);
    }
}
public class Test {
    public static void main(String[] args) {
        new D();
    }
}

Odgovor: 22

Objašnjenje: Kada override-ujemo metode smemo proširiti njihov pristup.


5. zadatak

Koja od sledećih tvrđenja su tačna za programski jezik Java?

  1. Klasa moze da proširuje više osnovnih klasa u jednom koraku izvođenja.
  2. Primer višestrukog nasleđivanja predstavlja klasa koja proširuje drugu klasu i implementira više interfejsa.
  3. Supertipove neke klase čine i interfejsi koje ta klasa implementira.
  4. Interfejsi omogućavaju višestruko nasleđivanje u programskom jeziku Java.
  5. Programski jezik Java podržava proširivanje (izvođenje) klasa i interfejsa u više koraka.

6. zadatak

7. zadatak

Koja od sledećih tvrđenja su tačna za programski jezik Java?

  1. Poziv metoda join() bez argumenata će blokirati niz pozivaoca dok se nit za koju je metod pozvan ne završi.
  2. Metod join() je definisan klasi Thread.
  3. Poziv metoda notify() za objekat niti iz koje je pozvan metod join() će blokirati nit pozvanog objekta.
  4. Metod join() baca provereni izuzetak InterruptedException.
  5. Metod join() mora da se pozove iz sinhronizovanog koda inače će biti bačen izuzetak IllegalMonitorStateException.

8. zadatak

9. zadatak

Za svaki od sledećih vrsta .NET sklopova navesti tip (ekstenziju fajla).

  1. Biblioteka za dinamičko povezivanje .dll [1]
  2. Modul za statičko povezivanje .netmodule

10. задатак

Šta ispisuje sledeći program na programskom jeziku C#? (Za program koji se ne prevodi uneti NP. Za program sa greškom u izvršavanju uneti X)

class Program {
    void M1(ref int i) { System.Console.Write(1); }
    void M2(ref int i) { System.Console.Write(2); }
    void M3(ref int i) { System.Console.Write(3); }

    public delegate void Delegat();

    public static void Main(string[] args) {
        Delegat d1 = new Delegat(M1);
        Delegat d2 = new Delegat(M2);
        Delegat d3 = new Delegat(M3);
        Delegat d = d1 + d2 + d3;
        d += d1 - d2 + d3;
        d();
    }
}

Одговор: NP

Napomene

  1. Bilo je ponuđeno više odgovora.