Ласло Краус |
ИР2ОО1/СИ2ОО1 Испит 30. 8. 2009. |
|---|
Одговорити концизно (једна или две реченице) и прецизно на следећа питaња:
а) Шта означавају појмови досег (област важења, scope) имена и животни век променљиве (објекта)?
б) Да ли су дозвољене и зашто променљиве типа показивача или упућивача (референце) на апстрактну класу?
в) Шта се догађа са необрађеним изузетком и како се може утицати на понашање програма у том случају?
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа једноставних класа које су опремљене писањем текста поруке):
niz+=pod – грешка је ако је низ пун или ако податак није умножив), да се дохвати податак на задатом месту (niz[k] – грешка је ако је индекс изван опсега или ако је задато место празно) и да се низ упише у излазни ток (it<<niz) у облику "<податак#…#податак>".
unsigned char. Резултат у оба случаја је истог типа као и обрађивани податак. Може да се модул упише у излазни ток (it<<modul).
Komplementiranje.
EksIli(m).
RotacijaBita(ротација_лево,број_места).
unsigned char[], тако што узастопне податке из вектора прослеђује узастопнo-циркуларно садржаним модулима (на пример, за n модула, податак n+1 прослеђује првом модулу). Обрада се врши над елементима вектора (не прави се нов вектор). Грешка је ако се покрене обрада а кодек не садржи ниједан модул. Кодек може да се упише у излазни ток (it<<kodek) у облику kodek{низ_модула}.
(10 поена) Написати на језику C++ програм који направи један кодек у који дода 3 различита модула и затим обави шифровање и дешифровање поруке задате као знаковни низ. Програм треба да испише садржај поруке пре и након обраде.
Copyright © 2010, Laslo Kraus
Последња ревизија: 30.8.2010.