Elektrotehnicki fakultet, Beograd  Ласло Краус ПЈМП
Интегрални испит
5. 5. 2001.

Аутори: Игор Тартаља и Ласло Краус

Задаци: 1.1 1.2 2.3 2.4 2.5 | Напоменe

Поставка задатка 1.1 (40 поена) ( почетак)

У једном програму за потребе грађевинарства креирају се и користе различита геометријска тела. За потребе овог програма реализовати следеће апстракције на језику C++:

а) Геометријско тело које је окарактерисано именом, могућношћу израчунавања запремине и површине и могућношћу исписа на стандардном излазу. Испис објеката геометријских тела обезбедити преклапањем оператора <<. Испис треба да обухвати име тела као и податке о површини и запремини тела. Геометријском телу се име додељује искључиво приликом креирања конкретних тела.

б) Конкретна тела коцку и ваљак. Поред имена, површине и запремине, за коцку је потребно исписати дужину странице, а за ваљак дужину полупречника и висину.

в) Колекцију геометријских тела која се понаша као стек (стави/узми по LIFO протоколу).

г) Интерпретер за тестирање изградње и разградње сложеног тела. Интерпретер препознаје команде ('1', '2', '0'), где '1' означава унос коцке, '2' унос ваљка, a '0' крај уноса. За свако конкретно тело се учитавају потребни подаци са стандардног улаза, а затим се конкретно тело креира и ставља у колекцију. Када се заврши унос, врши се раградња сложеног тела уз исписивање елементарних тела редоследом узимања из колекције.

д) Главни програм који користећи интерпретер из (г) изгради и разгради неко сложено тело.

Поставка задатка 1.2 (10 поена) ( почетак)

Описати укратко алгоритам Хафмановог статичког кодирања и навести предности и недостатке.

Поставка задатка 2.3 (25 поена) ( почетак)

Пројектовати на језику Java пакет класа који садржи све класе и главни програм из задатка 1.1. Уместо операције за исписивање реализовати метод за конверзију у тип String. На располагању стоји класа Citaj у безименом пакету која садржи заједничке методе за читање свих стандардних типова података.

Поставка задатка 2.4 (5 поена) ( почетак)

За сваки од наведених исказа везаних за језик Java, рећи да ли је коректан и зашто.

а) Статички методи могу користити референцу this за приступ неком пољу исте класе

б) protected пољима се може приступати из изведених класа које не припадају истом пакету

в) Подразумевано право приступа дозвољава приступ из свих класа истог пакета

г) Интерфејс може да садржи само апстрактне методе и произвољна поља

д) Метод који може да баци "проверени" (checked) изузетак се мора позвати из try наредбе.

Поставка задатка 2.5 (20 поена) ( почетак)

Дугачки позитивни цели бројеви представљају се у облику низа бајтова чији елементи садрже по једну децималну цифру у бинарном облику. Саставити потпрограм на симболичком машинском језику за IBM-PC, који може да се позива из програма писаног на језику C, за додавање вредности једног дугачког целог броја на вредност другог дугачког целог броја исте дужине. Користити средњи меморијски модел (далеки позиви и блиски показивачи).

Саставити на језику C++ главни програм који, коришћењем горњег потпрограма, израчунава n-ти Fibonacci-јев број дефинисан са fn = fn-1 + fn-2 (f1=1, f0=0). Вредност n читати преко главног улаза и резултат исписати преко главног излаза.


Напоменe ( почетак)

( почетак)
         
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs

Copyright © 2001, Laslo Kraus
Последња ревизија: 16.7.2001.