TUTORIAL 2 : SAK 1107
- Terdapat sebuah syarikat perhotelan yang menyimpan bilangan pelanggan yang
menempah bilik hotel tersebut bagi setiap hari iaitu dari hari Ahad hingga
Sabtu. Maklumat pelanggan tersebut disimpan di dalam satu tatasusunan MAKL
yang bersaiz 7. Cari lokasi loc bagi MAKL[6] jika alamat dasar adalah 300
dan bilangan perkataan/sel ingatan adalah 4.
- LOK(MAKL[6])= BASE(MAKL) + W(7)
= 300 + 4(7)
= 300 + 28
= 328.
- Diberi jujukan nama seperti dibawah:
Karim Halimah Mary Tini Lee Osman Yusri Ramli
Isihkan jujukan nama di atas dengan menggunakan isihan gelembung(tunjukkan
peubahan setiap laluan ).
KARIM HALIMAH MARY TINI LEE OSMAN YUSRI RAMLI
LALUAN 1
[HALIMAH] [KARIM] MARY TINI LEE OSMAN YUSRI RAMLI
LALUAN 2
HALIMAH KARIM MARY [LEE] [TINI] OSMAN YUSRI RAMLI
HALIMAH KARIM [LEE] [MARY] TINI OSMAN YUSRI RAMLI
LALUAN 3
HALIMAH KARIM MARY LEE [OSMAN] [TINI] YUSRI RAMLI
LALUAN 4
HALIMAH KARIM MARY LEE OSMAN TINI [RAMLI] [YUSRI]
HALIMAH KARIM MARY LEE OSMAN [RAMLI] [TINI] YUSRI
- Berdasarkan soalan 2, lakukan carian dengan menggunakan carian dedua jika
nama yang dicari adalah Lee dan Razali.
MULA= HALIMAH =1 AKHIR= YUSRI=8
||
VV
- [HALIMAH] KARIM MARY [LEE] OSMAN RAMLI TINI [YUSRI]
JIKA KITA INGIN MENAMBAH RAZALI DIANTARA KARIM DAN MARY
4 < 5, AKHIR = TEN – 1 = 4
TEN=INT[(1+4]/2]=3
||
VV
- HALIMAH [KARIM] ‘RAZALI’ [MARY] LEE OSMAN RAMLI TINI YUSRI
- Berdasarkan dari soalan 1, terdapat satu lagi tatasusunan MINGGU tetapi
berjenis 2 dimensi dengan saiznya 4 x 7 yang menyimpan hari bagi setiap minggu
dalam satu bulan. Data disimpan mengikut susunan lajur demi lajur. Cari lokasi
loc bagi MINGGU[3][5] jika alamat dasar adalah 200 dan bilangan perkataan/sel
ingatan adalah 4.
- LOC[MINGGU(3,5)] = 200+4[7(3-1)+(5-1)]
= 200+4[14+4]
= 200+4[18]
= 272.
- Diberi pengisytiharaan seperti berikut:
Float harga[3][4] dan data disimpan seperti berikut:
1.301.755.454.20
2.754.557.852.10
3.200.996.353.15
Berdasarkan kepada cara data disimpan berikan nilai bagi
i. Harga
[0][0]
ii. Harga
[2][3]
iii. Harga
[1][3]
iv. Harga [2][1]
-[0][0] ---------------------------------------->i. HARGA 0
-[2][3] ---------------------------------------->ii. HARGA 852
-[1][3] ---------------------------------------->iii. HARGA 454
-[2][1] ---------------------------------------->iv. HARGA 754
- Diberi pengisytiharaan seperti berikut :
Char alamat[]="Kolej Ibukota Kinabalu. Apakah output yang
akan dikeluarkan apabila penyataann berikut dilakukan printf("%c%c%c(%s)",alamat[0],alamat[11],alamat[17],alamat);
- K T B KOLEJ IBUKOTA KINABALU
- Isytiharkan satu tatasusunan 2 dimensi berjenis integer bagi menyimpan data
dari satu jadual yang mengandungi 3 baris dan 2 lajur.
[1,1]
[2,1]
[3,1]
LAJUR
[1,2]
[2,2]
[3,2]
[1,1]
[2,1]
[3,1]
[2,1]
[2,2] BARIS
[2,3]
[3,1]
[3,2]
[3,3]
- Andaikan sebuah syarikat menyimpan maklumatnya dalam tatasusunan satu dimensi
bernama TAHUN[1960-1980] dengan TAHUN[K] merujuk kepada bilangan pekerja yang
dilahirkan pada tahun K tersebut. Tuliskan algorithma bagi setiap kes yang
berikut.
- Mencetak tahun dengan tiada pekerja yang dilahirkan pada tahun tersebut
- Mencari bilangan N tahun dengan Tiada pekerja yang dilahirkan pada tahun
tersebut.
- Andaikan tatasusunan ANGKA bersaiz 10 dan mempunyai 5 unsur nombor genap
yang disimpan seperti rajah berikut :
0123456789
246810
Bina algorithma untuk menambah nombor-nombor ganjil iaitu 3,5,7 dan 9 di
antara
nombor-nombor genap tersebut. Seterusnya, bina algorithma untuk menghapuskan
nombor-nombor genap daripada tatasususnan ANGKA.
- Andaikan NOMBOR adalah tatasususnan bersaiz 20 yang menyimpan nombor-nombor
mengikut jujukan seperti berikut :-
281319232731364547
53556172778389919778
- Tunjukkan langkah demi langkah untuk mencari lokasi bagi item 61 dengan
menggunakan carian dedua ( Binary Search )
- Tunjukkan langkah demi langkah untuk mencari lokasi bagi item 91 menggunakan
kaedah yang sama.
- Bina gambarajah berdasarkan pernyataan di bawah.
i. CreateStack(s);
ii. Push(s,'a');
iii. Push(s,'b');
iv. Pop(s);
v. Push(s,'c');
vi. Pop(s);
- Tukarkan ungkapan berikut daripada infix kepada postfix (tunjukkan gambarajah)
i. 7*8-(2+3)
ii. a+c-h/b)c
iii. (p-q*r)/(s/t+u)
- Isihkan tatasusunan di bawah dengan menggunakan kaedah Isihan Gelembung
(Bubble Sort ).
35, 67, 58, 47, 22, 10, 2, 96, 43
- Apakah yang dimaksudkan dengan timbunan (stack)
- Apakah fungsi 'push' dan 'pop'
- Dengan bantuan gambarajah, selesaikan ungkapan berikut.
i. 79*25-+
ii. 893/+46*-
iii. 254*5/10+