Upload
denis-kotolenko
View
223
Download
0
Embed Size (px)
Citation preview
8/3/2019 RPR - Odgovori Na Teoretska Pitanja Iz II Parcijale
http://slidepdf.com/reader/full/rpr-odgovori-na-teoretska-pitanja-iz-ii-parcijale 1/9
1.ta se postie sa vizuelnim nasljeivanjem?
Vizuelno nasljeivanje omoguava da se postigne vizuelna konzistentnost kroz aplikaciju.
2. ta sve nasljeuje izvedena forma od osnovne forme?
Izvedena klasa sadri funkcionalnosti od svoje osnovne klase vezane za kontrolu , ali ukljuuje sve
osobine, metode, varijable i kontrole i osnovne klase. Izvedena klasa takoer nasljeuje sve vizuelne
aspekte kao veliinu, layout kontrola, boje i fontove svoje osnovne klase.
3. Koji su koraci kreiranja vlastitih kontrola?
U Visual Studiu se otvori novi projekat tipa Class Libarary, pa se onda na imenu projekta doda novi
Item i odabere User Kontrola. Potrebno je napraviti build projekta. Nakon toga, naravno ako nema
nekih greaka, u Debug folderu projekta bi se trebao kreirati .dll za kreiranu kontrolu. Ukoliko elimo
da kreiranu kontrolu koristimo unutar neke nove aplikacije, tada nakon kreiranja projekta za tu novu
aplikaciju, treba napraviti desni klik na opciju Toolbox, a zatim odabrati opciju Choose Items, i tu naci
svoju novu User Kontrolu.
4. ta je nit thread?
Niti (engl. threads), predstavljaju bazine cjeline za izvravanje koda pod savremenim operativnim
sistemima. Nit je programska cjelina koja treba da obavi jedan zadatak. Niti (jedna ili vie) pripadaju
jednom sloenijem procesu.
5. Koje klase se u .NET koriste za upravljanje nitima?
.NET Framework Class Library u namespace-u System::Threading sadri osnovne metode za rad sa
nitima.
6. Koje su osnovne metode klase Thread, a koje klase Monitor?
8/3/2019 RPR - Odgovori Na Teoretska Pitanja Iz II Parcijale
http://slidepdf.com/reader/full/rpr-odgovori-na-teoretska-pitanja-iz-ii-parcijale 2/9
7. Napisati program koji e aktivirati dvije niti. Zadatak svake niti e biti da 'spavaju' sluajni period
vremena.
isto sumnjam da ce ovo biti kao teoretsko pitanje...
8/3/2019 RPR - Odgovori Na Teoretska Pitanja Iz II Parcijale
http://slidepdf.com/reader/full/rpr-odgovori-na-teoretska-pitanja-iz-ii-parcijale 3/9
8. ta je deadlock i kako se moe izbjei opisati koje klase i metode se pri tome koriste.
Deadlock nastaje kada dvije niti ekaju jedna na drugu, tako da se akcije koje izvrsavaju 2 niti nikad
nece desiti.
Da ne bi dolo do situacija deadlock-a potrebno je obezbjediti kontrolu pristupa zajednikom objektu.
Klijent koji radi sa zajednikim resursom uspostavlja lock na objekat, i odrauje to je potrebno, adrugi klijent eka dok se resurs ne oslobodi.
lock ( objectReference ){
// kod koji zahtjeva sinhronizaciju
}
C++/CLI moe iskazati lock na ovaj nain pomou metoda klase Monitor (u nastavku), a postoji i klasa
Interlocked pomou koje se moe postii sinhronizacija.
Ako nit koja posjeduje lock na objekt ustanovi da ne moe nastaviti sa taskom dok neki uslov se ne
zadovolji, nit moe pozvati Monitor metod Wait, predati kao argument objekt na koji nit eka, dok
nit ne bude mogla izvriti svoj task.
9. ta se postie sa postavljanjem prioriteta niti?
Postie se to da niti sa najvecim prioritetom dobivaju najveci dio procesorskog vremena (najveci broj
kvantuma) a one sa najnizim prioritetom najmanji dio proc. vremena.
Vrijednosti dolaze iz ThreadPriority nabrojive liste (namespace System.Threading), koja sadri
vrijednosti Lowest, BelowNormal, Normal(default vrijednost), AboveNormal i Highest.
10. Monitor metode __________ i __________ zahtijevaju i oslobaaju lock na objekt.
Enter i Wait
11. Ako je grupa od jednako-prioritetnih niti svaka nit dobiva dio vremena nazvan
_______________, za vrijeme izvravanja programa.
Kvantum
12. ta je exception-izuzetak?
Izuzetak(exception) ukazuje na problem koji se deava u toku izvravanja programa.
8/3/2019 RPR - Odgovori Na Teoretska Pitanja Iz II Parcijale
http://slidepdf.com/reader/full/rpr-odgovori-na-teoretska-pitanja-iz-ii-parcijale 4/9
13. Koji su koraci kreiranja sopstvene klase za upravljanje exception-ima. Ilustrirati
primjerom.
Prvo se definira klasa MojIzuzetak
ref class MyException : public System::Exception {
//kod klase
}
U djelu programa u kojem zelimo da izazovemo(bacimo) nas izuzetak napisemo:
throw gcnew MyException(neki tekst,broj_greske);
U catch bloku stavimo da hvatamo nas izuzetak
catch(MyException^ neki_tekst) {
//kod catch bloka
}
14. Koja je uloga _finally bloka u kombinaciji sa try catch-finally blokom?
_finally se odrauje i ako se desi i ne desi exception.
15. Koje su osobine Exception klase?
Message Vraca Poruku povezanu sa izuzetkom
StackTrace Vraca string koji sadrzi detalje o steku
Source Vraca string koji sadrzi ime objekta ili aplikacije koji je uzrokovao gresku
16. Navesti najee uzroke deavanja izuzetaka.
Nedostatak memorije, Ulazno/Izlazna greska, Referenca na Null pokaziva, Izuzeci kada je jedan od
argumenata pogrean, Izuzeci za ne-fatalne aplikacijske greke, Izuzeci za indikacije aritmetikih
greaka, Izuzeci u sluaju kada je indeks niza izvan ranga, Izuzeci kada je pogrean cast ili konverzija.
8/3/2019 RPR - Odgovori Na Teoretska Pitanja Iz II Parcijale
http://slidepdf.com/reader/full/rpr-odgovori-na-teoretska-pitanja-iz-ii-parcijale 5/9
NE FALI PITANJA U POSTAVLJENIM PITANJIMA JE IZA 16 ODMA 25.
25. Ako se nije desio izuzetak u try bloku gdje se nastavlja izvravanje programa nakon to se try
blok izvrio?
Glupo pitanje po meni..
Na sljedecoj komandi iza try-catch bloka???
26. ta se deava ako se izuzetak desi izvan try bloka?
Ako je neki od sistemskih(fatalnih) izuzetaka program pada jer nema catch bloka da obradi baeni
izuzetak.
27. Kada postoji, _________ blok povezan sa try blokom se uvijek izvrava.
_finally ???
Nisam bas siguran za ovo...
28. Izvedene klase izuzetaka se izvode iz klase _______________.
System::Exception
31. Objasniti pojam validacija podataka
Postupak validacije podataka je postupak ispitivanja ispravnosti podataka i postupak provjere
usaglaavanja podataka da bi se slagali sa svim poslovnim pravilima specificiranim sa aplikacijskim
zahtjevima.
32. Objasniti probleme koji mogu nastati ako treba validirati neko poslovno pravilo za koje se
podaci unose preko 2 il i vie kontrola.
Validacijska strategija moze zakazati kada Validating dogaaj se deava samo kada se vri pomjeranje
na drugu kontrolu iste forme, ali ne na kontrolu u toolbaru ili na meni baru.
Ako koristimo MessageBox klasu za objavljivanje korisniku da ima 2 ili vie greaka, postaje zamorno
korisniku klikati na OK i pamtiti koje je sve greske napravio.
33. Koja je prednost validacije na nivou forme?
Mnogo manje nametljiv ali mnogo vie pouzdan i konzistentan tip validacije nego to originalna
aplikacija sadri.
8/3/2019 RPR - Odgovori Na Teoretska Pitanja Iz II Parcijale
http://slidepdf.com/reader/full/rpr-odgovori-na-teoretska-pitanja-iz-ii-parcijale 6/9
34.Koja je razlika izmeu Validated i Validating dogaaja?
Validating - dogaaj se deava kada fokus naputa kontrolu i pokuava da se prebaci na neku drugu
kontrolu ukoliko je osobina kontrole koja se odnosi na validaciju postavljena na true(npr.
CausesValidation osobina true)
Validated - dogaaj se deava nakon to se desi Validating event (toliko dugo koliko on nije prekinut)ali prije nego to kontrola izgubi fokus. Ovaj dogaaj se ne moe prekinuti pa nije tako koristan kao
Validating event za provjeru ulaznih podataka
35.Opisati naine kako izvjetavanje o grekama uzrokovano validacijom podataka se moe
pokazati korisniku.
Preko MessageBox klase, pomocu errorProvider kontrole, pomocu statusStrip kontrole
36.Objasniti ulogu ErrorProvider kontrole.
ErrorProvider kontrola pruza korisnicki interfejs za prikazivanje da neka kontrola kojoj je pridruzen
errorprovider ima gresku povezanu sa tom kontrolom.
37. Koji namespace u okviru .NET-a se koristi za crtanje?
System::Drawing
System::Drawing::Drawing2D
38. Koja je uloga klase Pen i Brush?
Pen crta linije i konture, a Brush se koristi za ispunjavanje unutranjosti grafikih objekata kao to su
elipse, poligoni, pite i slino.
39. Objasniti ulogu i nain definisanja OnPaint metode prilikom crtanja na formi?
Metod OnPaint uzrokuje Paint dogaaj.
Kada se crta na kontroli Form, moe se override metod OnPaint da bi se dobio Graphics objekt
argumenta PaintEventArgs ili kreirao novi Graphics objekt povezan sa odgovarajuim prostorom.
Da bi override nasljeeni OnPaint metod, koristi se sljedea header metoda:
protected:
virtual void OnPaint( PaintEventArgs e ) override;
8/3/2019 RPR - Odgovori Na Teoretska Pitanja Iz II Parcijale
http://slidepdf.com/reader/full/rpr-odgovori-na-teoretska-pitanja-iz-ii-parcijale 7/9
40. Koje su osnovne klase za crtanje linija a koje za crtanje pravougaonika, ovala?
Valjda u pitanju treba da stoji umjesto klase, metode.
8/3/2019 RPR - Odgovori Na Teoretska Pitanja Iz II Parcijale
http://slidepdf.com/reader/full/rpr-odgovori-na-teoretska-pitanja-iz-ii-parcijale 8/9
Pitanja za pripremu ispita u vezi predavanja: Datoteke , XML
1.Navesti osnovne klase za rad sa tekstualnim datotekama u okviru C++ .NET-a
System::IO namespace sadri sve klase koje se koriste za binarni i tekstualni I/O, takoer i klase koje
pomau radu sa fajlovima i direktorijima. Za rad sa tekstualnim datotekama se koriste :
2. Navesti osnovne klase za rad sa binarnim datotekama u okviru C++ .NET-a.
3. Objasniti binarnu serijalizaciju u datoteku.
Serijalizacija objekata sastoji se od spaavanja cijelog objekta kao cijeline umjesto pojedinanih polja.
Da bi se izvrila binarna serijalizacija, potrebno je kada se kreira klasa iji se objekti serijaliziraju
poeti definiciju klase sa atributom [Serializable].
Prije nego to se serijalizira objekat potrebno je referencirati:
System::Runtime::Serialization::Formatters::Binary namespace.
Klasa odgovorna za binarnu serijalizaciju je BinaryFormatter.
Nakon deklariranja varijabli, da bi se stvarno serijalizirao objekat poziva se Serialize() metod
BinaryFormatter klase.
7. XML je skraenica od _____________
Extensible Markup Language
8. ta je element a ta tag u XML-u, i koja je sintaksa za tag?
Element je okruen sa poetnim tagom <tag1> i krajnjim tagom </tag1>. Sve izmeu poetnog i
krajnjeg taga se naziva sadraj elementa.
Tag je najvanija forma oznaavanja u XML dokumentu. Uvijek se nalaze u okviru zagrada < >. Krajnji
tag poinje sa </.
8/3/2019 RPR - Odgovori Na Teoretska Pitanja Iz II Parcijale
http://slidepdf.com/reader/full/rpr-odgovori-na-teoretska-pitanja-iz-ii-parcijale 9/9
9. Navesti neka pravila koja moraju biti ispunjena da je XML dokument dobro formiran.
10. Zato je XML podesan za prikaz u obliku strukture drveta?
Zato to svaki svako djete element moze imati samo jednog roditelja, a roditelj moze imati vise djeca
elemenata. Xml mora imati bar jednog roditelja, koji se zove root element. Pomocu stabla(drveta) se
ustvari pokazuju veze koje imaju XML elementi.
11. ta je DTD i emu slui?
DTD- (document type definition - definicija tipa dokumenta)
DTD su pisani u formalnoj sintaksi koja precizno objanjava koji elementi se mogu pojaviti u
dokumentu, gdje se mogu pojaviti u dokumentu, kao i koji je sadraj i atributi elementa.
12. Koje su osnovne klase u .NET za rad sa XML-om?