←
↑
⇑
↓
→
Ласло Краус |
ПЈМП
Интегрални испит
11. 10. 2001.
|
Аутори: Игор Тартаља и Ласло Краус
Задаци: 1.1
1.2
2.3
2.4
2.5
| Напоменe
Поставка задатка 1.1 (40 поена)
(⇒ почетак)
Пројектовати на језику C++ класe са следћим описом:
- Боја се задаје помоћу реалних интензитета црвене, зелене и плаве боје у опсегу од 0 до 1 (подразумевано (1,1,1), тј. бела боја). Грешка је ако је вредност интензитета неке од боја изван наведеног опсега.
- Тачка у равни се задаје помоћу реалних координата (подразумевано (0,0)) и могу да јој се дохвате вредности координата.
- Апстрактна попуњена фигура у равни има јединствени, аутоматски генерисани идентификациони број и боју. Може да се дохвати њен идентификациони број (унарни оператор
+
), да се испита да ли јој припада нека задата тачка (оператор <
; t<f
; при чему се сматра да тачка припада фигури ако лежи у унутрашњости или на ивици фигуре) и да се сазна које је боје задата тачка која припада фигури (грешка је ако наведена тачка не припада фигури).
- Правоугаоник је фигура која има ивице паралелне координатним осама и задаје се помоћу две тачке које чине доње лево и горње десно теме (подразумевано (0,0) и (1,1)).
- Круг је фигура која се задаје помоћу полупречника и тачке која представља центар круга (подразумевано полупречника 1 са центром у тачки (1,1)).
- Цртеж је фигура правоугаоног облика са ивицама паралелним координатним осама, која се задаје координатама доњег левог темена, ширином и висином (без подразумеваних вредности). Цртежу могу да се додају друге фигуре (оператор
+=
) чије координате се рачунају у односу на доње лево теме цртежа. Цртежи се стварају "празни". У случају преклапања фигура, касније додата фигура прекрива раније додату фигуру.
Предвидети деструкторе у класама у којима су неопходни. Грешке пријављивати изузецима. Није потребно писати главни програм нити улазно-излазне операције.
Поставка задатка 1.2 (10 поена)
(⇒ почетак)
У једном испитивању становника постављено je неко питање, са 5 понуђених одговора. Функција густине расподеле одговора на питање, у процентима, износила је {75, 15, 7, 2, 1}, респективно, по понуђеним одговорима. Написати функцију int
odgovor()
која генерише псеудослучајан одговор [od 1 do 5] на дато питање у наведеној популацији. Претпоставити да је на располагању генератор униформне расподеле float
rand()
који враћа реалан број у опсегу [0,1].
Поставка задатка 2.3 (25 поена)
(⇒ почетак)
Пројектовати на језику Java пакет класа који садржи све класе из задатка 1.1. Уместо операторских функција правити обичне методе.
Поставка задатка 2.4 (5 поена)
(⇒ почетак)
Написати потпуну декларацију методе m из класе A
која ће:
- бацати изузетак типа
E
;
- моћи да се позива само из изведених класа и класа истог пакета;
- примати као стварни аргумент референцу на произвољан објекат;
- враћати као резултат референцу на објекат класе у којој се налази;
- бити заједнички за све објекте класе у којој се налази.
Поставка задатка 2.5 (20 поена)
(⇒ почетак)
Саставити потпрограм на симболичком машинском језику за IBM-PC, који може да се позива из програма писаног на језику C, за образовање наредног случајног броја чији битови се од претходног броја добијају помоћу формула: b0(n) = b15(n-1) ⊕ b7(n-1) ⊕ b3(n-1) и bi(n) = bi-1(n-1) (i=1, 2, ..., 15), где је ⊕ сабирање по модулу 2 (искључиво или). Користити велики меморијски модел (далеки позиви и далеки показивачи).
Саставити главни програм на језику C++ који исписује низ од задатог броја случајних бројева почев од неког почетног броја. Потребне податке читати преко главног улаза.
- Испит траје 4 сата.
- Задаци су подељени у две групе (1 и 2). Да би се
добила пролазна оцена, потребно је да се добије преко 50%
поена у свакој од група.
- Дозвољена је употреба Прегледа наредби процесора 80x86.
- Рад се предаје искључиво у вежбанци за испите. Није дозвољено
имати поред себе друге листове папира. Водити рачуна о уредности.
Решења задатака навести по горњем редоследу. Препоручује се рад
обичном графитном оловком.
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2002, Laslo Kraus
Последња ревизија: 18.2.2002.