You are on page 1of 24
UNIVERSITI TEKNIKAL MALAYSIA MELAKA UNIVERSITI TEKNIKAL MALAYSIA MELAKA, PEPERIKSAAN AKHIR SEMESTER I FINAL EXAMINATION SEMESTER I SESI 2019/2020 SESSION 2019/2020 FAKULTI TEKNOLOGI KEJURUTERAAN ELEKTRIK DAN ELEKTRONIK KOD KURSUS 7 BEEC 2363 COURSE CODE KURSUS 7 STRUKTUR DATA & ALGORITMA. COURSE DATA STRUCTURE & ALGORITHM PENYELARAS 7 NADZRIE BIN MOHAMOOD COORDINATOR PROGRAM : 2 BEEC PROGRAMME MASA. : 9.00 PAGI - 11.30 PAGI TIME 9.00 A.M. ~ 11.30 A.M. TEMPOH 8 2 JAM 30 MINIT DURATION 2 HOURS 30 MINUTES TARIKH : 7 SANUARI 2020 DATE JANUARY 7th, 2020 TEMPAT : KOMPLEKS SUKAN, KAMPUS INDUK VENUE SPORT COMPLEX, MAIN CAMPUS ARAHAN KEPADA CALON INSTRUCTIONS TO CANDIDATES 1. Jawab SEMUA soalan daripada BAHAGIAN A dan hanya SATU(1) soalan daripada BAHAGIAN B. Answer ALL questions from PART A and only ONE(1) question from PART B . Tuliskan semua jawapan anda di atas kertas jawapan yang disediakan Write your answer on the answer sheet provided. . Setiap jawapan kepada soalan hendaklah dimulaken di muka surat yang baru. Each answer for each question must be written in a new page. KERTAS SOALAN INI TERDIRI DARIPADA (23 ) MUKA SURAT SAHAJA. (TERMASUK MUKA SURAT HADAPAN) THIS QUESTION PAPER CONTAINS (23 ) PAGES INCLUSIVE OF FRONT PAGE SULIT SULIT PERINGATAN REMINDER: OBO PELAJAR TIDAK DIBENARKAN SAMA SEKALI MEMBAWA APA-APA BUKU, KERTAS, SURATAN, GAMBAR, NOTA, SEBARANG ALAT YANG DI DALAM ATAU. DI ATASNYA TERDAPAT CATATAN BERTULIS, ‘PROGRAMMABLE. CALCULATOR’, TELEFON MUDAH ALIH ATAU SEBARANG ALAT KECUALI YANG DIBENARKAN OLEH PENGAWAS KE DALAM ATAU KELUAR DARI SESUATU DEWAN PEPERIKSAAN ATAU MENERIMA APA-APA BUKU, KERTAS, SURATAN, GAMBAR, NOTA, SEBARANG ALAT YANG DI DALAM ATAU DI ATASNYA TERDAPAT CATATAN BERTULIS, ‘PROGRAMMABLE CALCULATOR’, TELEFON MUDAH ALIH ATAU SEBARANG ALAT DARI MANA-MANA ORANG LAIN SEMASA DI DALAM DEWAN PEPERIKSAAN KECUALI SESEORANG PELAJAR SEMASA JA BERADA DI DALAM DEWAN PEPERIKSAAN ITU MENERIMA DARIPADA = PENGAWAS_~—sAPA-APA_—s BUKU, __KERTAS, DOKUMEN/GAMBAR ATAU LAIN-LAIN ALAT YANG DIBENARKAN OLEH NAIB CANSELOR ATAS SYOR PEMERIKSA ATAU FAKULTI. STUDENTS ARE NOT ALLOWED TO BRING IN ANY BOOKS, PAPERS, DOCUMENTS, PHOTOGRAPHS, NOTES, ANY TOOLS WHICH THERE ARE WRITTEN RECORDS, MOBILE PHONES, OR ANY OTHER DEVICES WITHOUT THE PRIOR PERMISSION OF THE INVIGILATORS INTO OR OUT OF THE EXAMINATION HALL, OR RECEIVE ANY PAPERS, BOOKS, DOCUMENTS, PHOTOGRAPHS, NOTES, ANY DEVICES IN OR ON’ WHICH THERE ARE WRITTEN RECORDS, 'PROGRAMMABLE CALCULATORS’, OR TOOLS FROM OTHER PERSON(S) PRESENT IN THE EXAMINATION HALL; EXCEPT MATERIALS OR DEVICES PROVIDED BY THE INVIGILATORS AND PERMITTED BY THE VICE CHANCELLOR ON THE RECOMMENDALIONS OF THE EXAMINERS OR FACULTIES. @ SULIT SULIT (BEEC 2363) BAHAGIAN A SOALAN 1 (@) Bandingken antara Jenis Data Abstrak dan Jenis Data Primitif. [4 markah] (&) Jelaskan apskah yang dimaksudkan dengan menyembunyikan data serta beberapa tujuannya dalam pendekatan Pengaturcaraan Berorientasikan Objek. [4 markah] (© Hitungkan bilangan kekerapan bagi algoritma berikut dengan menunjukkan proses perhitungannya dan selepas itu jelaskan nilai Big O-nya. ® result € 0; for j € 0 ton result € result + j end-for [3 markab] i) result € 0; val € 3; for } € 0 ton-1 for k € 0 to n-1 print result result € result + val end-for end-for [4 markah] SULIT SULIT (BEEC 2363) Gi) result € 0; result1 € 0; val € 3; for j € 0 to n-1 fork €1ton print result result € result + val end-for for 1 © 0 ton resulti € resulti + val; end-for [5 markah] SULIT @ (BEEC 2363) Soalan-soalan berikut merujuk kepada kod sumber C++ dalam Rajah S1(4). SULIT class Box { private: int length; int height; int width; public: Box(int length, int height, int width) { this->length = length; this-sheight = height; this->width = width; } void display () { cout << "Length : " << length << endl; cout << "Height height << endl; cout << "Width width << endl; } he Rajah S1(d) ( —_Apakah nama Kelas dalam kod sumber C+ di atas? {1 markab} (i) Berapakah bilangan ahli data yang berada di dalam kelas tersebut? [1 markah} (ii) Bina satu objek dengan nama box! dengan data-data berikut, panjangnya adalah 7 lebarnya adalah 6 tingginya adalah S [3 markah} (25 MARKAH] SULIT SULIT (BEEC 2363) SOALAN2 (@) —_Apalcah perbezaan-pebezaan antara tatasusunan statik dan tatasusunan dinamik? [4 markah] (6) Tunjukkan pengisytiharan tatasusunan dinamik dengan 5 elemen dari jenis data double. [5 markah] (© Terangkan struktur data yang dipanggil tindanan. Berikan DUA (2) contoh operasi utama i dalam tindanan dan jelaskan setiap operasi, [4 markah] (@ — Kandungan di dalam sebuah tindanan adalah sebagaimana dalam Rajah $2(d). o}>)z|m|> Rajah $2) () —_ Berdasarkan Rajah $2(d), hasilkan pelaksanaan langkah demi langkah sehingga semua operasi berikut berjaya dicapai, Pop Pop Push (‘A’) Push (‘S’) Pop Pop [6 markah] SULIT SULIT (BEEC 2363) Gi) Berdasarkan kandungan asal tindanan sebagaimana dalam Rajah $2(d), tunjukkan beberapa operasi yang diperlukan untuk menghasilkan kandungan tindanan seperti dalam Rajah $2(@)Gi). A <— 10p Ss w A D Rajah $2(a)(ti) [6 markah] (25 MARKAH] igs SULIT SULIT (BEEC 2363) SOALAN3 (@ — Soalan-soalan berikut adalah berdasarkan pokok perduaan dalam Rajah $3(a). 20 sgeeEeeee reece 7 oN ZN i i co Rajah S3(a) @ —_Elemen manakeh yang disebut akar? [1 markah] Gi) Senaraikan semua dedaun, [3 markeh} Gi) Namakan setiap nod leluhur yang mengandungi 15. [2 markah] (iv) Namakan induk kepada 33. {1 markah] (6) Luis pokok perduaan bagi urutan aksara-aksara berikut, KENARI (6 markah} SULIT © SULIT (BEEC 2363) Bina kod C+ untuk mentakrifkan kelas yang diberi nama Calculator ynag berupaya untuk ‘mengira hasil tambah dua nombor perpuluhan iaitu masing-masing dinamakan mum dan num2, Kelas tersebut mempunyai EMPAT (4) abli fungsi sebagaimana berikut, setNumI() untuk menetapkan nilai pada pembolehubah num setNum2() untuk menetapkan nilai pada pembolehubah mum? add() ‘untuk melaksanakan penjumlahan num dan num2 display() untuk memaparkan hasil penjumlahan pada skrin petunjuk: jenis pulangan dan senarai parameter adalah diperlukan untuk sesetengah fungsi di atas. [12 markah) [25 MARKAH] SULIT SULIT (BEEC 2363) BAHAGIAN SOALAN 4 (@® —_Bezakan antara tindanan dan barisan. [5 markahi} (b) Bina pseudocode untuk memasukkan n aksara ke dalam barisan dan selepas itu paparkan semua aksara dalam barisan. [6 markai} (©) Berdasarkan arahan-arahan yang ditunjukkan dalam Rajah S4(c), gunakan algoritma tersebut untuk mendapatican nombor perduaan daripada nombor perpuluhan 85. Lukiskan tindanan satu per satu dan tunjukkan keluaran untuk setiap tindanan. Input: number stack € empty WHILE number > 0 digit € number Mop 2 Push (Stack, digit) nunber € number DIV 2 END-WHILE WHILE (not Empty (Stack) ) digit © Pop(stack) Display digit END-WHILE Rajah S4(¢) [10 markah] SULIT @ SULIT (BEEC 2363) ‘Tukerkan ungkapan berikut kepada pernyataan prefix dan postiks, (34 + 19) / 6 Lukiskan proses terperine! untuk mendapatkan keputusan akhir. @ — Ungkapan prefiks [2 markah] (i) Ungkapan posfiks [2 markah) [25 MARKAH] -10- SULIT SULIT (BEEC 2363) SOALANS: (2) Diberikan tatasusunan seperti berilcut, 57 48 37 12 Hasilkan keputusan bagi setiap ulangan daripada Selection Sort menggunakan versi elemen terbesar dalam penyilihan. [3 markah] (e) —Terdapat matriks LED 8 x 8, Matriks LED tersebut dapat mewakilkan sebarang aksara seperti yang ditunjulckan dalam Rajah S5(b). Matriks tersebut dapat dilaksanakan dengan mengisytiharkan tatasusunan dua dimensi scbagaimana berikut, int LED[8] [8]; Nilai 0 setiap elemen mewakilkan OFF dan 1 mewakilkan ON. Rajah $5(b) (@® —Tulis semula pengisytiharan tatasusunan dua dimensi bagi LED tersebut dengan nilai pemula, agar hasilnya seperti pada Rajah S5(b). [4 markah] -l- SULIT SULIT (BEEC 2363) Hasilkan peryataan C++, menggunakan struktur kewalan ulangan untuk mematikan semua LED. (4 markah] (ii) Hasilkan pemnyataan C++ untuk menghidupkan 4 LED pada baris pertama pada Rajah S5(b). [4 markah] (©) Rajah $5(e) berikut menunjukkan jenis senarai berpaut. eee] Rajah S5(¢) (@ —_ Nyatakan nama sebenar senarai berpaut tersebut. [2 markah} (ii) Hasilkan algoritma untuk memaparkan semua data bermula dari nod yang ditunjukkan oleh list. (Anggap ahli-abli dalam nod adalah data and next) [8 markah} [225 MARKAH] -12- sUuULIT SULIT (BEEC 2363) PARTA QUESTION 1 (a) Differentiate between Abstract Data Type and Primitive Data Type. [4 marks] (6) Clarify what is data hiding and its purposes in Object Oriented Programming approach. [4 marks] (©) Calculate the frequency count of the following algorithm by showing the process of calculation and then determine the Big O. @ result € 0; for j €0ton result € result + j end-for [3 marks] Gi) result € 0; val € 3; for j € 0 ton-1 for k € 0 to n-1 print result result € result + val end-for end-for [4 marks] -13- SULIT SULIT (BEEC 2363) ii) result € 0; resultl € 0; val € 3; for j € 0 to n-2 fork €1ton print result result € result + val end-for for 1€0ton result1 € result1 + val; end-for [5 marks] -14- SULIT (BEEC 2363) (@ The following questions refer to the C++ source code in Figure QU(d). SULIT class Box { private: int length; int height; int width; public: Box (int length, { int height, int width) this->length = length; this-sheight = height; this->width = width; } void display () { cout << "Length : " << length << endl; cout << "Height : " << height << endl; cout << "Width : " << width << endl; } Figure Q1(@). @ What is the name of class? (i) How many data members contained in the class? Gi) Create an object name box! with the following data, - Its length is 7 = lis width is 6 - Itsheight is 5 -15- [1 mark] (1 mark] [3 marks] [25 MARKS] SULIT SULIT (BEEC 2363) QUESTION 2 (@) _ Whatis the difference between normal array and dynamic array? [4 marks] (b) Show the declaration of dynamic array with 5 elements of double data type. [5 marks] (© Describe the data structure called stack, Give TWO (2) main operations contained in a stack and explain each operation. [4 marks} (@ The content of a stack is shows as in Figure Q2(d). ol>jzim|> Figure Q2(@) () Based on Figure Q2(d), produce the step by step executions until all the following operations are accomplished. Pop Pop Push (‘A’) Push ('S’) Pop Pop [6 marks] -16- SULIT SULIT (BEEC 2363) (i) Originated from stack content as in Figure Q2(d), demonstrate several operations needed to produce the stack content as in Figure Q2(d)(ii). — & o>] <|ol> Figure Q2(@)(ii) [6 marks] [25 MARKS} -17- SULIT SULIT (BEEC 2363) QUESTION 3 (@) The following questions are based on a binary tree in Figure Q3(a). 20 eee 9. 40 2 “4 mn 15 33 ee 7 Figure Q3(a) (@ Which element is the root? [1 mark] Gi) List all leaves. [3 marks] (ii) Name each ancestor of the node that contains 15. [2 marks] (iv) Name parent of 33, [1 mark] (6) Draw the binary tree for the sequence of characters, KENARTI (6 marks} -18- SULIT © SULIT (BEEC 2363) Construct C+ code to define the class named Caleuwlator that capable to compute the sum of two floating point numbers which are num and num2 respectively. The class has FOUR @) member functions as follows, setNuml() to set a value to variable numi setNum2() 10 set a value to variable num2 add() to execute summation of num! and num2 display() _to show the summation result on the screen hint : return type and parameter lists are necessary in some functions above. [12 marks] [25 MARKS] -19- SULIT (BEEC 2363) PARTB QUESTION 4 @ Differentiate between stack and queue. SULIT [5 marks} (&) Construct a pseudocode to enter n characters into a queue and then display all characters in the queue, [6 marks] (©) Based on instructions shown in Figure Q4(e), apply the algorithm to get the binary number of decimal number 85. Draw the stack one by one and show the output of each stack. Input: number Stack © empty WHILE fumber > 0 digit € number mop 2 Push (Stack, digit) number € number DIV 2 END-WHILE WHILE (not Empty (Stack) ) digit € Pop (stack) Display digit END-WEILE, Figure Q4() =20- [10 marks} SULIT SULIT (BEEC 2363) (Convert the following expression to prefix and postfix expressions. (34 419) / 6 Draw the detail process to obtain the final result. @ Prefix expression [2 marks} (ii) Postfix expression [2 marks] [25 MARKS] -21- SULIT SULIT (BEEC 2363) QUESTION 5 (@) Given an array as follows, 57 48 37 12 Produce the result after each iteration of Selection Sort using the largest element version of swapping. [3 marks} (>) There are 8 x 8 LEDs. The matrix of LEDs can represent any character such as shown in Figure Q5(b). The matrix can be implemented by declaring two-dimensional array as follows, int LED([8] [8]; ‘Value 0 in each element represents OFF and 1 represents ON. Figure Q5(b) (@) Rewrite the declaration of two-dimensional LED array by initializing it so the result shown as in Figure Q5(b). (4 marks] -22- SULIT SULIT (BEEC 2363) (ii) Produce a C++ statement, using repetition control structure to make all LED’s going OFF, [4 marks] (iii) Produce a C+ statement to make 4 LEDs in the first row as shown in Figure Q5(b) are ON, [4 marks] (©) Following Figure Q5(c) shows a type of linked-list. (Sees Figure Q5(0) @ Specify what is the exact name of this linked list. [2 marks] Gi) Produce an algorithm for displaying all data started from the node pointed by list (Assume the members of node are data and next) [8 marks] (25 MARKS] - END OF QUESTIONS - -23- SULIT

You might also like