←
↑
⇑
↓
→
Ласло Краус |
ИР2ОО1
Испит
11. 2. 2007.
|
Аутори: Игор Тартаља и Ласло Краус
Задаци: 1
2
| Напоменe
| Решења: 2
Поставка задатка 1 (30 поена)
(⇒ почетак)
Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња:
а) Дискутовати могућност приступа заједничкој (static) методи класе преко објекта те класе?
б) Чему је намењен и која су ограничења за писање преклопљеног оператора operator()
?
в) Да ли апстрактна класа може имати конструктор и зашто?
г) Да ли је исправно бацити као изузетак показивач на локалну променљиву текуће методе и зашто?
д) Да ли је механизам генерика статички или динамички и зашто?
Поставка задатка 2 (укупно 70 поена)
(⇒ решење | почетак)
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа једноставних класа које су опремљене писањем текста поруке):
- (20 поена) Етапа вожње се задаје помоћу реалне дужине и брзине. На једној етапи се не мења брзина. Могу да се дохвате атрибути етапе и да се израчуна време кретања у етапи.
- Вожња садржи низ етапа задатог капацитета (подразумевано 10). Ствара се празна после чега се етапе додају једна по једна. Ако се низ препуни, програм се прекида. Може да се одреди укупна дужина вожње, укупно трајање и средња брзина кретања у току вожње.
- (20 поена) Апстрактно возило има задату сопствену тежину. Може да се дохвати назив врсте возила, да се одреди тежина возила и да се возило упише у излазни ток (
it<<v
). Пише се назив врсте возила и сопствена тежина возила.
- Бицикл је возило.
- Камион је возило задате сопствене тежине и носивости. Ствара се без товара после чега може да се дода товар задате тежине (
k+=t
) и да се скине товар задате тежине (k-=t
). Грешка је ако се камион претовари. Скидањем превише товара тежина товара постане једнака нули. У излазни ток се пише и тренутна тежина товара на камиону.
- (25 поена) Генерички низ може да садржи елементе неког типа. Ствара се празан задатог капацитета (подразумевано 20) после чега елементи могу да се додају један по један (
niz+=e
). Грешка је ако се низ препуни. Може да се дохвати број елеменатa у низу, да се дохвати елемент задатог редног броја (niz[i]
) и да се низ испразни. Грешка је ако се покуша дохватити непостојећи елемент.
- Тркачки ауто је возило којe садржи генерисан низ вожњи. Ствара се с празним низом капацитета 10 вожњи. Може да се започне нова вожња капацитетa 100 етапа, да се последње започетој вожњи дода нова етапа, да се одреди вожња са највећом средњом брзином. У излазни ток се пише и дужина вожње са највећом средњом брзином.
(5 поена) Саставити на језику C++ програм који направи тркачки ауто са две вожње које садрже по три етапе, испише ауто на главном излазу и за вожњу с највећом средњом брзином испише дужину, трајaње и средњу брзину.
- Испит траје 180 минута.
- Рад се предаје искључиво у вежбанци за испите. Није дозвољено имати поред себе друге листове папира.
- Водити рачуна о уредности. Решења задатака навести по горњем редоследу. Препоручује се рад обичном графитном оловком.
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2010, Laslo Kraus
Последња ревизија: 30.8.2010.