Izpitno vprašanje RAČ2PRA 3200

Iz MaFiRaWiki

GFDL Avtor tega članka je študent/ka SonjaValenčič.

Pripravil/a ga je pri predmetu Računalništvo 2 (FMF PRA).


Kljub temu ste vsi vabljeni k urejanju in popravkom, saj je bistvo wikija ravno v sodelovalnem delu.

Vprašanje

Sestavi razred Stoparica, ki ti bo služil za meritev časa različnih algoritmov. Uporabiš lahko bodisi metodo System.currentMillis() ali pa getTime() iz razreda Date ali pa ustrezne metode iz razreda Calendar ali GregorianCalendar. Razred Stoparica naj ima vsaj dve metodi: void start(), ki požene merjenje časa in int poglej(), ki vrne izmerjen čas v milisekundah. Lahko dodaš tudi metodi ustavi() in pozeni().

Odgovor

V razredu Stoparica je dodana tudi metoda za izračun n-tega člena Fibonaccijevega zaporedja in metoda main, kjer je prikazana uporaba objekta Stoparica in pripadajočih metod.

  1.  
  2. public class Stoparica {
  3. private long zacetniCas; //čas, ob katerem smo štoparico pognali (v milisekundah)
  4. private boolean jeZaceta; // true, če smo štoparico pognali
  5.  
  6. //metoda požene štoparico
  7. public void start() {
  8. this.zacetniCas = System.currentTimeMillis();
  9. jeZaceta = true;
  10. }
  11.  
  12. //metoda vrne do sedaj izmerjeni čas v milisekundah, štoparica se pri tem ne ustavi;
  13. // če štoparica ni bila pognana, vrne -1
  14. public long poglej() {
  15. if(!jeZaceta) return -1;
  16. return System.currentTimeMillis() - zacetniCas;
  17. }
  18. //metoda ustavi štoparico
  19. public long ustavi() {
  20. jeZaceta = false;
  21. return System.currentTimeMillis() - zacetniCas;
  22. }
  23. //PRIMER UPORABE
  24. //metoda za izračun n-tega člena Fibonaccijevega zaporedja
  25. public static int fiboNti(int n){
  26. if(n == 0 || n == 1) return 1;
  27. return fiboNti(n-1) + fiboNti(n-2);
  28. }
  29.  
  30. public static void main(String[] argc) {
  31. Stoparica s = new Stoparica();
  32. s.start();
  33. int fibo11 = fiboNti(25);
  34. long trajanje = s.ustavi();
  35. System.out.println("Iskanje 11-ega člena v Fibonaccijevem zaporedju je trajalo " + trajanje + " milisekund.");
  36. }
  37. }
Osebna orodja