Elektrotehnicki fakultet, Beograd  Ласло Краус ИР2ОО2/СИ2ОО2
Испит
5. 9. 2008.

Аутори: Игор Тартаља и Ласло Краус

Задаци: 1 2 3 | Напоменe | Решења: 3

Поставка задатка 1 (укупно 30 поена) ( почетак)

Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња:

а) (Java) Објаснити појмове "бајткод" (bytecode) и "Java виртуелна машина" (JVM)?

б) (Java) Шта су иницијализациони блокови, које врсте постоје и када се извршавају?

в) (Java) Ако се у изведеној класи дефинише поље са истим именом као у основној и ако му се приступи преко референце која је типа основне класе, а указује на објекат изведене класе – којем пољу се приступа и зашто?

г) (Java) Какав је препоручени поступак заустављања нити уместо коришћења метода stop()?

д) Које врсте скокова постоје у језику C# и које су разлике у односу на скокове у језику Java?

Поставка задатка 2 (45 поена) ( почетак)

Написати на језику Java следећи пакет типова:

Поставка задатка 3 (25 поена) ( решење | почетак)

Написати на језику C# следеће типове:


Напоменe ( почетак)


Решење задатка 3 ( поставка | почетак)

// Ispred.cs

public delegate bool Ispred(int a, int b);


// Uporedi.cs

public class Uporedi {
  public static bool Manje(int a, int b) { return a < b; }

  public static bool Vece (int a, int b) { return a > b; }
}

// IUredjivac.cs

public interface IUredjivac {
  void Uredi(int[] niz, Ispred isp);
}

// Izbor.cs

public class Izbor: IUredjivac {
  public void Uredi(int[] niz, Ispred isp) {
    for (int i=0; i<niz.Length-1; i++)
      for (int j=i+1; j<niz.Length; j++)
        if (isp(niz[j], niz[i])) { int p = niz[i]; niz[i] = niz[j]; niz[j] = p; }
  }
}

// Program.cs

using System;

public class Program {
  static void pisi(int[] niz) {
    for (int i=0; i<niz.Length; Console.Write(niz[i++] + " "));
    Console.WriteLine();
  }

  static void Main() {
    int[] niz = {9,1,3,5,2,0,4,8,7,6};
    pisi(niz);
    IUredjivac u = new Izbor();
    u.Uredi(niz, new Ispred(Uporedi.Manje));
    pisi(niz);
    u.Uredi(niz, new Ispred(Uporedi.Vece));
    pisi(niz);
  }
}

9 1 3 5 2 0 4 8 7 6 0 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 0
( почетак)
         
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs

Copyright © 2010, Laslo Kraus
Последња ревизија: 1.9.2010.