←
↑
⇑
↓
→
Ласло Краус |
ИР2ОО1
Испит
11. 3. 2005.
|
Аутори: Игор Тартаља и Ласло Краус
Задаци: 1
2
3
| Напоменe
Поставка задатка 1 (укупно 70 поена)
(⇒ почетак)
Реализовати на језику C++ следећи систем класа (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни):
- (25 поена) Тачка у равни садржи координате x и y (подразумевано (0,0)). Могуће је дохватити координате тачке, израчунати растојање до задате тачке и уписати тачку у датотеку (
d<<t
) у облику (
x,
y)
.
- Кружница у равни садржи полупречник (подразумевано 1) и тачку која представља центар (подразумевано (0,0)). Могуће је дохватити центар и полупречник кружнице и уписати кружницу у датотеку (
d<<k
) у облику [(
x,
y),
r]
.
- Изломљена линија садржи низ тачака које чине њена темена. Ствара се празна задатог капацитета (подразумевано 5), после чега се темена могу додавати једно по једно (
lin+=t
). Препуњавање капацитета се пријављује изузетком типа једноставне класе која је у стању да испише одговарајућу поруку. Координате центра изломљене линије се добијају као аритметичке средње вредности x, односно y координата темена. Могуће је израчунати дужину линије и уписати изломљену линију у датотеку (d<<lin
) у облику [
t,
t,…,
t]
, где су t – резултати писања темена изломљене линије.
- Многоугао је затворена изломљена лилинија.
- (25 поена) Апстрактни географски симбол садржи јединствени, аутоматски генерисани идентификациони број. Могуће је дохватити центар симбола, створити динамичку копију симбола и уписати симбол у датотеку (
d<<s
), при чему се пише идентификациони број симбола.
- Место је географски симбол који садржи име и кружницу. Центар симбола је центар садржане кружнице. У датотеку се пише у облику
M
id:
ime[(
x,
y),
r]
, где су: id – идентификациони број места, ime – име места, а x, y и r – подаци о садржаној кружници.
- Река је географски симбол који садржи изломљену линију и име. Центар симбола је центар садржане линије. У датотеку се пише у облику
R
id:
ime[
t,
t,…,
t]
, где су t – резултати писања темена садржане изломљене линије.
- Изохипса је географски симбол који садржи многоугао и надморску висину. Центар симбола је центар садржаног многоугла. У датотеку се пише у облику
I
id(
h)[
t,
t,…,
t]
, где је h – надморска висина изохипсе.
- (10 поена) Географска карта садржи произвољан број географских симбола. Ствара се празна, после чега се географски симболи могу додавати један по један (
k+=s
). Могуће је дохватити симбол чији је центар најближи задатој тачки и уписати карту у датотеку (d<<k
), када се у датотеку пишу сви садржани симболи, један симбол по реду.
(10 поена) Написати на језику C++ главни програм који састави пример географске карте са фиксним параметрима (није потребно учитавање делова са главног улаза), испише на главни излаз састављену карту, и испише симбол у карти који је најближи фиксно задатој тачки.
Поставка задатка 2 (30 поена)
(⇒ почетак)
Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња:
а) У чему су специфичноси уграђених (inline) функција у односу на обичне функције?
б) На које начине може да се позове функција operator()()
за објекат x
класе X
?
в) Да ли апстрактна класа може имати конструктор и зашто?
г) Који проблем се појављује код вишеструког наслеђивања и како се решава?
д) Да ли је механизам шаблонских функција статички или динамички и зашто?
Поставка задатка 3 (25 поена – допуна уместо лабораторијских вежби)
(⇒ почетак)
Пројектовати на језику C++ следећи систем класа (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни):
- Тачка у тродимензионалном простору се представља x, y и z координатама (подразумеване вредности су (0,0,0)). Тачка може да се конструише задавањем три координате, може да се израчуна растојање од друге тачке (
operator-
) и може да се испише на стандардни излаз у облику (
x,
y,
z
), користећи operator<<
.
- Мерење се описује паром (температура, време), при чему је температура реалан, а време цео број такав да се дневно време изражава у ms мерено од 00:00.
- Мерна тачка је тачка са придруженим низом мерења у датој тачки простора. Предвидети да се димензија низа мерења одређује при креирању мерне тачке, које се врши на основу тачке и броја мерења. Потребно је омогућити постављање и читање i-тог мерења.
- Збирка мерних тачака је низ ограниченог капацитета који се димензионише у време креирања и садржи мерне тачке. Мерне тачке се могу додавати у збирку. Покушај додавања тачке у попуњену збирку изазива изузетак. Од збирка се могу добити информације о средњој температури у сфери задатог центра и полупречника у задатом интервалу времена.
- Испит траје 180 минута (са допунским задатком 240 минута).
- Наведени поени се множе са 0,8. Прерачунати највећи број поена је:
- без допунског задатка 80, на шта се додају до 20 поена добијена на лабораторијским вежбама;
- са допунским задатком 100.
- Рад се предаје искључиво у вежбанци за испите. Није дозвољено имати поред себе друге листове папира.
- Водити рачуна о уредности. Решења задатака навести по горњем редоследу. Препоручује се рад обичном графитном оловком.
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2010, Laslo Kraus
Последња ревизија: 30.8.2010.