Paper Programming 2018

You might also like

Download as pdf
Download as pdf
You are on page 1of 20
SULIT LUNIVERSITI TEKNIKAL MALAYSIA MELAKA UNIVERSITI TEKNIKAL MALAYSIA MELAKA PEPERIKSAAN AKHIR SEMESTER I FINAL EXAMINATION SEMESTER I SESI 2018/2019 SESSION 201872019 FAKULTI TEKNOLOGI KEJURUTERAAN ELEKTRIK & ELEKTRONIK KOD KURSUS i BEEC 1313 COURSE CODE KURSUS j ASAS PENGATURCARAAN COURSE PROGRAMMING FUNDAMENTAL PENYELARAS : AIMAN ZAKWAN BIN JIDIN COORDINATOR KURSUS : 1 BEEC, 1 BEEZ COURSE MASA : 8.30 PAGI — 11.00 PAGI TIME 8.30 A.M. ~ 11.00 A.M. TEMPOH : 2 JAM 30 MINIT DURATION 2 HOURS 30 MINUTES TARIKH é 28 DISEMBER 2018 DATE DECEMBER 28%, 2018 TEMPAT 3 BILIK KULIAH 43, FTKMP VENUE LECTURE ROOM 43, FTKMP ARAHAN KEPADA CALON INSTRUCTION TO CANDIDATES 1. Jawab EMPATT (4) soalan sahaja daripada LIMA (6) soalan, Answer FOUR (4) questions only out of FIVE (5) questions 2. Jawab SEMUA soalan dari Bahagian A dan DUA (2) soalan sahaja dari Bahagian B. Answer ALL questions in Part A and only TWO (2) questions in Part B. 3. Setiap jawapan kepada soalan hendaklah dimulakan di muka surat yang baru. All answers to the questions should be written in a new page. KERTAS SOALAN INI TERDIRI DARIPADA (19) MUKA SURAT SAHAJA. (TERMASUK MUKA SURAT HADAPAN) THIS PAPER CONTAINS (19) PAGES INCLUDING FRONT PAGE SULIT (BEEC 1313) SULIT BAHAGIAN A SOALAN 1 (@) _Berikan maksud carta alir dan kod sudo. (2 markah] (bo) Nyatakan TIGA (3) kelebihan carta alir dan kod sudo setiap satu, [6 markah] (©) Lukiskan sebuah carta alir bagi menambah integer dari 1 hingga 100 dan memaparkan hasil penambahan tersebut, [7 markah] (@ — Huraikan tentang TIGA (8) jenis data asas dalam Bahasa C. [6 markah] (©) Diberi pembolehubah a = 1, b = 4, danc = 7. Jelaskan nilai pembolehubah vesult untuk ungkapan-ungkapan berikut. (@) bool result = (a <3 || ¢ == 5); [2 markah] (i) bool result = (7 <= c && a > 3); [2 markah] [25 MARKAH] 2 SULIT (BEEC 1313) SULIT SOALAN 2 (@) — Senaraikan EMPAT (4) jenis struktur kawalan dalam pengaturcaraan C, [4 markah] (b) Tuliskan keluaran bagi segmen pengaturcaraan C berikut: @ int counter = 0; do { printf ("Peperiksaan\n") ; counter++; } while(counter <= 3); [2 markah] Gi) int x = 101; if (x > 10) if ((x < 200) || (x > 50)) print£("\nta", x); if ((x < 100) && (x > 50)) print£("\ntd", x+1); else print£("\ntd", x*x); [2 markah] Gi) char ¢; c= tal; while (c <= 80) { printf("\ntd", c); c 4s 5; (2 markah] (©) Talis satu pengaturcaraan C yang memaparkan integer dari 1 sehingga 10 dan hasil tambah semua integer tersebut. SULIT @ (BEEC 1313) SULIT [6 markah] Tuliskan semula segmen aturcara yang ditunjukkan dalam Rajah S2(d) dengan ‘menggunakan pemnyataan if else dan nyatakan keluarannya. [9 markah] int pilihan = 4; switch (pilihan) { case '1': printf ("Pertama\n") ; break; case '2': printf ("Kedua\n") ; break; case '3': print£("Ketiga\n") ; break; default: print£("Pilihan bukan yang pertama, kedua, ketiga"); Rajah $2(d) (25 MARKAH] 4 SULIT (BEEC 1313) SULIT BAHAGIAN B SOALAN 3 (a) Jelaskan keluaran untuk pengaturcaraan C yang diberikan dalam Rajah $3(a). 1 #include 2 3 #define MAK 5 4 5 int main(){ 6 7 int tab2 (MAX) ; 8 int i = 0; 2 for (i i < MAX; i++) { 10 tabi (i] = i*3; Bey printf("Contents of tabi[%d] is td\n", i, tab1[i]); 12 } 13 return 0; 14} Rajah S3(a) [5 markah] (6) Tulis semula kod pengaturcaraan dalam Rajah $3(a) dengan menggantikan tatatanda tatasusun dengan tatatanda penuding. [5 markah] (© Penyataan pada baris 11 dalam kod di dalam Rajah $3(a) digantikan dengan pernyataan panggilan fungsi seperti berikut: displayArray(i, tab1[i]); Tuliskan definisi bagi fungsi displayarray () agar dapat menghasilken keluaran yang sama seperti di dalam Soalan 3(a). (5 markah] -S- SULIT (BEEC 1313) SULIT (@)__ Diberikan definasi untuk fungsi employee Info () di dalam Rajah S3(a). void employeeInfo (struct info employee) { print£("Name: %s\n", employee.name) ; printé("ID: %d\n", employee.staff_id); printf ("Department: %s\n", employee.department) ; Rajah S3(4) Hasilkan sebuah pengaturcaraan C yang lengkap yang memanggil fungsi employeeInfo () untuk memaparkan maklumat seperti berikut: Name: Ahmad Nawab ID: 1234 Department: JTKEK [10 markah] [25 MARKAH] -6- SULIT (BEEC 1313) SULIT SOALAN 4 (a) (>) © @ © Jelaskan perbezaan di antara sebuah aksara dan sebuah rentetan aksara, {2 markah] Seorang pelajar ingin menulis sebuah rentetan aksara myst r dan menetapkan nilainya kepada me1aka. Beliau menggunakan penyataan berikut: char mystr = "melaka"; Pada pendapat anda, adakah pemnyataan ini akan berjaya dilaksanakan? Berikan alasan. (4 markah] Tulis penyataan untuk menetapkan nilai asal sebuah rentetan aksara str1 kepada “Melaka Berwibawa 2018”, [3 markah] Diberi dalam Rajah S4(d) sebahagian daripada kod pengaturcaraan untuk fungsi convertStr (), yang digunakan untuk menukarkan semua huruf besar kepada huruf kecil, dan sebaliknya. void convertStr(char *mystr){ int length; intis /Icomplete the code here! } Rajah S4(d) Lengkapkan kod aturcara ini, [8 markah] Berdasarkan kepada Soalan 4(c) and Soalan 4(d), hasilkan sebuah pengaturcaraan C yang lengkap untuk: © Memaparkan nilai asal rentetan aksara str, * Menukarkan semua huruf besar kepada huruf kecil, © Menukarkan semua huruf kecil kepada huruf besar, © Memaparkan nilai akhir rentetan aksara stl, [8 markah] (25 MARKAH], 27s SULIT (BEEC 1313) SOALAN 5 SULIT Rajah $5(a)(i) menunjukkan kandungan sebuah fail input . txt. Fail ini dibaca oleh sebuah aturcara seperti tertulis di dalam Rajah S5(a)(ii). Sila duduk dan jangan lari. Mesyuarat akan bermula pada jam 10 pagi. Rajah S5(a)() include int main() { FILE *infile; infile = fopen("input.txt","r") ; char buffer [100]; fgets(buffer, 10, infile); printf ("input.txt message: ts\n", buffer); fclose (infile) ; return 0; Rajah S5(a)(ii) (i) _Ielaskan apakah kesan daripada perlaksanaan kod pengaturceraan di dalam Rajah $5(a)(ii) terhadap keluarannya, [3 markah] (i) Berdasarkan jawapan untuk Soalan 5(a)(j), ubahsuai pemyataan di dalam kod aturcara yang diberikan supaya ia memaparkan keseluruhan kandungan di dalam fail input . txt, seperti di dalam Rajah $5(a)(j). (2 markah] (iii) Berdasarkan kepada aturcara yang diberikan dalam Rajah $5(a)(li), hasilkan sebuah pengaturcaraan lengkap yang mematuhi kehendak-kehendak berikut: © Membaca fail input.txt ‘+ Mewujudkan empat pembolehubah integer sebagai pembilang untuk huruf kecil, huruf besar, angka dan lain-lain aksara * Mengira jumlah huruf kecil, huruf besar, angka dan lain-lain aksara yang terkandung di dalam fail yang dibaca ‘* Memaparkan bilangan yang telah dikira untuk setiap jenis aksara, [10 markah} SULIT (BEEC 1313) SULIT () —Hasilkan sebuah pengaturcaraan C yang lengkap berdasarkan kepada carta alir yang tertera dalam Rajah S5(b). Declare float variables bmi, hand w [ Display “Please enter your height in meters:" ] Read i [ Display “Please enter your weight in kg” ] Read w Calculate bmi = w / hn? per < 20 [wees] Y bmi > 252 —-. [ secence | You are [ secence | Display “You have ideal weight!” Rajah S5(b) (10 markah] [25 MARKAH] ~TAMAT SOALAN-- -9- SULIT (BEEC 1313) SULIT PART A QUESTION 1 (@) Give the definition of flowchart and pseudocode. (2 marks] (o) State THREE (3) advantages of using each flowchart and pseudocode. [6 marks] (©) Draw a flowchart to sum up integers from 1 to 100 and to display the summation result. [7 marks] (@ Explain about THREE (3) primitive data types in C language. [6 marks] (©) Given variables a = 1, b= 4 and c = 7, Explain the value of result in the following, statements: @) bool result = (a < 3 || ¢ == 5); [2 marks] (ii) bool result = (7 <= ¢ && a > 3); [2 marks] (25 MARKS] -10- SULIT (BEEC 1313) SULIT QUESTION 2 (a) __List down FOUR (4) types of control structures in C language. [4 marks] (®) Write is the output of the following program segments? @ int counter = 0; do { printf ("Peperiksaan\n") ; counter++; } while(counter <= 3); [2 marks] @i) int x = 101; if (x > 10) if ((x < 100) || (x > 50)) printé("\nta", x); if ((x < 100) && (x > 50)) print£("\ntd", +1); else printé("\ntd", x*x) ; [2 marks] (ii) char ¢; cata; while (c <= 80) { print£("\ntd", c); c +25; } (2 marks] (©) Write a C program that displays integer from 1 to 10 and the sum of all 10 integers. [6 marks} “lle SULIT @ (BEEC 1313) SULIT Rewrite the program as shown in Figure Q2(d) by using if-else statement and state the output, [9 marks] int pilihan = 4; switch (pilihan) { case ‘1! printf ("Pertama\n") ; break; case '2': printf ("Kedua\n") ; break; case '3': printé ("Ketiga\, break; default: printf("Pilihan bukan yang pertama, kedua, ketiga"); ")i Figure Q2(4) [25 MARKS] -12- SULIT (BEEC 1313) SULIT PARTB QUESTION 3 (@) Write the output of the given C programming code in Figure Q3(a). #include Hdefine MAX 5 int main() { int tab) [MAX] ; int i= 0; 1 2 3 4 5 6 7 8 9 for (i = 0; i < MAX; i+4){ 10 tabl[i] = i*3; 12 12 13 14 print£ ("Contents of tabi[td) is %d\n", i, tabi [i]); return 0; Figure Q3(a) [5 marks] () Reproduce the programming code in Figure Q3(a) by replacing the array notation with the pointer notation. [5 marks] (©) The statement in line 11 of the code in Figure Q3(a) is replaced by the following function call: displayaArray(i, tabl[i]); Write the definition for the function displayArray () so the program will display the same output as in Question 3(a). [5 marks} -13- SULIT (BEEC 1313) SULIT (@ Given the definition of a function employeeInfo () in Figure Q3(@) void employeeInfo (struct info employee) { printf ("Name: %s\n", employee.name) ; print£("ID: %d\n", employee.staff_id); printf ("Department: s\n", employee.department) ; Figure Q3(d) Produce a complete C program code which invoke the employeeTn£o () function in order to display the information as follow: Name: Ahmad Nawab ID: 1234 Department: ITKEK {10 marks] [25 MARKS] “14 SULIT (BEEC 1313) SULIT QUESTION 4 (@) ) © @ © Explain the differences between a character and a string. (2 marks] A student wants to declare a string mystr and set its value to melaka. He uses the following statement: char mystr = ‘melaka”; In your opinion, will this statement be successfully executed? Give your reason. [4 marks] Write a statement to initialize a string stri to “Melaka Berwibawa 2018”. [3 marks] Given a partial code for the function convert Str () in Figure Q4(d), which is used to convert all the uppercase letters to lowercase letters, and vice-versa void convertstr(char *mystr) { int length; int i; //complete the code here! Figure Q4(d) Complete the program code. [8 marks] Based on Question 4(¢) and Question 4(d), produce a complete C program which: © Display the initial contents of the string str1, ‘+ Convert all the uppercase letters to the lowercase letters, * Convert all the lowercase letters to the uppercase letters, Display the modified contents of the str1. [8 marks] [25 MARKS] -15- SULIT QUESTION 5 @ (BEEC 1313) SULIT Figure Q5(a)(i) shows the content of an input file input . txt. This file is read by a program as written in Figure Q5(a)(ii). 10 pagi. Sila duduk dan jangan lari. Mesyuarat akan bermula pada jam Figure Q5(a)(i) include int main() { FILE *infile; infile char buffer [100]; fgets(buffer, 10, infile); print£ ("input.txt message: *s\n", buffer) ; close (infile) ; return 0; = fopen("input.txt","x"); //open as read mode @ Figure Q5(a)(if) (ii) Based on the answer in Question S(a)(i), modify the program code in Figure Q5(a)(ii) to display the complete content of the input text file, (2 marks] (iii) Based on the program code given in Figure Q5(a)(ii), produce a complete program with the following requirement: Read the input . txt file Declare four variables to act as the counter of lowercase letters, uppercase letters, digits and others Count the number of lowercase letters, uppercase letters, digits and other characters inside the read text file Display the counted number for each category of the characters. [10 marks] -16- SULIT (BEEC 1313) SULIT (b) Produce a complete C program based on the flowchart given in Figure Q5(b). Declare float variables, bmi, hand w [ Display “Please enter your height in meters” ] Read h Display “Please enter your weight in kg:” Read w Calculate bin = w / hn? ee —/ veer N y [ seenee | bei > 257 > [ seenee | Display “You have ideal weight!" Figure Q5(b) (10 marks] [25 MARKS] ~END OF QUESTION-- -17- SULIT (BEEC 1313) SULIT APPENDIX FOR LOOP GENERAL SYNTAX for (initialization; condition; increment) { //repeated statements WHILE LOOP GENERAL SYNTAX while (condition) { //repeated statements IF-ELSE STATEMENTS GENERAL SYNTAX i€ (condition 1) { // statements if true } else if (condition 2) { // statements if true } else { // statements RELATIONAL OPERATORS >] Greater than S= | Greater than or equal to =| Less than Tess than or equal 10 Equal to ‘Not equal to LOGICAL OPERATORS ee and iT or T not -18- SULIT BITWISE OPERATORS (BEEC 1313) SULIT “And Or Xor ‘Complement Shift to the left | shift to the right CHARACTER HANDLING LIBRARY FUNCTIONS. Description isdigit (c) Returns true if c is a digit and false otherwise. isalpha(c) Returns true if ¢ is a letter and false otherwise. isalnum(c) Returns true if ¢ is a digit or a letter and false otherwise. islower (c) Returns true if ¢ is a lowercase letter and false otherwise. isupper(c) Returns true if ¢ is an uppercase letter; false otherwise. eolowex (ce) Ié ¢ is an uppercase letter, tolower returns lc as a lowercase letter. Otherwise, tolower returns the argument unchanged. topper (c) If ¢ is a lowercase letter, toupper returns lc as an uppercase letter. Otherwise, toupper returns the argument unchanged. isspace(c) Returns true if ¢ is a white-space lcharacter—newline ('\n'), space (* '), form feed (*\f£'), carriage return ('\r'), norizontal tab (*\t'), or vertical tab (‘\w!)-and false otherwise -19- SULIT

You might also like