←
↑
⇑
↓
→

Ласло Краус |
Објектно програмирање 1 - испити
Практични испит
11. 2. 2011.
|
Задатак
| Напомене
Поставка задатка
(садржај)
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа једноставних класа које су опремљене исписивањем поруке):
- Апстрактном производу може да се дохвати једнословна ознака врсте, да се израчуна запремина, да се направи динамичка копија и да се упише у излазни ток (
it<<pro
) када се пише ознака врсте.
- Квадар и ваљак су производи задатих дужина ивица, односно полупречника основе и висине. У излазни ток се, поред ознаке врсте пишу и њихове димензије.
- Складиште може да садржи задат број производа до задате укупне запремине. Може да се стави један производ у складиште и да се узме један производ из складишта по редоследу додавања. Грешка је ако се покуша препунити складиште или узети производ из празног складишта.
- Апстрактан актер има јединствен, аутоматски генерисан целобројан идентификатор. Може да се дохвати вишесловна ознака врсте и да му се саопшти да је протекло одређено време. У случајним временским интервалима између најкраћег и најдужег трајања, која се задају приликом стварања, изврши неку апстрактну радњу. Актер може да се упише у излазни ток (
it<<akt
) када се пише његова ознака врсте и његов идентификатор.
- Произвођач је актер чија радња се састоји од стварања и стављања у задато складиште копије задатог производа уз исписивање на главном излазу свог идентификатора и иза тога стављеног производа или поруке о грешци. Ознака врсте је
pro
.
- Потрошач је актер чија радња се састоји од узимања из задатог складишта једног производа уз исписивање на главном излазу свог идентификатора и иза тога узетог производа или поруке о грешци. Ознака врсте је
pot
.
- Часовник служи за обавештавање пријављених актера о протоку времена. Ствара се без пријављених актера, после чега актери могу појединачно да се пријављују (
cas+=&akt
) и одјављују (cas−=&akt
). Пријављени актери нису власништво часовника. Кад се часовник покрене (уз задавање кванта и укупног времена), он одбројава време (увећавањем за задати квант) и обавештава све пријављене актере о протоку кванта времена до задатог укупног времена уз исписивање тренутног времена на главном излазу на почетку сваког циклуса обавештавања. Часовник не може да се копира ни на који начин.
Написати на језику C++ програм који направи једно складиште, направи један часовник, пријави часовнику два произвођача (од којих један производи квадре, а други ваљке) и три потрошача и покрене часовник да са неким кораком ради извесно време. Користити фиксне параметре (не треба ништа учитавати с главног улаза).
- Испит траје 180 минута.
- Не користити свој лични налог, већ корисничко име
ispitx
(x
је број радне станице за којим се ради). Лозинка на свакој радној станици је student
.
- Пројекат обавезно формирати на диску
Z:
.
- Решење задатка смештати у потребан број датотека изворног текста програма (за сваку класу једна или две датотеке и главни програм). Не стављати целокупно решење у једну датотеку.
- На почетку сваке датотеке навести своје име и број индекса.
- Пожељно је да програм проради до краја испита.
(садржај)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2013, Laslo Kraus
Последња ревизија: 29.6.2013.