←
↑
⇑
↓
→

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