LINIVERSITI SAINS MALAYSIA
Peperiksaan Semester Pertama Sidang
Akademik
200412005Oktober 2004
CIT502 - Pengaturcaraan dan Kejuruteraan Perisian Berorientasi Objek
Masa : 2 iam
ARAHAN KEPADA CALON:
'
Sila pastikan bahawa kertas peperiksaanini
mengandungiEMPAT
soalandi
dalamLIMA
muka surat yang bercetak sebelum anda memulakan peperiksaan ini..
JawabSEMUA
soalan.Anda boleh memilih untuk menjawab
semua soalandalam
BahasaMalaysia
atau Bahasa Inggeris.209
lcrrs02l
"|
1. (a)
Terangkan perbezaanantara;(i)
Salinan'deep' and'shallow'(ii)
Rekursi terus dan tidak terus(iii)
Kes asas dan kes am dalam kaedah rekursi(iv) Ahli-ahli
persendirian dan terlindung dalam kelas(v)'Overloading'namakaedahdan'overriding'namakaedah
(10/100)
(b)
Pertimbangkan kaedah berikut:public stat.ic inu mystery(int x, double y, char ch)
{ ,r,, .,,
if ('A' <=ch && ch <= 'R')
return (Z * x + (int) (y) );
return( (int) (2 * y) -x)
;Apakah output bagi kenyataan Java berikut?
(i) System. out
.println (mystery
(4 , 9 .7, 'v'
) i(ii) system. out.println (2*mystery (5,
3 .'7, 'D',)
i(2/r00)
(c) Tulis
satu atur cara Java untuk melaksanakan langkah-langkah berikut:(i) Minta dari pengguna untuk menginput 2 integer firstNum
dansecondNum.
(firstNum
mestilah kurang daripada secondNum)(ii) Outputkan semua nombor-nombor genap antara firstNum
dansecondNum.
(iii) Outputkan ganda dua bagi nombor-nombor antara firstNum
dan secondNum.(iv)
Outputkan nombor perdana antarafirstNum
dan secondNum.(v) Outputkan jumlah ganda dua bagi nombor-nombor ganjil
antarafirstNum
dan secondNum.(vi)
Outputkan semua huruf-huruf kecil.(13/100)
2i0
(a) 2.
(b)
(c)
[crr502]
-3-
Tulis
satu kaedah dalam bahasa Java yang akan mengisih satusenarai.
Kaedahini
akan menerima senarai dalam bentuktatarurunui
dan panjang senarai dari attn cara yang memanggil.(10/100)
Apakah tiga (3)
cara berlainanuntuk
mengimplimentasikan satu antara muka (interface)?(3/100)
Bina
satukelas Rectangle.
Kelasini
mempunyaiatribut
panjang dan lebar, yang mempunyainilai lalai 1. Ia
mempunyai kaedahyang
dapat mengira luas dan parameter segiempat.
Iajuga
mempunyai kaedah ;get' dan 'set' untuk lebar danpanjang.
Kaedah'set'akan menentukanyanglebar dan panjang adalahnilai perpuluhan lebih daripada 0.0 tetapi kurang daripada 20.0. Satu
kaedah 'predicate' isSquarejuga dibina untuk
mengujijika
sesuatu segi empat adalah segi empatsama.
(Kaedah 'predicate' selalunyamenguji
sesuatukondisi
tetapitidak
menukarobjek
yangdipanggil.) Tulis
satuatur
cara yang akan menguji kelas Rectangle.(r2tr00)
Lukiskan satu
gambarrajah
kelasuntuk mewakili
keadaanyang
tersebut di bawah:seorang pelanggan mempunyai
nama
pertarna, nama tengah,nombor
telefon serta alamat rumah. Pelanggan tersebut boleh membuat tempahan,dan
semuarekod tempahan akan disimpan. Bagi setiap tempahan, maklumat
alamat pembayarandan
alamat destinasi penghantaranyang
mana kedua-dua alamat tersebut mungkin sama-
alamat rumah pelanggan tersebut boleh digunakan bagi kedua-duaalamat
tersebut. Setiapitem
tempahanjuga hanya direkod
untuksetiap
produk di
mana setiap item tempahan menyimpan rekodkuantiti
produk yang ditempah, serta kiraan hargabagi item
tersebut(kuantiti *
harga ieunit).Dalam pada
itu,
setiap tempahanjuga
mengirajumlah
bayaran yang diperlukan+ cukai
sebanyak 17.5%yang
akan dikenakan. Setiap tempahanjuga
bolehdikategorikan kepada
beberapastatus iaitu 'tidak sah', 'sah', 'dihaniar'
atau 'diterima'.Bagi
tempahan yang telah disahkan, satu nomborrujukan
yangunik akan diberikan (contoh: Rujukan terakhir +l). Setiap
tempahanyung t.luh
disahkanakan
dicatatkantarikh
pengesahan,tarikh
penghantaran serta tarikh tempahan tersebut.(10/100)
a (a)
J.
2TI
lcrr502l 4-
(b)
Pertimbangkan gambarrajah
kelasyang menunjukkan perwarisan
antara dua kelas, Person danEmployee
yang mengandungi maklumatatribut
dan operasi- operasinya seperti yang berikut:gemame getsex getage setname setage
(
nameI
sex{
aeeI r,Iight
L
weight4.
Ecrdin
II
notercrnintl
I'--T---
I
f-
getsalaryI
setsalaryTulis atur
caraJAVA yang
setara dengan gambarrajah
kelasdi
atas dan atur cara kecil yang menggambarkan penggunaan kelastersebut.
(I2ll00)
obj'ert'-* -.-)
makEReser{ationfl :voicl I make R ese ftation0:uo id
r each day] isRrlgm:=availahleo:b0nlean gcanditian
lisRooml
actifrtion bar
I
tt...
r' ----lif€lrne--;'
lf r ro&n1 is evaitaht8 br
*a{h dsf ofthe stas/. rnake a rgsewa.iif,n and €ens8 ron{iiTnation.
212
lcIT502l 5-
(a)
Lukis satu gambar rajah kelas bagi gambar rajahjujukan di
atas.(8/100)
(b)
Jelaskan implementasibagi
gambar rajahdi
atas dalam bahasaJAVA
bagi kesReservation.
(r2t100)
(c)
Tulis satu ujian senario bagi kes Reservation.(8/100)
- oooOooo -
213