Programski jeziki in notacija (20 %) (doc. Zoran Bosnić)

Pregled poskusa 1

Začeto dneponedeljek, 1. november 2010, 20:21
Dokončano dneponedeljek, 1. november 2010, 20:42
Porabljeni čas21 min 30 s
Točke17/20
Ocena8.5 od možne ocene 10 (85%)
Question 1
Točke: 1/1

V programskem jeziku Java obstaja posebna vrsta razreda (angl. class), čigar primerka (angl. instance) nei možno narediti. Ta razred običajno vsebuje le deklaracije metod, od katerih so lahko nekatere implementirane, druge pa ne (njihova deklaracija torej le zahteva njihovo nadaljnjo implementacijo). Običajno je namenjen temu, da te metode implementiramo v razredih, ki od njega dedujejo.

Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenaabstraktni razred (angl. abstract class)20:22:08 dne 1/11/1011
2Zapri in oceniabstraktni razred (angl. abstract class)20:42:51 dne 1/11/1011
Question 2
Točke: 1/1
Operacija bitnega zamikanja celega števila v levo (operator <<) je ekvivalenten matematični operaciji
Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenamnoženja z 220:22:22 dne 1/11/1011
2Zapri in ocenimnoženja z 220:42:51 dne 1/11/1011
Question 3
Točke: 0/1

Denimo, da so v programskem jeziku Java podani razredi AnimalDog in Cow ter da zadnja dva dedujeta od razreda Animal. Torej:

public class Animal {  /* vsebina */ }
public class Dog extends Animal {  /* vsebina */ }
public class Cow extends Animal {  /* vsebina */ }

Denimo, da imamo na razpolago tri spremenljivke in tri primerke gornjih razredov:

Animal animal1;
Animal animal2 = new Animal();
Dog dog1;
Dog dog2 = new Dog();
Cow cow1;
Cow cow2 = new Cow();

Kateri od naslednjih primerov prirejanj nujno potrebujejo uporabo eksplicitne pretvorbe podatkovnih tipov (casting)? Predpostavi, da so podani primeri prirejanj med seboj neodvisni (pri vsakem je začetno stanje enako).

1.) animal1 = dog2;
2.) dog1 = animal2;
3.) (zaporedje prirejanj) animal1 = dog2; dog1 = animal1;
4.) cow1 = dog2;

Izberite en odgovor.
Napačno
Točke za to oddajo: 0/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocena1, 2 in 420:29:13 dne 1/11/1000
2Zapri in oceni1, 2 in 420:42:51 dne 1/11/1000
Question 4
Točke: 1/1
Kateri od naslednjih programskih jezikov je primarno namenjen deklarativnemu programiranju?
Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1OcenaProlog20:31:09 dne 1/11/1011
2Zapri in oceniProlog20:42:51 dne 1/11/1011
Question 5
Točke: 1/1
Denimo, da nek program javi, da je prišlo do napake zaradi deljenja s številom 0. Za kakšno vrsto napake gre?
Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenanapako med izvajanjem (run-time error)20:31:19 dne 1/11/1011
2Zapri in oceninapako med izvajanjem (run-time error)20:42:51 dne 1/11/1011
Question 6
Točke: 1/1
Denimo, da imamo podan rekurzivni program (kliče samega sebe). S čim je najbolj ponavadi omejeno največje možno število rekurzivnih klicev, ki jih program lahko izvede?
Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenaz velikostjo sklada (stack)20:31:54 dne 1/11/1011
2Zapri in oceniz velikostjo sklada (stack)20:42:51 dne 1/11/1011
Question 7
Točke: 1/1

Podano je polje (tabela, array) x sode dolžine in dve različici zanke, ki opravita enako inicializacijo polja, t. j. nastavita vrednost vseh elementov na 0:

1.) Prva različica
for(int i=0; i< x.length; i++) {
   x[i] = 0;
}

2.) Druga različica
for(int i=0; i< x.length; i += 2) {
   x[i] = 0;
   x[i+1] = 0;
}

Katera od izjav glede optimalnosti različic (v smislu krajšega prevoda v zaporedje strojnih ukazov in s tem porabljenega časa) je smiselna?

Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenahitrejša je različica 2, ker porabi manj iteracij za upravljanje s števcem in pogoji zanke20:32:49 dne 1/11/1011
2Zapri in ocenihitrejša je različica 2, ker porabi manj iteracij za upravljanje s števcem in pogoji zanke20:42:51 dne 1/11/1011
Question 8
Točke: 0/1

Katera od naslednjih lastnosti je značilna za interpreter?

Izberite en odgovor.
Napačno
Točke za to oddajo: 0/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenapred izvajanjem se program analizira in predprocesira20:34:35 dne 1/11/1000
2Zapri in ocenipred izvajanjem se program analizira in predprocesira20:42:51 dne 1/11/1000
Question 9
Točke: 0/1
Podan je programski jezik, v katerem ne moremo izvesti prirejanja vrednosti neki spremenljivki (npr. a=3;), ne da bi prej deklarirali tip te spremenljivke (npr. int a). Za takšen programski jezik pravimo, da je
Izberite en odgovor.
Napačno
Točke za to oddajo: 0/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenamočno (strogo) tipiziran20:36:26 dne 1/11/1000
2Zapri in ocenimočno (strogo) tipiziran20:42:51 dne 1/11/1000
Question 10
Točke: 1/1

Pri katerih izmed naslednjih opravil nam lahko pomaga razhroščevalnik (angl. debugger)?
1.) pregledovanje vrednosti lokalnih spremenljivk,
2.) zaustavitev izvajanja programa na želenem mestu,
3.) iskanje semantičnih napak,
4.) izvedba časovnih meritev izvajanja programa,
5.) izklop vhodno/izhodnih operacij,
6.) iskanje sintaktičnih napak

Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocena1, 2 in 320:37:11 dne 1/11/1011
2Zapri in oceni1, 2 in 320:42:51 dne 1/11/1011
Question 11
Točke: 1/1

Kadar želimo v programskem jeziku C++ dostopiti do naslova nekega objekta in ne do njegove vrednosti, uporabimo operator

Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocena&20:37:22 dne 1/11/1011
2Zapri in oceni&20:42:51 dne 1/11/1011
Question 12
Točke: 1/1

Denimo, da imamo v Javi podana dva razreda (angl. class) z imenom Base1 in Base2 ter dva vmesnika (angl. interface) z imenom Line1 in Line2. Kateri od naslednjih vzorcev predstavljajo pravilno deklaracijo novega razreda, ki pravilno deduje oziroma uporablja kombinacijo navedenih razredov in vmesnikov?

1.) class Dete extends Base1, Base2 overrides Line1 {...}

2.) class Dete extends Base2 implements Line1, Line2 {...}

3.) class Dete extends Base1, Base2, Line1, Line {...}

4.) class Dete implements Line1, Line2 {...}

5.) class Dete extends Base1, Base2 {...}

6.) class Dete implements Base1, Base2 {...}

Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocena2 in 420:38:08 dne 1/11/1011
2Zapri in oceni2 in 420:42:51 dne 1/11/1011
Question 13
Točke: 1/1

V Javi je podana naslednja definicija razreda:

public class NamedPoint extends Point {

    private String myName;

    public NamedPoint(int d1, int d2, String name) {
        super(d1, d2);
        myName = name;
    }
}

Stavek super(d1, d2) pomeni

Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenaklic konstruktorja nadrejenega razreda Point s parametroma d1 in d220:38:39 dne 1/11/1011
2Zapri in oceniklic konstruktorja nadrejenega razreda Point s parametroma d1 in d220:42:51 dne 1/11/1011
Question 14
Točke: 1/1
Katere od naslednjih nalog ne izvaja prevajalnik programskega jezika?
Izberite en odgovor.
Napačno
Točke za to oddajo: 0/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenasemantična analiza20:38:57 dne 1/11/1000
2Ocenageneriranje sporočil o izjemah (angl. exceptions)20:39:06 dne 1/11/1011
3Ocenasemantična analiza20:39:09 dne 1/11/1001
4Zapri in ocenisemantična analiza20:42:51 dne 1/11/1001
Question 15
Točke: 1/1
O prevajanih in interpretiranih programih velja:
Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenainterpretiranje programov je časovno manj učinkovito kot uporaba prevedenega programa20:39:49 dne 1/11/1011
2Zapri in oceniinterpretiranje programov je časovno manj učinkovito kot uporaba prevedenega programa20:42:51 dne 1/11/1011
Question 16
Točke: 1/1

Rekurzivne funkcije so napisane tako, da pri svojem izvajanju ponovno kličejo same sebe. Katera od naslednjih trditev drži?

Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenavsak rekurziven program lahko spremenimo v iterativnega20:40:05 dne 1/11/1011
2Zapri in ocenivsak rekurziven program lahko spremenimo v iterativnega20:42:51 dne 1/11/1011
Question 17
Točke: 1/1
Sintakso programskega jezika lahko opišemo z/s:
1.) BNF gramatikami
2.) kontekstno-neodvisnimi gramatikami
3.) sintaksnimi grafi
4.) regularnimi izrazi
Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocena1, 2 in 320:40:33 dne 1/11/1000
2Ocena2 in 420:40:38 dne 1/11/1000
3Ocena1 in 320:40:41 dne 1/11/1000
4Ocenavse od naštetega20:40:43 dne 1/11/1011
5Zapri in ocenivse od naštetega20:42:51 dne 1/11/1011
Question 18
Točke: 1/1
Kaj nam omogoča statična analiza napisanih programov?
Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenaodkrivanje sintaktičnih napak pri prevajanju20:41:22 dne 1/11/1011
2Zapri in oceniodkrivanje sintaktičnih napak pri prevajanju20:42:51 dne 1/11/1011
Question 19
Točke: 1/1

V Programskem jeziku Java je podan spodnji program, ki pa ne deluje zaradi napake v programu.

public class Izpis {

    public static void main(String[] args) {
        double stevilo;
        stevilo = nakljucno();
        System.out.println("Nakljucno stevilo od 1 do 100 je: " + stevilo);
    }

    private final double nakljucno() {
        return (Math.random()*100)+1;
    }
}

Kje je napaka v programu?
Izberite en odgovor.
Pravilno
Točke za to oddajo: 1/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenametoda nakljucno() ni dostopna, ker ni klicana na primerku razreda Izpis20:42:15 dne 1/11/1011
2Zapri in ocenimetoda nakljucno() ni dostopna, ker ni klicana na primerku razreda Izpis20:42:51 dne 1/11/1011
Question 20
Točke: 1/1

Katere od naslednjih trditev veljajo za programski jezik C++?
I) je dinamično tipiziran programski jezik
II) je šibko tipiziran programski jezik

Izberite en odgovor.
Napačno
Točke za to oddajo: 0/1.
Zgodovina odgovorov:
#DejanjeOdgovorČasČisto število točkOcena
1Ocenasamo I)20:42:38 dne 1/11/1000
2Ocenasamo II)20:42:41 dne 1/11/1011
3Ocenasamo I)20:42:45 dne 1/11/1001
4Zapri in ocenisamo I)20:42:51 dne 1/11/1001