Pitanja i odgovori C++ PDF
Document Details
Uploaded by BestKnownCantor7252
IPI Akademija Tuzla
Tags
Summary
Ovo su pitanja i odgovori iz predmeta Programski jezici i programiranje. Sadržaj se odnosi na IPI Akademiju Tuzla, i pokriva teme vezane za C++ programiranje.
Full Transcript
PROGRAMSKI JEZICI PITANJA I ODGOVORI IPI AKADEMIJA TUZLA I PROGRAMIRANJE 1. Šta sadrži objekat kao struktura u konceptu objektno – orijentiranog programiranja? ________________________________________________________________________________________ _______________...
PROGRAMSKI JEZICI PITANJA I ODGOVORI IPI AKADEMIJA TUZLA I PROGRAMIRANJE 1. Šta sadrži objekat kao struktura u konceptu objektno – orijentiranog programiranja? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: stanje (atributi) i ponašanje (metodi) 2. Na koji način objekti ostvaruju interakciju? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: putem metoda 3. Klasa je: a) instanca objekta, b) specifikacija za pravljenje objekta, c) objekat koji zauzima memoriju, d) specijalni pokazivač na objekat. ODGOVOR: b) specifikacija za pravljenje objekta 4. Objekti različite klase imaju identične osobine i ponašanje. TAČNO NETAČNO ODGOVOR: NETAČNO 5. Klasa može imati proizvoljan broj instanci. TAČNO NETAČNO ODGOVOR: TAČNO 6. Nabroj 5 zajedničkih karakteristika programskih jezika opšte namjene. ________________________________________________________________________________________ __________________________________________________________________________. ODGOVOR: Ugrađeni tipovi podataka, varijable, izrazi i naredbe, kontrolne strukture, funkcije. 7. Često korištene biblioteke C++ ima implementiran u biblioteci skraćenog naziva: a) SSL, b) SLK, c) STL, d) SEL. ODGOVOR: c) STL 8. Šta određuje tip podatka? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: određuje njegovo značenje (vrijednost), te dozvoljene operacije na podatku. 9. Nabroj primitivne tipove podatka u C++. ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: bool, char, char niz, short, int, long, long long, float, double, long double 10. Ključne riječi koje određuju hoće li se kôdirati predznak za pamćenje negativnih brojeva su __________________________ i ________________________. ODGOVOR: signed; unsigned 11. Za šta služi typedef ključna riječ? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: Služi za pravljenje sinonima (drugog imena) za određeni tip podatka. 12. Varijabla se definira na sljedeći način: ________________________________________. ODGOVOR: tip_podatka naziv_varijable; 13. Šta je varijabla? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: imenovani objekat (prostor) u memoriji za smještanje vrijednosti Strana 1 od 24 PROGRAMSKI JEZICI PITANJA I ODGOVORI IPI AKADEMIJA TUZLA I PROGRAMIRANJE 14. Varijabla se definira navođenjem: a) tipa podatka, imena i vrijednosti, b) tipa podatka, c) tipa podatka i vrijednosti, d) tipa podatka i imena. ODGOVOR: a) tipa podatka, imena i vrijednosti. 15. Deklarirane varijable primitivnog tipa su važeće za: a) pisanje, b) čitanje i pisanje, c) čitanje, d) nijedno od navedenog. ODGOVOR: a) pisanje 16. C++ varijable se mogu definirati bilo gdje u kôdu. TAČNO NETAČNO ODGOVOR: TAČNO 17. Ključna riječ ___________ postavlja se __________ tipa podatka u definiciji varijable i znači da je njena vrijednost konstantna. ODGOVOR: const; ispred; 18. Za šta služi ključna riječ auto? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: za automatsko određivanje tipa podatka na osnovu zadate vrijednosti 19. Za šta služi ključna riječ decltype? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: za identifikaciju tipa varijable kako bi se postavio taj tip za novu varijablu 20. Varijabla deklarirana unutar bloka kôda: a) je lokalna za taj blok i uništava se nakon završetka bloka, b) je vidljiva van bloka, ali se njena vrijednost može izmjeniti samo u bloku c) nije vidljiva van bloka i ne uništava se nakon završetka bloka, d) je lokalna za taj blok i ne uništava se nakon završetka bloka. ODGOVOR: a) je lokalna za taj blok i uništava se nakon završetka bloka 21. Imenovani blok koda zove se __________________________ i predstavlja prostor za _________________________________________. ODGOVOR: namespace; smještanje varijabli (objekata) i tipova podatka 22. Koji operator se koristi za pristup imenovanom bloku kôda? _________________________________. ODGOVOR: operator :: 23. Navođenjem using namespace naredbe: a) kažemo da ćemo koristiti taj namespace, ali moramo koristiti i operator ::, b) svi objekti koji nisu deklarirani u programu traže se u tom namespaceu, c) svi objekti ispod te linije se smještaju u taj namespace, d) izbjegavamo korištenje operatora :: za string i vector klasu. ODGOVOR: b) svi objekti koji nisu deklarirani u programu traže se u tom namespaceu 24. Funkcija koju svaki C++ program mora imati je ____________________, a ima sljedeći potpis: ___________________________________________________. ODGOVOR: main(); int main(int argc, char** argv) 25. Naredbom _________________________________ uključuju se STL ili korisničke biblioteke u program. ODGOVOR: #include Strana 2 od 24 PROGRAMSKI JEZICI PITANJA I ODGOVORI IPI AKADEMIJA TUZLA I PROGRAMIRANJE 26. Nabroj C++ biblioteku, te korištene objekte i operatore za rad sa ulazom i izlazom. ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: iostream; istream std::cin; ostream std::cout; std::endl; ; 27. Šta je kompajliranje i šta je potrebno da se program kompajlira? ________________________________________________________________________________________ ________________________________________________________________________________________ ______________________________________________________________________. ODGOVOR: kompajliranje je proces prevođenja izvornog kôda u objektni i izvršni kôd; potreban je kompajler i datoteke sa izvornim kôdom. 28. Poziv kompajlera iz terminala je u obliku _______________________________________ ________________________________________________________________________. ODGOVOR: g++ -o nazivPrograma -std=c++11 nazivIzvornogKoda.cpp 29. Koje kontrolne strukture postoje u C++? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: petlje for i while, te uslovne naredbe if, if-else; 30. Klasa koja se koristi za rad sa nizom karaktera promjenjive dužine je: a) Char, b) multiChar, c) string, d) String. ODGOVOR: c) string 31. Kako se mogu pozivati operacije na objektima? _________________________________________________________________________________. ODGOVOR: Imenom (metodi) i simbolom (operatori). 32. Metodi su: a) polja za vrijednost u strukturama, b) polja za vrijednost u klasama, c) funkcije koje rade sa objektom klase, d) funkcije deklarirane unutar tijela strukture ili klase. ODGOVOR: d) funkcije deklarirane unutar tijela strukture ili klase 33. Metodi se pozivaju na sljedeći način: a) nazivObjekta.nazivMetoda(ulazniArgumenti), b) nazivObjekta..nazivMetoda(ulazniArgumenti), c) nazivObjekta::nazivMetoda(ulazniArgumenti), d) (*nazivObjekta)->nazivMetoda(ulazniArgumenti). ODGOVOR: a) nazivObjekta.nazivMetoda(ulazniArgumenti) 34. Koja je razlika između naredbe std::cin >> stringObjekat; i getline(stringObjekat)? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: prva učitava tekst do praznog mjesta, a druga učitava cijelu liniju teksta 35. Nabroj 3 metoda i 8 operatora klase string. ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: bool empty(), int size(), auto at(int n), ==, !=, , =, +, [] Strana 3 od 24 PROGRAMSKI JEZICI PITANJA I ODGOVORI IPI AKADEMIJA TUZLA I PROGRAMIRANJE 36. Operator + na objektima klase string služi za: a) sabiranje ASCII vrijednosti string objekata, b) računanje težinskog omjera 2 string objekta, c) spajanje sadržaja 2 string objekta sa ubačenim praznim mjestom, d) spajanje sadržaja 2 string objekta bez ubačenog praznog mjesta. ODGOVOR: d) spajanje sadržaja 2 string objekta bez ubačenog praznog mjesta 37. Šta predstavlja, za šta služi i gdje je definirana klasa vector? ________________________________________________________________________________________ ________________________________________________________________________________________ ____________________________________________________________________. ODGOVOR: Klasa vector je generički kontejner za objekte istog tipa i može sadržati proizvoljan broj objekata. Definirana je u zaglavlju vector. 38. Kako se deklarira objekat klase vector? _____________________________________________________________________________. ODGOVOR: vector nazivKontejnera; 39. Koja je veličina vector kontejnera u početku i kako se dodaju elementi u vector? ________________________________________________________________________________________ _________________________________________________________________________. ODGOVOR: 0; pozivom metoda push_back(noviElement) na objektu klase vector. 40. Pozivom v.push_back(el) na objektu v klase vector: a) proširuje se v za jedno mjesto i dodaje el na kraj objekta v, b) gura se el od prve poziicije do kraja vektora v, c) miče se el na kraj vektora v kako bi se automatski uklonio, d) briše se el iz vektora v. ODGOVOR: a) proširuje se v za jedno mjesto i dodaje el na kraj objekta v 41. Nabroj 3 metoda klase vector. Za šta služe? ________________________________________________________________________________________ ________________________________________________________________________________________ _____________________________________________________________________. ODGOVOR: empty() provjerava je li prazan, size() vraća broj objekata u vektoru, a push_back(element) dodaje novi objekat element na kraj vektora. 42. Za šta služi sort() funkcija? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: Služi za sortiranje elemenata vektor objekta na određenom opsegu. 43. Dva načina dohvatanja elemenata objekta klase vektor su: ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: operatorom indeksiranja: v[indeks], te metodom at: v.at(indeks); 44. Šta je referenca i kako se definira? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: To je varijabla koja definira drugo ime objekta; tipObj& imeRef = objekat; 45. Koja su 2 ograničenja postavljena na reference? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: mora se inicijalizirati; veže se uz objekat kojem je dodijeljena; Strana 4 od 24 PROGRAMSKI JEZICI PITANJA I ODGOVORI IPI AKADEMIJA TUZLA I PROGRAMIRANJE 46. Šta je funkcija i kako se definira? ________________________________________________________________________________________ ________________________________________________________________________________________ ________________________________________________________________________________________ _______________________________________________________________. ODGOVOR: funkcija je imenovani blok kôda koji se može pozvati. Definicija je u obliku: povratniTip nazivFunkcije(param1, param2,..., paramn) { //tijelo funkcije } 47. Koliko objekata funkcija može primiti, a koliko vratiti? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: funkcija prima 0,1,...n objekata, a vraća 0 ili 1 objekat (vrijednost) 48. Koji su načini prosljeđivanja argumenata u funkciju? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: po vrijednosti, po referenci i po konstantnoj referenci. 49. Prosljeđivanjem argumenata po vrijednosti u funkciju: a) kopiraju se adrese proslijeđenih argumenata, b) kopiraju se adrese i vrijednosti proslijeđenih argumenata, c) kopiraju se samo vrijednosti proslijeđenih argumenata, d) pravi se referenca na argumente. ODGOVOR: c) kopiraju se samo vrijednosti proslijeđenih argumenata 50. Prosljeđivanjem argumenata po referenci u funkciju: a) ne pravi se novi objekat u koji će se prekopirati vrijednost argumenta, b) duplicira se sadržaj u pozvanoj funkciji i u funkciji koja je pozvala istu, c) šalje se pokazivač na argumente, d) kopiraju se nazivi objekata kakvi su napisani u funkciji koja je pozvala istu. ODGOVOR: a) ne pravi se novi objekat u koji će se prekopirati vrijednost argumenta 51. Prednost prosljeđivanja po referenci u odnosu na vrijednost je _______________________________ ________________________________________________________________________________. ODGOVOR: u izbjegavanju kopiranja i kreiranja novih objekata. 52. Kako će se proslijediti argumenti ako nećemo da ih kopiramo, a da se ne mogu mijenjati? _________________________________________________________________________________. ODGOVOR: po konstantnoj referenci 53. Na koji način je moguće izostaviti ulazne parametre u funkciju? ________________________________________________________________________________________ ________________________________________________________________________________________ _____________________________________________________________________. ODGOVOR: definiranjem podrazumjevanih argumenata za datu funkciju njihovom inicijalizacijom u listi ulaznih argumenata, sa desna na lijevo. 54. Šta je lambda? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: Dio kôda koji se može pozvati kao funkcija ili proslijediti u funkciju 55. Kako se definira lambda izraz? _________________________________________________________________________________. ODGOVOR: [dohvat](ulazniParametri) mutable -> povratniTip { //tijelo } 56. Kad se uzimaju vrijednosti objekata u dohvatnom dijelu lambde [ ]? ________________________________________________________________________________________ ___________________________________________________________________________. Strana 5 od 24 PROGRAMSKI JEZICI PITANJA I ODGOVORI IPI AKADEMIJA TUZLA I PROGRAMIRANJE ODGOVOR: Prilikom definiranja ako je dohvat po vrijednosti, inače pri pozivu lambde. 57. Kako se varijable mogu dohvatiti u lambdi na osnovu vrijednosti? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: po vrijednosti, po referenci i kombinovano; 58. Za šta služi ključna riječ mutable u definiciji lambde? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: Služi za omogućavanje izmjene varijabli koje su dohvaćene po vrijednosti 59. Funkcije višestrukog potpisa su: a) funkcije koje primaju više parametara, b) funkcije istog imena sa različitom listom ulaznih parametara, c) funkcije sa različitim povratnim parametrima, d) ni jedno od navedenog. ODGOVOR: b) funkcije istog imena sa različitom listom ulaznih parametara 60. Kako kompajler odlučuje koju verziju funkcije višestrukog potpisa poziva? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: na osnovu liste ulaznih parametara i njihovog tipa 61. Koja je prednost function klase? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: klasa omogućava korištenje funkcija i lambda izraza kao objekata koji se mogu pozivati call operatorom (); 62. Iznimka se poziva naredbom: a) try izraz; b) catch izraz; c) throw izraz; d) error izraz; ODGOVOR: c) throw izraz; 63. Šta je potrebno uraditi ako se smatra da određeni dio kôda može izazvati iznimku? _________________________________________________________________________________. ODGOVOR: Ubaciti taj kôd u try – catch blok 64. Blok u kojem se obrađuje greška označen je ključnom riječi: a) catch, b) collect, c) remedy, d) update. ODGOVOR: a) catch 65. Struktura je: a) objekat koji sadrži više drugih objekata, b) objekat koji ima ugrađene metode, c) ugrađena C++ varijabla, d) korisnički definiran tip podatka. ODGOVOR: d) korisnički definiran tip podatka Strana 6 od 24 PROGRAMSKI JEZICI PITANJA I ODGOVORI IPI AKADEMIJA TUZLA I PROGRAMIRANJE 66. Objekat tipa strukture se deklariše na sljedeći način: a) struct imeStrukture imeObjekta; b) structure imeObjekta; c) struct imeObjekta; d) struct imeStrukture; ODGOVOR: a) struct imeStrukture imeObjekta; 67. Pristup objektima strukture vrši se: a) :: operatorom, b) : operatorom, c). operatorom, d) -> operatorom. ODGOVOR: c). operatorom 68. Sortiranje u C++ dostupno je putem funkcije __________ iz zaglavlja ________________. ODGOVOR: sort; algorithm; 69. Funkcija sort iz zaglavlja algorithm kao kriterij podrazumjevano koristi: a) operator >, b) operator =, d) operator polje; ++it; --it; it == it2; it != it2; 83. Koji iterator na kontejneru ne dozvoljava dereferenciranje? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: Iterator dobijen metodom end(). 84. Koji iterator dozvoljava, a koji ne dozvoljava izmjenu objekta na koji pokazuje? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: kontejner::iterator dozvoljava, a kontejner::const_iterator ne. 85. Nabroj vrste iteratora po tipu operacija koje podržavaju. ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: ulazni, izlazni, jednosmjerni, dvosmjerni i nasumični. 86. Nasumični iteratori: a) ne podržavaju ulazno – izlazne operacije, te + i - operacije, b) ne podržavaju + i - operacije, c) ne podržavaju ulazne operacije, d) podržavaju sve operacije definirane za iteratore. ODGOVOR: d) podržavaju sve operacije definirane za iteratore 87. Kojeg tipa na osnovu podržanih operacija je iterator na klasi vector? __________________________. ODGOVOR: nasumični; Strana 8 od 24 PROGRAMSKI JEZICI PITANJA I ODGOVORI IPI AKADEMIJA TUZLA I PROGRAMIRANJE 88. Metod ______________________________ služi za brisanje objekata u kontejneru, prima ___________________________________________, a vraća ______________________. ODGOVOR: erase(); 1 ili 2 iteratora; iterator; 89. Šta je inserter? ____________________________________________________________________. ODGOVOR: Iterator koji dodaje elemente u kontejner. 90. Inserter na kontejneru: a) pokazuje na zadnji element kontejnera, b) pokazuje na prvi element kontejnera c) pokazuje na bilo koje mjesto na kojem nastaje novi element, d) pokazuje na srednji element kontejnera. ODGOVOR: c) pokazuje na bilo koje mjesto na kojem nastaje novi element 91. Nabroj 3 inserter funkcije na kontejneru kosa iteratorom it. ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: back_inserter(ko); front_inserter(ko); inserter(ko,it); 92. Koji metodi moraju postojati na kontejneru da bi se koristili back i front inserter? _________________________________________________________________________________. ODGOVOR: push_back(obj) i push_front(obj). 93. List kontejner u C++: a) je statički niz, b) je dvostruko povezana lista, c) je jednostruko povezana lista, d) ne postoji. ODGOVOR: b) je dvostruko povezana lista 94. Kojeg tipa na osnovu podržanih operacija je iterator na klasi list? __________________________ ODGOVOR: bidirekcioni; 95. Koja je prednost list kontejnera u odnosu na vector? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: brzo dodavanje i brisanje elemenata 96. Kako je implementirano sortiranje liste? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: Metodom sort() unutar klase list, jer list ne podržava nasumične iteratore. 97. List kontejner ne podržava: a) metod push_back(), b) operator za indeksiranje, c) metod sort(), d) operacije ++ i – na svojim iteratorima. ODGOVOR: b) operator za indeksiranje 98. Šta je map klasa u C++? ________________________________________________________________________________________ ___________________________________________________________________________. ODGOVOR: Asocijativni kontejner koji pohranjuje objekte kao par (ključ, vrijednost). 99. Objekti u map kontejneru: a) su uvijek sortirani po ključu operatorom