ОО2/Јун 2023

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

Јунски рок 2023. године одржан је 6. јуна у две групе. Прва група(СИ) у 11:30х и друга група(РТИ + остали одсеци) у 12:00х.

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

Г2

1. задатак

Која од следећих тврђења су тачна за програмски језик Јава?

  1. Приликом превођења изворног кода на језику Јава, могуће је навести опцију за добијање резултата превођења који представља машински код рачунара домаћина.
  2. Резултат превођења изворног код на језику Јава из једне датотеке типа .јава увек се сместа у тачно једну .цласс датотеку.
  3. Јава виртуелна масина (ЈВМ) преводи изворни код на језику Јава у бајткод.
  4. Преводилац језика Јава преводи изворни код на језику Јава у бајткод.
  5. Јуст ин Тиме (ЈИТ) преводилац преводи изворни код на језику Јава у бајткод.

2. задатак

Шта исписује следећи програм на програмском језику Јава? Уписати НП ако се програм не преводи.

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();
    }
}

Одговор: 4132

Објашњење: Извршавају се прво статички блокови прилико попуњавања класе у меморију, затим нестатички блокови па тек онда конструктор класе.

3. задатак

Која од следећих тврђења су тачна за програмски језик Јава?

  1. Један фајл са изворним кодом на програмском језику Јава мозе да садржи више дефиниција типова података.
  2. Дозвољено је приступити пакетском члану дефинисаном у пакету п.сп из кода неког типа податка дефинисаног у пакету п.
  3. По конвенцији именовања пакета, за именование кориснички дефинисаних пакета користи се обрнути редослед имена Интернет домена.
  4. Дозвољено је да се наредба импорт тест.*; појави у једном фајлу висе пута.
  5. Типови декларисани у изворној датотеци без декларације пакета неће бити сместени ни у један пакет.

4. задатак

Шта исписује следећи програм на програмском језику Јава? Уписати НП ако се програм не преводи.

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();
    }
}

Одговор: 22

Објашњење: Када оверриде-ујемо методе смемо проширити њихов приступ.


5. задатак

Која од следећих тврђења су тачна за програмски језик Јава?

  1. Класа мозе да проширује више основних класа у једном кораку извођења.
  2. Пример вишеструког наслеђивања представља класа која проширује другу класу и имплементира више интерфејса.
  3. Супертипове неке класе чине и интерфејси које та класа имплементира.
  4. Интерфејси омогућавају вишеструко наслеђивање у програмском језику Јава.
  5. Програмски језик Јава подржава проширивање (извођење) класа и интерфејса у више корака.

6. задатак

7. задатак

Која од следећих тврђења су тачна за програмски језик Јава?

  1. Позив метода join() без аргумената ће блокирати низ позиваоца док се нит за коју је метод позван не заврши.
  2. Метод join() је дефинисан класи Тхреад.
  3. Позив метода notify() за објекат нити из које је позван метод join() ће блокирати нит позваног објекта.
  4. Метод join() баца проверени изузетак ИнтерруптедЕxцептион.
  5. Метод join() мора да се позове из синхронизованог кода иначе ће бити бачен изузетак ИллегалМониторСтатеЕxцептион.

8. задатак

9. задатак

За сваки од следећих врста .НЕТ склопова навести тип (екстензију фајла).

  1. Библиотека за динамичко повезивање .длл [1]
  2. Модул за статичко повезивање .нетмодуле

10. задатак

Шта исписује следећи програм на програмском језику C#? (За програм који се не преводи унети НП. За програм са грешком у извршавању унети 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();
    }
}

Одговор: НП

Напомене

  1. Било је понуђено више одговора.