ОО2/К 2022 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (Formatiranje i ispravke)
 
(Нису приказане 2 међуизмене другог корисника)
Ред 1: Ред 1:
{{tocright}}
{{tocright}}
'''Колоквијум 2022.''' на РТИ (и осталим ЕР одсецима) одржан је 17. арпила. До области дошли су увод, преглед, класе, пакети, извођење, интерфејси, изузеци и угњеждени типови на програмском језику ''Java''.
'''Колоквијум 2022. године''' на РТИ (и осталим ЕР одсецима) одржан је 17. арпила. Од области дошли су увод, преглед, класе, пакети, извођење, интерфејси, изузеци и угњеждени типови на програмском језику ''Java''.
{{rešenja}}
{{rešenja}}


== 1. задатак ==
== 1. задатак ==
Која од следећих тврђења су тачна?
Која од следећих тврђења су тачна? (JDK = ''Java Development Kit'', JRE = ''Java Runtime Environment'', JVM = ''Java Virtual Machine'')
(JDK = Java Development Kit, JRE = Java Runtime Environment, JVM = Java Virtual Machine)
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# JDK је саставни део JVM
# JDK је саставни део JVM
Ред 20: Ред 19:
     public static void main(String[] args) {
     public static void main(String[] args) {
           int[] niz1 = new int[] {0, 1, 2};
           int[] niz1 = new int[] {0, 1, 2};
           int[] niz2 = new int[ni1.lenght];
           int[] niz2 = new int[niz1.length];
           int i = niz2.lenght;
           int i = niz2.length;
           for(int x : niz1){
           for (int x : niz1) {
               niz2[--i]=x;
               niz2[--i] = x;
           }
           }
           for(int x : niz2){
           for (int x : niz2) {
               System.out.print(x);
               System.out.print(x);
           }
           }
Ред 31: Ред 30:
}
}
</syntaxhighlight>
</syntaxhighlight>
Одговор: <span class="spoiler" data-solution="text">210</span>
'''Одговор:''' <span class="spoiler" data-solution="text">210</span>


== 3. задатак ==
== 3. задатак ==
Које од следећих тврдњи су тачне за појам конструктора на програмском језику Јава?
Које од следећих тврдњи су тачне за појам конструктора на програмском језику Јава?
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# Тело конструктора се извршава пре иницијализације нестатичких поља (атрибута) објеката.
# Тело конструктора се извршава пре иницијализације нестатичких поља (атрибута) објеката.
Ред 41: Ред 39:
# <span class="solution">Аутоматски уграђен (имплицитни) конструктор јавне класе је јаван.</span>
# <span class="solution">Аутоматски уграђен (имплицитни) конструктор јавне класе је јаван.</span>
# <span class="solution">Могуће је дефинисати конструктор без параметара</span>
# <span class="solution">Могуће је дефинисати конструктор без параметара</span>
# Могуће је специфицирати тип повртане вредности (тип резултата) конструктора
# Могуће је специфицирати тип повратне вредности (тип резултата) конструктора
</div>
</div>


Ред 47: Ред 45:
Дат је следећи део кода на програмском језику Јава.
Дат је следећи део кода на програмском језику Јава.
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
class B {
public class B {
     B b1;
     B b1;
     static B b2;
     static B b2;
Ред 62: Ред 60:
Изабрати један или више одговора:
Изабрати један или више одговора:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# Наредбом '''B b3;''' се ствара објекат класе '''B'''.
# Наредбом <code>B b3;</code> се ствара објекат класе <code>B</code>.
# Тек по стварању објекта класе '''B''' поље '''b2''' добија вредност ''null''.
# Тек по стварању објекта класе <code>B</code> поље <code>b2</code> добија вредност <code>null</code>.
# <span class="solution">По стварању објекта класе '''B''' поље '''b1''' добија вредност ''null''.</span>
# <span class="solution">По стварању објекта класе <code>B</code> поље <code>b1</code> добија вредност <code>null</code>.</span>
# Програмски код се не преводи, јер класа '''B''' не може да има дефинисано поље сопственог типа.
# Програмски код се не преводи, јер класа <code>B</code> не може да има дефинисано поље сопственог типа.
# <span class="solution">Променљива '''b3''' типа '''B''' није иницијализована.</span>
# <span class="solution">Променљива <code>b3</code> типа <code>B</code> није иницијализована.</span>
</div>
</div>


== 5. задатак ==
== 5. задатак ==
Које тврдње су тачне за пакете на програмском језику Јава?
Које тврдње су тачне за пакете на програмском језику Јава?
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution">Могуће је да код једног пакета буде распоређен у више датотека.</span>
# <span class="solution">Могуће је да код једног пакета буде распоређен у више датотека.</span>
# <span class="solution">Уколико пакет '''A''' и пакет '''B''' садрже име типа '''X''' могуће је у исту датотеку увести све типове из пакета '''A''' и све типове из пакета '''B''' наредбама '''import A.*; import B.*;'''.</span>
# <span class="solution">Уколико пакет <code>A</code> и пакет <code>B</code> садрже име типа <code>X</code> могуће је у исту датотеку увести све типове из пакета <code>A</code> и све типове из пакета <code>B</code> наредбама <code>import A.*; import B.*;</code>.</span>
# У једној датотеци може да буде дефинисано више класа које припадају различитим пакетима.
# У једној датотеци може да буде дефинисано више класа које припадају различитим пакетима.
# <span class="solution">Пакети се користе за групсиање логички повезаних интерфејса и класа.</span>
# <span class="solution">Пакети се користе за групсиање логички повезаних интерфејса и класа.</span>
# <span class="solution">Пакет '''java.lang''' се увози имплицитно.</span>
# <span class="solution">Пакет <code>java.lang</code> се увози имплицитно.</span>
</div>
</div>


== 6. задатак ==
== 6. задатак ==
Које од следећих тврдњи су тачне за програмски језик Јава?
Које од следећих тврдњи су тачне за програмски језик Јава?
Изабрати један или више одговора:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution">Могу да се стварају објекти класе означени модификатором '''final'''</span>.
# <span class="solution">Могу да се стварају објекти класе означени модификатором <code>final</code></span>.
# Сви чланови класе која је означена модификатором '''final''' имплицитно постају '''final'''.
# Сви чланови класе која је означена модификатором <code>final</code> имплицитно постају <code>final</code>.
# Ако се сви методи класе означе модификатором '''final''', то је потпуно исто као да је класа означена модификатором '''final'''.
# Ако се сви методи класе означе модификатором <code>final</code>, то је потпуно исто као да је класа означена модификатором <code>final</code>.
# Класа '''java.lang.Object''' је означена модификатором '''final'''.
# Класа <code>java.lang.Object</code> је означена модификатором <code>final</code>.
# <span class="solution">Класа може да буде означена модификатором '''final''' чиме се проглашава коначном и спречава њено проширивање.</span>
# <span class="solution">Класа може да буде означена модификатором <code>final</code> чиме се проглашава коначном и спречава њено проширивање.</span>
</div>
</div>


Ред 95: Ред 90:
Којим програмским кодом се може заменити део кода означен са <code>###</code> да би се дати изборни код написан на програмском језику Јава успешно превео?
Којим програмским кодом се може заменити део кода означен са <code>###</code> да би се дати изборни код написан на програмском језику Јава успешно превео?
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
class B{}
class B {}
</syntaxhighlight>
 
<syntaxhighlight lang="java">
public class D extends B {
public class D extends B{
    public D() {
    public D() {
        ####
          ####
    }
    }
    public static void main(String[] arg) {}
    public static void main(String[] arg){}
}
}
</syntaxhighlight>
</syntaxhighlight>
Изаберите један или више одговора:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution"><syntaxhighlight lang="java" inline>super();</syntaxhighlight></span>
# <syntaxhighlight lang="java" inline class="solution">super();</syntaxhighlight>
# <syntaxhighlight lang="java" inline>Object o = super;</syntaxhighlight>
# <syntaxhighlight lang="java" inline>Object o = super;</syntaxhighlight>
# <syntaxhighlight lang="java" inline>String s = super.super.toString();</syntaxhighlight>
# <syntaxhighlight lang="java" inline>String s = super.super.toString();</syntaxhighlight>
# <syntaxhighlight lang="java" inline>B b = (B) super;</syntaxhighlight>
# <syntaxhighlight lang="java" inline>B b = (B) super;</syntaxhighlight>
# <span class="solution"><syntaxhighlight lang="java" inline>String s = super.toString();</syntaxhighlight></span>
# <syntaxhighlight lang="java" inline class="solution">String s = super.toString();</syntaxhighlight>
</div>
</div>


Ред 117: Ред 110:
Шта исписује следећи програмски код на језику Јава? Уписати 0 ако се код не преводи.
Шта исписује следећи програмски код на језику Јава? Уписати 0 ако се код не преводи.
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Interface A{ default void m(){System.out.println("A.m()");}}
interface A { default void m() { System.out.println("A.m()"); } }
Interface B{ default void m(){System.out.println("B.m()");}}
interface B { default void m() { System.out.println("B.m()"); } }
public class X implements A, B {
public class X implements A, B {
    public void m(){System.out.println("X.m()");}
    public void m() { System.out.println("X.m()"); }
    public static void main(String args[]) {
    public static void main(String args[]) {
          X x = new X();
        X x = new X();
          x.m();
        x.m();
    }
    }
}
}
</syntaxhighlight>
</syntaxhighlight>
Ред 131: Ред 124:
== 9. задатак ==
== 9. задатак ==
Које од следећих тврдњи су тачне за програмски језик Јава?
Које од следећих тврдњи су тачне за програмски језик Јава?
Изаберите један или више одговора:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution">Изузеци на језику Јава су искључиво објекти класних типова.</span>
# <span class="solution">Изузеци на језику Јава су искључиво објекти класних типова.</span>
Ред 143: Ред 134:
== 10. задатак ==
== 10. задатак ==
Које од следећих тврдњи су тачне за програмски језик Јава?
Које од следећих тврдњи су тачне за програмски језик Јава?
Изаберите један или више одговора:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution">У дефиницији циља ламбда израза користи се функцијски интерфејс.</span>
# <span class="solution">У дефиницији циља ламбда израза користи се функцијски интерфејс.</span>
# <span class="solution">Ламбда израз описује тело метода аутоматски генерисане анонимне класе која имплементира интерфејс које декларише искључиво једна апстрактна класа.</span>
# <span class="solution">Ламбда израз описује тело метода аутоматски генерисане анонимне класе која имплементира интерфејс које декларише искључиво једна апстрактна метода.</span>
# Ламдба израз описује тело метода аутоматски генерисане анонимне класе која проширује апстрактну класу која декларише искључиво један апстрактни метод.
# Ламдба израз описује тело метода аутоматски генерисане анонимне класе која проширује апстрактну класу која декларише искључиво један апстрактни метод.
# На месту дефинисања ламбда израза врши се његово израчинавање.
# На месту дефинисања ламбда израза врши се његово израчинавање.
# Аутоматски генерисана анонимна класа ламбда израза имплицитно проширује класу '''java.lang.Lambda'''.
# Аутоматски генерисана анонимна класа ламбда израза имплицитно проширује класу <code>java.lang.Lambda</code>.
</div>
</div>


[[Категорија:ОО2]]
[[Категорија:ОО2]]
[[Категорија:Рокови]]
[[Категорија:Рокови]]

Тренутна верзија на датум 9. фебруар 2023. у 02:38

Колоквијум 2022. године на РТИ (и осталим ЕР одсецима) одржан је 17. арпила. Од области дошли су увод, преглед, класе, пакети, извођење, интерфејси, изузеци и угњеждени типови на програмском језику Java.

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

1. задатак

Која од следећих тврђења су тачна? (JDK = Java Development Kit, JRE = Java Runtime Environment, JVM = Java Virtual Machine)

  1. JDK је саставни део JVM
  2. JVM је саставни део JRE
  3. JRE је саставни део JDK
  4. JRE је саставни део JVM
  5. JDK је саставни део JRE

2. задатак

Шта исписује следећи програмски код на језику Јава? За програм који не се преводи унети -1. За програм са грешком у извршавању унети -2.

public class Main {
     public static void main(String[] args) {
          int[] niz1 = new int[] {0, 1, 2};
          int[] niz2 = new int[niz1.length];
          int i = niz2.length;
          for (int x : niz1) {
               niz2[--i] = x;
          }
          for (int x : niz2) {
               System.out.print(x);
          }
     }
}

Одговор: 210

3. задатак

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

  1. Тело конструктора се извршава пре иницијализације нестатичких поља (атрибута) објеката.
  2. Могуће је дефинисати конструктор са више параметара
  3. Аутоматски уграђен (имплицитни) конструктор јавне класе је јаван.
  4. Могуће је дефинисати конструктор без параметара
  5. Могуће је специфицирати тип повратне вредности (тип резултата) конструктора

4. задатак

Дат је следећи део кода на програмском језику Јава.

public class B {
    B b1;
    static B b2;
    public void f() {
        B b3;  
    }
    public static void main(String args[]) {
        new B();
    }
}

Која од следећих тврђења су тачна?

Изабрати један или више одговора:

  1. Наредбом B b3; се ствара објекат класе B.
  2. Тек по стварању објекта класе B поље b2 добија вредност null.
  3. По стварању објекта класе B поље b1 добија вредност null.
  4. Програмски код се не преводи, јер класа B не може да има дефинисано поље сопственог типа.
  5. Променљива b3 типа B није иницијализована.

5. задатак

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

  1. Могуће је да код једног пакета буде распоређен у више датотека.
  2. Уколико пакет A и пакет B садрже име типа X могуће је у исту датотеку увести све типове из пакета A и све типове из пакета B наредбама import A.*; import B.*;.
  3. У једној датотеци може да буде дефинисано више класа које припадају различитим пакетима.
  4. Пакети се користе за групсиање логички повезаних интерфејса и класа.
  5. Пакет java.lang се увози имплицитно.

6. задатак

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

  1. Могу да се стварају објекти класе означени модификатором final.
  2. Сви чланови класе која је означена модификатором final имплицитно постају final.
  3. Ако се сви методи класе означе модификатором final, то је потпуно исто као да је класа означена модификатором final.
  4. Класа java.lang.Object је означена модификатором final.
  5. Класа може да буде означена модификатором final чиме се проглашава коначном и спречава њено проширивање.

7. задатак

Којим програмским кодом се може заменити део кода означен са ### да би се дати изборни код написан на програмском језику Јава успешно превео?

class B {}

public class D extends B {
    public D() {
        ####
    }
    public static void main(String[] arg) {}
}
  1. super();
  2. Object o = super;
  3. String s = super.super.toString();
  4. B b = (B) super;
  5. String s = super.toString();

8. задатак

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

interface A { default void m() { System.out.println("A.m()"); } }
interface B { default void m() { System.out.println("B.m()"); } }
public class X implements A, B {
    public void m() { System.out.println("X.m()"); }
    public static void main(String args[]) {
        X x = new X();
        x.m();
    }
}

Одговор: X.m()

9. задатак

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

  1. Изузеци на језику Јава су искључиво објекти класних типова.
  2. Објекти класе Throwable садрже ниску која служи да се њом опише одговарајућа изузетна ситуација.
  3. Изузеци на језику Јава могу да буду примитивних типова.
  4. Сви типови изузетака морају да буду изведени из класе Exception или њених поткласа.
  5. Сви типови изузетака морају да буду из класе Throwable или њених поткласа.

10. задатак

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

  1. У дефиницији циља ламбда израза користи се функцијски интерфејс.
  2. Ламбда израз описује тело метода аутоматски генерисане анонимне класе која имплементира интерфејс које декларише искључиво једна апстрактна метода.
  3. Ламдба израз описује тело метода аутоматски генерисане анонимне класе која проширује апстрактну класу која декларише искључиво један апстрактни метод.
  4. На месту дефинисања ламбда израза врши се његово израчинавање.
  5. Аутоматски генерисана анонимна класа ламбда израза имплицитно проширује класу java.lang.Lambda.