←
↑
⇑
↓
→
Ласло Краус |
ИР2ОО1/СИ2ОО1
Испит
2. 7. 2006.
|
Аутори: Игор Тартаља и Ласло Краус
Задаци: 1
2
| Напоменe
Поставка задатка 1 (укупно 70 поена)
(⇒ почетак)
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа класа које су оспособљене за исписивање текста поруке):
- (15 поена) Апстрактан генератор случајних бројева на сваки захтев даје један псеудослучајан реалан број по некој расподели.
- Генератор униформне расподеле на основу задате 32-битне целобројне клице k и реалних граничних вредности min и max, задатих у тренутку стварања, може да врати случајну целобројну вредност у опсегу [0,232) и реалну вредност у опсегу [min,max). При сваком захтеву за следећим случајним бројем вредност клице се мења по формули k = (314159621 k + 907633385) mod 232. Враћена случајна целобројна вредност је једнака новој вредности клице, а реална вредност се добија пресликавањем нове вредности клице на поменути опсег.
- (20 поена) Апстрактан посматрач може да се доведе у почетно стање, да се стање посматрача ажурира на основу једног реалног податка, да се дохвати један реалан податак који представља тренутно стање посматрача и да се назив врсте посматрача упише у датотеку (
dat<<posm
).
- Минимум, максимум и средња вредност су посматрачи који као резултат одређују најмању, највећу, односно средњу вредност достављених података од последњег довођења у почетно стање. Грешка је ако се затражи дохватање резултата, а није био достављен ни један податак.
- (25 поена) Апстрактан субјекат посматрања може да достави један реалан податак свим пријављеним посматрачима ради ажурирања њихових стања. Ствара се празан после чега се посматрачи пријављују (
subj+=&posm
) и одјављују (subj-=&posm
) један по један. Пријављени посматрачи нису власништво субјекта.
- Статистички анализатор је субјекат који помоћу одређеног генератора случајних бројева може да генерише одређен број случајних бројева и те бројеве, један по један, достави свим пријављеним посматрачима.
(10 поена) Написати на језику C++ програм који направи један статистички анализатор, пријави му по један примерак од све три врсте посматрача, направи статистичку анализу 10000 униформних случајних реалних бројева у опсегу од −1 до 5 и испише добијене резултате на главном излазу.
Поставка задатка 2 (30 поена)
(⇒ почетак)
Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња везана за језик C++:
а) Која је улога оператора за "реинтерпретирајућу конверзију типа"? Навести пример.
б) Које су карактеристике аутоматски генерисаног подразумеваног конструктора? Када он постоји?
в) Како функција може да специфицира листу могућих изузетака и шта се догађа ако баци изузетак који није специфицирала?
г) Уколико се нека виртуелна основна класа О
наслеђује вишеструко у класи X
, колико пута ће се извршити њен конструктор при креирању објекта класе X
?
д) Која је улога итератора у STL-у и које радње омогућавају итератори?
- Испит траје 180 минута.
- Рад се предаје искључиво у вежбанци за испите. Није дозвољено имати поред себе друге листове папира.
- Водити рачуна о уредности. Решења задатака навести по горњем редоследу. Препоручује се рад обичном графитном оловком.
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2010, Laslo Kraus
Последња ревизија: 30.8.2010.