← А>
↑
⇑
↓
→

Ласло Краус |
Објектно програмирање 1
Домаћи задатак за 2008/09
|
Поставка задатка
Пројектовати и реализовати на језику C++ следеће класе:
- Производ има јединствен, аутоматски генерисан идентификациони број који може да се дохвати. Производ може да се упише у излазни ток и тада се пише његов идентификациони број.
- Складиште може да ускладиштава задати број производа. Ствара се празно после чега може да се додаје и узима по један производ. Покушај стављања производа у пуно складиште или узимања из празног складишта је грешка. Складиште може да се упише у излазни ток и тада се пишу садржани производи.
- Апстрактан актер у случајним временским интервалима изводи неку радњу. Има јединствен, аутоматски генерисан идентификациони број. Најкраће и најдуже време између извођења радњи се задају при стварању актера. Може да се дохвати врста актера, да се актеру саопшти да је протекло јединично време и да се актер упише у излазни ток. Пише се врста и идентификациони број актера.
- Часовник служи за мерење времена. Актери могу да се региструју код часовника ради обавештавања о протоку времена. Када се часовник покрене, регистроване актере обавештава о протоку јединичног времена задати број пута. Актери који престају са радом могу да се одјаве од часовника.
- Произвођач је актер чија се радња састоји од стварања једног производа, уписивања произвођача у излазни ток и стављања производа у задато складиште. Ако стављање производа не успе, (само) стављање се покуша поново. При уписивању произвођача у излазни ток пише се и последње произведени производ.
- Потрошач је актер чија се радња састоји од узимања једног производа из задатог складишта и исписивања потрошача на главном излазу. Ако узимање поизвода не успе, узимање се покуша поново по истеку јединичног времена. При уписивању потрошача у излазни ток пише се и последње узети производ.
- Извештач је актер чија се радња састоји од перодичног исписивања садржаја задатог складишта на главном излазу са задатом периодом.
Написати на језику C++ програм који приказује рад претходних класа. Користити фиксне параметре (не треба ништа учитавати) који обезбеђују квалитетан приказ рада.
а) Детаљи решења (унутрашња структура објеката, списак операција, начин спољашњег приказивања објеката) препуштају се студентима. Све класе треба да буду снабдевене неопходним елементима за безбедно коришћење у било ком окружењу (конструктори, деструктор, додела вредности). Конфликтне ситуације разрешавати изузецима типа класа специјално пројектованих за то.
б) Решење домаћег задатка се припрема у потребном броју датотека са изворним текстовима програма (не користити редове дужих од 70 знакова).
в) За пролазну оцену неопходно је да програм може да изврши бар 10% очекиване функционалности.
г) Домаћи задаци се предају слањем електронском поштом на адресу kraus@etf.rs у облику једне архивске датотеке (.zip
или .rar
). У пошиљку не укључити пројектну датотеку, изводљиви облик програма итд., већ само изворне текстове програма.
д) Студенти који испит положе кроз колоквијуме (само у јунском испитном року) домаће задатке треба да пошаљу у року који ће бити објављен заједно са резултатима другог колоквијума. Тај рок неће бити дужи од два до три дана. Одбрана домаћих задатака биће око 5 до 7 дана после тог рока.
ђ) Остали студенти решења домаћих задатака треба да пошаљу најкасније три дана пре полагања испита. Без унапред предатог домаћег задатка не може да се полаже испит. Домаћи задаци ће се бранити пар дана после успешно положеног испита. Ако се испит не положи, приликом следећег полагања потребно је послати домаћи задатака.
(садржај)
← А>
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2010, Laslo Kraus
Последња ревизија: 6.5.2010.