←
↑
⇑
↓
→
Ласло Краус |
ИР2ОО1/СИ2ОО1
Испит
4. 9. 2006.
|
Аутори: Игор Тартаља и Ласло Краус
Задаци: 1
2
| Напоменe
Поставка задатка 1 (укупно 70 поена)
(⇒ почетак)
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа класа које су оспособљене за исписивање текста поруке):
- (15 поена) Боја се задаје помоћу реалних интензитета црвене, зелене и плаве боје у опсегу од 0 до 1 (подразумевано (1,1,1), тј. бела боја). Грешка је ако је вредност интензитета неке од боја изван наведеног опсега. Боја може да се упише у датотеку (
dat<<boja
) у облику (
c,
z,
p),
где су: c, z и p – интензитети компонентних боја.
- Тачка у равни се задаје помоћу реалних координата (подразумевано (0,0)) и могу да јој се дохвате вредности координата.
- (15 поена) Апстрактна попуњена фигура у равни има јединствен, аутоматски генерисан идентификациони број и боју. Може да се дохвати њен идентификациони број и боја, да се испита да ли јој припада нека задата тачка (сматра се да тачка припада фигури ако лежи у унутрашњости или на ивици фигуре) и да се сазна које је боје задата тачка која припада фигури (грешка је ако наведена тачка не припада фигури).
- Правоугаоник је фигура која има ивице паралелне координатним осама и задаје се помоћу две тачке које чине доње лево и горње десно теме (подразумевано (0,0) и (1,1)).
- Круг је фигура која се задаје помоћу полупречника и тачке која представља центар круга (подразумевано полупречника 1 са центром у тачки (1,1)).
- (15 поена) Генерички низ се ствара празан задатог капацитета почетног капацитета (подразумевано 10) после чега се елементи додају један по један (
niz+=elem
). Ако се низ препуни, капацитет му се поваћа за 5 елемената. Може да се дохвати број елемената низа и да се приступа елементу са датим редним бројем (niz[ind]
; грешка је ако је индекс изван опсега).
- (15 поена) Цртеж је правоугаоник који може да садржи произвољан број фигура у облику генеричког низа. Боја фигуре представља боју подлоге цртежа. Координате садржаних фигура рачунају се у односу на доње лево теме цртежа. У случају преклапања фигура, касније додата фигура прекрива раније додату фигуру (боју тачке у цртежу одређује фигура која последња додата цртежу и садржи ту тачку – ако такве фигуре нема, узима се боја подлоге).
(10 поена) Написати на језику C++ програм који направи један цртеж од неколико фигура константних параметара (не треба ништа учитавати) и после читајући неколико парова координата тачака исписује боју тих тачака у цртежу.
Поставка задатка 2 (30 поена)
(⇒ почетак)
Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња везана за језик C++:
а) Да ли се у свим функцијама чланицама може користити показивач this? Образложити.
б) Каква је разлика између преклапања (overloading) имена и редефинисања (overriding) метода? Навести пример.
в) Навести тачан редослед активности при стварању објекта неке изведене класе D из основне класе B, где D садржи члан класе Y, a B садржи члан класе X.
г) Ако је основна класа изузетака B, из ње изведена класа D1, а из D1 изведена класа D2, написати наредбу try са одвојеном обрадом (catch гранама) сва три типа изузетака (са празним телима рутина за обраду изузетака).
д) Да ли је и зашто механизам генерисања из шаблона статички или динамички?
- Испит траје 180 минута.
- Рад се предаје искључиво у вежбанци за испите. Није дозвољено имати поред себе друге листове папира.
- Водити рачуна о уредности. Решења задатака навести по горњем редоследу. Препоручује се рад обичном графитном оловком.
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2010, Laslo Kraus
Последња ревизија: 30.8.2010.