←
↑
⇑
↓
→
Ласло Краус |
ИР2ОО1/СИ2ОО1
Испит
24. 8. 2011.
|
Аутори: Игор Тартаља и Ђорђе Ђурђевић
Задаци: 1
2
| Напоменe
Поставка задатка 1 (30 поена)
(⇒ почетак)
Одговорити концизно (једна или две реченице) и прецизно на следећа питaња:
а) Шта се постиже модификатором методе inline
и када се тај модификатор подразумева?
б) Чему су намењени анонимни простори имена?
в) У коју сврху могу да се користе аргументи шаблона при навођењу наредних аргумената шаблона? Навести пример.
Поставка задатка 2 (укупно 70 поена)
(⇒ почетак)
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа једноставних класа које су опремљене писањем текста поруке):
- (15 поена) Мрежна адреса се састоји од четири неозначена цела броја, од којих прва три чине адресу мреже којој припада мрежни уређај, а четврти представља идентификатор мрежног уређаја. Две адресе могу да се пореде на једнакост (
adr1==adr2
), може да се одреди aдреса мреже којој припада дата адреса уређаја и да се адреса упише у излазни ток (it<<adresa
).
- Мрежна порука се састоји од две адресе (изворишне и одредишне) и текста поруке, произвољне дужине. Могу да се дохвате адресе и текст поруке. Не може да се направи копија поруке.
- (20 поена) Мрежни прикључак има везу ка другом прикључку и ка мрежном уређају у чијем саставу се налази. Прикључак може да се повеже са другим прикључком (грешка је ако је било који прикључак већ повезан), да раскине везу са другим прикључком, да прими и да пошаље поруку. Пријем поруке се обавља тако што се придруженом мрежном уређају сигнализира да прими дату поруку. Порука се шаље прикључку са којим је прикључак који је шаље у вези. Грешка је ако се покуша слање поруке неповезаном прикључку.
- Мрежни уређај садржи низ прикључака задате дужине. Прикључци се стварају приликом стварања уређаја. Уређај може да прими поруку, када се осим поруке доставља и прикључак којим је порука приспела. Може да се дохвати прикључак под задатим индексом. Грешка је ако се зада погрешан индекс. Не може да се прави копија уређаја.
- (25 поена) Рачунар је уређај који има једну адресу и један прикључак. Рачунар прихвата поруку само ако је њему упућена, а у супротном је игнорише. Порука је упућена неком рачунару ако је одредишна адреса поруке једнака адреси рачунара. Рачунар реализује пријем поруке тако што на стандардном излазу испише своју адресу, адресу пошиљаоца поруке и текст поруке. Рачунар може да пошаље задати текст на задату адресу.
- Мост је уређај који има две адресе и два прикључка (сваком прикључку је придружена једна адреса). Порука може да стигне до моста путем било ког прикључка. Мост прослеђује поруку на други прикључак ако се адреса мреже из одредишне адресе поруке разликује од адресе мреже прикључка путем којег је порука доспела до моста. У супротном, порука се игнорише.
- Разделник је уређај са задатим бројем прикључака. Порука може да доспе путем било ког прикључка. Разделник прослеђује примљену поруку на све прикључке изузев на прикључак којим је порука доспела.
(10 поена) Написати на језику C++ програм који ствара две рачунарске мреже. У саставу сваке се налази неколико рачунара међусобно повезаних разделником. Мреже су међусобно повезане једним мостом. Након формирања мрежа, програм иницира слање поруке са рачунара из једне мреже ка рачунару из друге мреже. Користити константне податке. Напомена: сви рачунари у оквиру једне мреже имају исту адресу мреже.
- Испит траје 180 минута.
- Рад се предаје искључиво у факултетској вежбанци за испите (-5 поена за неадекватну вежбанку). Није дозвољено имати поред себе друге листове папира.
- Водити рачуна о уредности. Нечитки делови текста ће бити третирани као непостојећи. Решења задатака навести по гoрњем редоследу (-1 поен за лош редослед). Препоручује се рад обичном графитном оловком.
- Решење задатка не треба раздвајати у датотеке. Довољно је за сваку класу навести дефиницију класе и одмах иза ње евентуалне дефиниције метода које нису дефинисане у самој класи.
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2011, Laslo Kraus
Последња ревизија: 4.11.2011.