Professional Documents
Culture Documents
PART A / BAHAGIAN A
INSTRUCTION / ARAHAN:
Answer ALL questions / Jawab SEMUA soalan.
Example / Contoh:
1
CDCP2103SEPT08/F
2. Trace the execution of the following for loop for the data 3, 3, -5, and 7. What is
printed? (4)
Jejak perlaksanaan bagi gelung for berikut dengan data 3, 3, -5, dan 7. Apakah yang
dicetak?
sum = 0;
for(i = 0; i < 4; i++) {
scanf(“%d”,&NEXT);
if(NEXT >= 0)
sum+= NEXT;
else
sum -= NEXT;
}
print(“sum=%d\n”,sum);
3. Trace the execution of the following while loop. What is printed? (4)
Jejak perlaksanaan gelung while berikut. Apakah yang dicetak?
prod = 1;
m = 1;
while(m <= 5) {
prod = prod * m;
printf(%d\t%d\n”,m,prod);
m++;
}
2
CDCP2103SEPT08/F
i. i = i1 % i2 + 2
ii. d = i2 / d1 * 4 / i1 + 2
i. b2 – 4ac
ii. (a + b) ( c + d) (e + f)
if (x > y)
max = x;
else
max = y;
3
CDCP2103SEPT08/F
float x, y;
scanf(“%d”, %x);
if(x > 3.0)
if(x < 12.0)
y = x / 100 * 5;
else
y = 2.0 * x / 2;
else
y = x / 6.0 * 2;
print(“y = %f\n”,y);
i. 5.0
ii. 3.0
4
CDCP2103SEPT08/F
8. What is the value that is returned by the following function count, if it called by
count (3)? (4)
Apakah nilai yang dipulangkan oleh fungsi count, jika ia dipanggil oleh count (3)?
int count(int n)
{
if(n == 0)
return 0;
else
return 2 + n + count (n – 1);
}
For each of the following statement, what are the values for result?
Bagi setiap pernyataan berikut, apakah nilai bagi result?
5
CDCP2103SEPT08/F
10. Change the following segment program using for statement: (4)
Tukarkan segmen atur cara berikut menggunakan pernyataan for:
6
CDCP2103SEPT08/F
PART B / BAHAGIAN B
INSTRUCTIONS / ARAHAN:
Part B contains THREE questions. Answer TWO ONLY.
Bahagian B mengandungi TIGA soalan. Jawab DUA sahaja.
a) A chemist uses the decision table in Table 1 below to determine whether a solution is
very acidic, acidic, neutral, alkaline, or very alkaline. Write a program that will read in
the value of pH for a solution and display its type. (12)
Table 1
pH range Type of solution
>= 12 very alkaline
8 – 12 alkaline
7 neutral
3–6 acidic
<= 2 very acidic
b) Write a function called KuasaTiga which has an integer parameter called m, and this
function will return m*m*m. (8)
(Total / Jumlah : 20)
7
CDCP2103SEPT08/F
a) Seorang ahli kimia menggunakan jadual keputusan dalam Jadual 1 di bawah untuk
menentukan sama ada penyelesaian adalah sangat berasid, berasid, neutral, beralkali,
atau sangat beralkali. Tuliskan atur cara yang boleh membaca nilai pH bagi satu
penyelesaian dan memaparkan jenisnya.
Jadual 1
Julat pH Jenis penyelesaian
>= 12 sangat beralkali
8 – 12 beralkali
7 neutral
3–6 berasid
<= 2 sangat berasid
b) Tuliskan fungsi yang dinamakan sebagai KuasaTiga yang mempunyai parameter integer
yang dinyatakan sebagai m, dan fungsi ini akan memulangkan m*m*m.
8
CDCP2103SEPT08/F
Write a program which read the input in second and then output it in hour, minute and
second.
Example:
Tuliskan atur cara yang akan membaca input dalam saat dan kemudian menghasilkan output
dalam jam, minit dan saat.
Contoh:
9
CDCP2103SEPT08/F
A company pays its salespeople on a commission basis. The salespeople receive RM200
per week plus 9 percent of their gross sales for that week. For example, a salesperson
who grosses RM5000 in sales in a week receives RM200 plus 9 percent of RM5000, or a
overall total of RM650.
Write a program (using an array) that determines how many of the salesperson earned
salaries in each of the following ranges (assume that each salesperson’s salary is
truncated to an integer amount). Your program will terminate when the input entered is
negative.
1. RM200 – RM299
2. RM300 – RM399
3. RM400 – RM499
4. RM500 – RM599
5. RM600 – RM699
6. RM700 – RM799
7. RM800 – RM899
8. RM900 – RM999
9. RM1000 and so on
(20)
(Total / Jumlah : 20)
10
CDCP2103SEPT08/F
Satu syarikat membayar jurujualnya dalam bentuk komisyen. Jurujual menerima RM200
seminggu dan 9 peratus daripada jualan kasar untuk minggu tersebut. Contohnya, seorang
jurujual yang berpendapatan RM5000 bagi jualan untuk seminggu menerima RM200 dan 9
peratus daripada RM5000, atau berjumlah RM650 secara keseluruhan.
Tuliskan satu atur cara (menggunakan satu tatasusunan) yang menentukan bilangan jurujual
yang mendapat gaji dalam julat berikut (andaikan bahawa gaji setiap jurujual dibulatkan kepada
jumlah integer) bagi suatu minggu. Atur cara anda boleh berhenti apabila input yang
dimasukkan adalah negatif.
1. RM200 – RM299
2. RM300 – RM399
3. RM400 – RM499
4. RM500 – RM599
5. RM600 – RM699
6. RM700 – RM799
7. RM800 – RM899
8. RM900 – RM999
9. RM1000 dan seterusnya
11
CDCP2103SEPT08/F
PART C / BAHAGIAN C
INSTRUCTIONS / ARAHAN:
Part C contains TWO questions. Answer ONE ONLY.
Bahagian C mengandungi DUA soalan. Jawab SATU sahaja.
Write a program which generates a diagram as shown in the example below. Your
program should read a positive integer value which it represent number of ‘*’ in
horizontal and vertical of triangle.
Example:
If input given is 5
Then output is as follows:
*****
****
***
**
*
Your program only can use a combination of printf(“*”) and printf(“\n”)
statements and loop.
(20)
(Total / Jumlah : 20)
12
CDCP2103SEPT08/F
Tuliskan satu aturcara yang akan menghasilkan gambarajah seperti ditunjukkan di dalam
contoh di bawah. Aturcara anda harus membaca nilai integer positif yang mewakili bilangan
‘*’ dalam segitiga melintang dan menegak.
Contoh:
Jika input diberi ialah 5
Maka output adalah seperti berikut:
*****
****
***
**
*
Program anda hanya boleh menggunakan kombinasi pernyataan printf(“*”) dan
printf(“\n”) sahaja beserta dengan gelung.
13
CDCP2103SEPT08/F
Example:
Enter a positive integer: 5
5! = 120
(20)
(Total / Jumlah : 20)
Bagi satu integer positif n, faktorial n, ditunjukkan oleh n! dan ditakrifkan sebagai hasil darab
integer daripada 1 hingga n; 0! ditakrifkan sebagai 1. Gelung for adalah struktur pengulangan
semula jadi yang digunakan untuk mengira faktorial. Tuliskan satu atur cara yang dapat
membaca beberapa integer bukan negatif dan mengira dan memaparkan faktorial bagi
setiapnya. Gunakan fungsi untuk mengira faktorial tersebut.
Contoh:
Masukkan satu integer positif: 5
5! = 120
14