←
↑
⇑
↓
→
Ласло Краус |
ИР2ОО1/СИ2ОО1
Испит
27. 9. 2009.
|
Аутори: Игор Тартаља и Ласло Краус
Задаци: 1
2
| Напоменe
Поставка задатка 1 (30 поена)
(⇒ почетак)
Одговорити концизно (једна или две реченице) и прецизно на следећа питaња:
а) Каква је разлика између статичке и нестатичке методе? Да ли се у статичкој методи може користити this
?
б) Да ли је позив методе са динамичким везивањем (полиморфне методе) ефикаснији од позива методе са статичким везивањем и зашто?
в) Ако важи class
I:O{}
, коју вредност ће имати аргумент x по напуштању методе m
:
void m(int& x) {
x=0;
try {x=1; throw new O; x=2;} catch(I* i) {x=3;}
if(x!=3) x=4;
}
Поставка задатка 2 (укупно 70 поена)
(⇒ почетак)
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа једноставних класа које су опремљене писањем текста поруке):
- (20 поена) Особа има име произвољне дужине и може да се упише у излазни ток (
it<<osoba
, пише се име особе). Име се задаје приликом стварања особе.
- Студент је особа која може да има највише 50 целобројних оцена. Ствара се без оцена које се после додају једнa по једна (грешка је ако се препуни капацитет). Може да се дохвати тренутни број оцена, да се израчуна средња вредност позитивних оцена (>5) и да се два студента упореде на основу средње оцене (
stud1<stud2
). У излазни ток се након имена пише и средња оцена у заградама.
- (20 поена) Збирка може да садржи показиваче на податке неког типа. Ствара се празна, задатог капацитета, после чега се подаци додају један по један на крај низа (грешка је ако се збирка препуни). Може да се дохвати број података у збирци и да се дохвати (
zbr[ind]
) или извади податак са датим редним бројем (у оба случаја je грешка ако је индекс изван опсега). Не сме да се прави копија збирке ни на који начин. Није дозвољено користити класе из стандардне библиотеке шаблона (STL).
- Уређена збирка је збирка која показиваче на податке неког типа садржи по неопадајућем редоследу вредности показиваних података.
- (20 поена) Група студената садржи целобројну годину студија, календарску годину, двословну ознаку одсека и уређену збирку студената на основу њиховог просека. Може да се додаје студент и да се одредити средња оцена студената групе. У излазни ток се пишу година студија, календарска година, ознака одсека, средња оцена групе и у посебим редовима чланови групе.
- Факултет садржи назив факултета и збирку група студената. Може да се додаје једна група и да се одредити средња оцена студената факултета (свих група). У излазни ток се пишу име факултета и средња оцена студената факултета.
(10 поена) Написати на језику C++ програм који, читајући податке с главног улаза, направи један факултет с произвољним бројем група и студената по групи.
- Испит траје 180 минута.
- Рад се предаје искључиво у факултетској вежбанци за испите (-5 поена за неадекватну вежбанку). Није дозвољено имати поред себе друге листове папира.
- Водити рачуна о уредности. Решења задатака навести по гoрњем редоследу (-1 поен за лош редослед). Препоручује се рад обичном графитном оловком.
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2010, Laslo Kraus
Последња ревизија: 30.8.2010.