←
↑
⇑
↓
→
Ласло Краус |
ПЈМП
Интегрални испит
8. 3. 2001.
|
Аутори: Игор Тартаља и Ласло Краус
Задаци: 1.1
1.2
2.3
2.4
2.5
| Напоменe
| Решења: 1.1
Поставка задатка 1.1 (40 поена)
(⇒ почетак)
Пројектовати на језику C++ систем класа са следећим описом:
- Низ реалних бројева може да се иницијализује задатом дужином (подразумевано 10 елемената, вредности елемената су произвољне) и другим низом, да се уништи, да се додељује вредност једног низа другом (
=
), да се приступи елементу са задатим индексом ([]
) и да се дохвати дужина низа (унарни +
). У случају недозвољеног индекса, пријављује се изузетак целобројног типа са вредношћу једнаком том недозвољеном индексу.
- Функција је апстрактна класа у којој је предвиђено израчунавање вредности реалне функције са једним реалним аргументом (
()
) и уписивање симболичког облика те функције (на пример формулу) у неки излазни ток (<<
).
- Верижни разломак је низ за који може да се израчуна вредност приложене функције v(x), подразумевано v0(x). Верижни разломак се исписује у облику низа његових коефицијената, на пример:
VRazl[
a0,
a1,
...,
an-1]
. У случају покушаја дељења нулом, пријављује се изузетак целобројног типа са вредношћу нула.
Саставити на језику C++ главни програм који прочита ред верижног разломка n, створи један верижни разломак са подразумеваним коефицијентима, промени вредност неких од коефицијената читајући преко главног улаза парове i – ai све док не прочита недозвољени индекс, прочита вредности xmin, xmax и Δx, и на крају, табелира вредност верижног разломка на главном излазу за xmin≤x≤xmax са Δx кораком .
Поставка задатка 1.2 (10 поена)
(⇒ почетак)
Објаснити начин генерисања псеудослучајних бројева по стандардној нормалној (Гаусовој) расподели.
Поставка задатка 2.3 (25 поена)
(⇒ почетак)
Пројектовати на језику Java пакет класа који садржи све класе из задатка 1.1. У класи Низ изоставити иницијализацију низом и доделу вредности. Уместо операторских функција правити обичне функције, уместо индексирања правити две методе (дохватање и постављање вредности елемента низа), а уместо операције за исписивање правити конверзију у тип String
. За изузетке правити одвојене класе. Саставити главни програм као у задатку 1.1. На располагању стоји класа Citaj
у безименом пакету која садржи заједничке методе за читање свих стандардних типова података.
Поставка задатка 2.4 (5 поена)
(⇒ почетак)
Навести за сваки од исказа везаних за Javu да ли је тачан или не и укратко образложити одговор.
а) Декларација A
a;
креира објекат a
класе A
.
б) Статички метод у Javi може преко референце this
да приступа нестатичким пољима.
в) Програмер мора да позива метод finalize()
да би се одговарајући објекат уништио.
г) protected
пољима базне класе се може приступати из изведене преко референце на базну.
д) Синхронизовани статички и синхронизовани нестатички метод класе се могу извршавати конкурентно.
Поставка задатка 2.5 (20 поена)
(⇒ почетак)
Саставити потпрограм на симболичком машинском језику за IBM-PC, који може да се позива из програма писаног на језику C, за израчунавање скаларног производа два вектора са једнобајтним компонентама. Резултат је двобајтни цео број. Користити компкатни меморијски модел (блиски позиви и далеки показивачи, име сегмента за наредбе је _text
).
Саставити главни програм на језику C++ који преко главног улаза рачунара прочита два вектора са једнобајтним компонентама и испише њихов скаларни производ преко главног излаза рачунара.
- Испит траје 4 сата.
- Задаци су подељени у две групе (1 и 2). Да би се
добила пролазна оцена, потребно је да се добије преко 50%
поена у свакој од група.
- Дозвољена је употреба Прегледа наредби процесора 80x86.
- Рад се предаје искључиво у вежбанци за испите. Није дозвољено
имати поред себе друге листове папира. Водити рачуна о уредности.
Решења задатака навести по горњем редоследу. Препоручује се рад
обичном графитном оловком.
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2001, Laslo Kraus
Последња ревизија: 15.7.2001.