myUASARevision for UASAUlang kaji UASA
Practice paper, not an official KPM paperKertas latihan, bukan kertas rasmi KPM
Asas Sains Komputer Tingkatan 2
Ujian Akhir Sesi Akademik (format rumah)

Asas Sains Komputer

Tingkatan 2, 1 jam 30 minit, 70 marksmarkah
NameNama
ClassKelas
DateTarikh
marksmarkah:      / 70
InstructionsArahan
  1. Kertas soalan ini mengandungi tiga bahagian: Bahagian A, Bahagian B dan Bahagian C.
  2. Jawab semua soalan.
  3. Bahagian A: pilih satu jawapan yang betul.
  4. Bahagian B dan C: tulis jawapan anda di ruang yang disediakan. Tunjukkan cara kerja anda.

Bahagian A

10 marksmarkah
Jawab semua soalan. Setiap soalan diikuti oleh empat pilihan jawapan, A, B, C dan D. Pilih satu jawapan yang betul.
1

QuestionSoalan 1

Apakah kepanjangan bagi ASCII?
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
ASCII ialah singkatan American Standard Code for Information Interchange. Kod ini mewakili teks dalam komputer dan alatan komunikasi lain (ms. 12).
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 1, standard 1.1.3
TextbookBuku teks p.ms. 12
2

QuestionSoalan 2

Antara nombor berikut, yang manakah mempunyai nilai paling besar?
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
Tukarkan semua nombor kepada perpuluhan. 100102 = 16 + 2 = 18. 178 = 1 × 8 + 7 = 15. 1116 = 1 × 16 + 1 = 17. 1510 = 15. Nilai terbesar ialah 18, iaitu 100102 (ms. 3, 19 dan 23; perduaan mempunyai nilai tempat 1, 2, 4, 8, 16). Nombor yang kelihatan besar belum tentu bernilai besar kerana asasnya berbeza.
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, Bab 1, standard 1.2.2
TextbookBuku teks p.ms. 25
3

QuestionSoalan 3

Teliti pseudokod berikut.
1Setkan k = 1
2while k < 5
3    k = k + 1
4    Paparkan k
Apakah nilai yang dipaparkan, mengikut turutan?
Show answerTunjuk jawapanHide answerSembunyi jawapan
D
Syarat k < 5 diuji sebelum setiap lelaran (ms. 56). Dalam gelung, k dinaikkan dahulu dan baharu dipaparkan: k = 1 menjadi 2 (paparkan 2), 2 menjadi 3, 3 menjadi 4, 4 menjadi 5 (paparkan 5). Apabila k = 5, 5 < 5 palsu dan gelung berhenti. Nilai 1 tidak pernah dipaparkan kerana Paparkan berada selepas kemas kini. Susunan pernyataan dalam gelung mengubah output.
For the teacherUntuk guru: AnalysingMenganalisis, mediumsederhana difficultyaras mediumsederhana, Bab 2, standard 2.1.1 (ii)
TextbookBuku teks p.ms. 56
4

QuestionSoalan 4

Dalam carta alir, simbol yang manakah digunakan untuk ujian syarat yang mempunyai dua jalan keluar, Ya dan Tidak?
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
Ujian syarat (keputusan) menggunakan simbol berlian dengan dua jalan keluar, Ya dan Tidak (Rajah 2.2, ms. 41, dan Rajah 2.7, ms. 46). Segi empat tepat ialah proses, segi empat selari ialah input atau output dan bujur menandakan Mula atau Tamat.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 2, standard 2.1.1
TextbookBuku teks p.ms. 41
5

QuestionSoalan 5

Apakah output bagi kod Python berikut?
print(12 / 4 + 2)
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
Operator / memberi hasil bahagi berjenis float dalam Python 3: 12 / 4 = 3.0 (ms. 78). Kemudian 3.0 + 2 = 5.0, bukan 5.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.1
TextbookBuku teks p.ms. 78
6

QuestionSoalan 6

Antara pernyataan berikut, yang manakah benar tentang pemboleh ubah dan pemalar?
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
Jadual 3.4 (ms. 92): nilai pemalar tetap, pemalar mempunyai nilai yang standard, dan pengatur cara tidak perlu mengingat label dan nilai pemalar. Pemboleh ubah pula berubah-ubah nilainya, tiada nilai standard dan labelnya perlu diingat. Pemalar juga disimpan dalam ingatan seperti pemboleh ubah.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.2
TextbookBuku teks p.ms. 92
7

QuestionSoalan 7

Apakah jenis data bagi nilai yang dihasilkan oleh ungkapan Python berikut?
len("Kopi") > 3
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
len("Kopi") memberi 4 dan 4 > 3 ialah ungkapan perbandingan. Ungkapan boolean menghasilkan nilai logik True atau False (ms. 86), maka jenis datanya ialah boolean. Di sini hasilnya True.
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.1
TextbookBuku teks p.ms. 86
8

QuestionSoalan 8

Sebuah kedai hanya memberi diskaun kepada pelanggan yang menjadi ahli. Pelanggan ahli yang berumur kurang daripada 13 tahun atau berumur 60 tahun ke atas layak mendapat diskaun. Ungkapan boolean yang manakah menepati syarat itu?
Show answerTunjuk jawapanHide answerSembunyi jawapan
D
and benar hanya jika kedua-dua operan benar; or benar jika salah satu operan benar (Jadual 3.8, ms. 99). Syarat umur ialah “kurang daripada 13 atau 60 dan ke atas”, maka umur < 13 or umur >= 60, dan syarat ini mesti digabungkan dengan ahli menggunakan and. A salah kerana tiada umur yang kurang daripada 13 dan juga 60 ke atas. B salah kerana or membenarkan bukan ahli. C salah kerana <= 13 memasukkan 13 dan > 60 mengecualikan 60.
For the teacherUntuk guru: AnalysingMenganalisis, mediumsederhana difficultyaras mediumsederhana, Bab 3, standard 3.1.3
TextbookBuku teks p.ms. 99
9

QuestionSoalan 9

Apakah output bagi kod Python berikut?
print("Ayam" + "Itik", "Ikan")
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
Operator + menggabungkan dua string tanpa ruang kosong, maka "Ayam" + "Itik" menjadi AyamItik. Tanda koma dalam print() menggabungkan dengan satu ruang kosong (Jadual 3.3, ms. 83). Output: AyamItik Ikan.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.1
TextbookBuku teks p.ms. 83
10

QuestionSoalan 10

Apakah output bagi kod Python berikut?
print(6 + 4 * (9 - 5) - 3 * 2)
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
Kurungan diselesaikan dahulu: 9 - 5 = 4. Kemudian darab dahulu sebelum tambah dan tolak: 4 * 4 = 16 dan 3 * 2 = 6. Akhirnya 6 + 16 - 6 = 16 (ms. 110). Pilihan 74 mengira dari kiri ke kanan tanpa mengutamakan darab; pilihan 31 mengabaikan kurungan; pilihan 38 menolak 3 sebelum mendarab dengan 2.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.1
TextbookBuku teks p.ms. 110

Bahagian B

40 marksmarkah
Jawab semua soalan. Tulis jawapan anda di ruang yang disediakan.
11

QuestionSoalan 11

Jadual 1 menunjukkan kod ASCII bagi aksara dalam perkataan Ikan. Petak P, Q, R dan S sengaja dibiarkan kosong.
Jadual kod ASCII bagi I, k, a dan n dalam perpuluhan, perlapanan dan perenambelasan; empat petak kosong P, Q, R dan S
Jadual 1
[2 marksmarkah] (a)Tulis nilai P dan nilai Q, iaitu kod ASCII perlapanan bagi k dan n.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
k = 107: 107 ÷ 8 = 13 baki 3; 13 ÷ 8 = 1 baki 5; 1 ÷ 8 = 0 baki 1; baki dari bawah ke atas: 153. n = 110: 110 ÷ 8 = 13 baki 6; 13 ÷ 8 = 1 baki 5; 1 ÷ 8 = 0 baki 1; baca 156 (ms. 12).
Tick each point you got.Tandakan setiap isi yang betul.
[2 marksmarkah] (b)Tulis nilai R dan nilai S, iaitu kod ASCII perenambelasan bagi I dan n.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
I = 73: 73 ÷ 16 = 4 baki 9; 4 ÷ 16 = 0 baki 4; baca 49. n = 110: 110 ÷ 16 = 6 baki 14 (E); 6 ÷ 16 = 0 baki 6; baca 6E (ms. 28 dan 29).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 1, standard 1.2.3
TextbookBuku teks p.ms. 28
12

QuestionSoalan 12

Dalam jadual ASCII, kod huruf kecil ialah kod huruf besar yang sama ditambah 32 (perpuluhan). Huruf besar M mempunyai kod perpuluhan 77, kod perlapanan 115 dan kod perenambelasan 4D.
[1 markmarkah] (a)Tulis kod ASCII perpuluhan bagi huruf kecil m.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
77 + 32 = 109.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Tukarkan kod perpuluhan di (a) kepada nombor perlapanan dengan kaedah bahagi dengan 8.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
109 ÷ 8 = 13 baki 5; 13 ÷ 8 = 1 baki 5; 1 ÷ 8 = 0 baki 1. Baki dari bawah ke atas: 155 (ms. 12).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Tukarkan kod perpuluhan di (a) kepada nombor perenambelasan.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
109 ÷ 16 = 6 baki 13 (D); 6 ÷ 16 = 0 baki 6. Baca dari bawah ke atas: 6D (ms. 28).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (d)Berapakah nombor yang ditambah kepada kod perlapanan 115 bagi M untuk mendapat kod perlapanan bagi m?

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
155 - 115 = 40 dalam perlapanan. Dalam perlapanan, huruf kecil = huruf besar + 408 (semak dalam Lampiran A). Dalam perenambelasan tambah 2016: 4D + 20 = 6D.
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: UnderstandingMemahami, mediumsederhana difficultyaras mediumsederhana, Bab 1, standard 1.1.3
TextbookBuku teks p.ms. 13
13

QuestionSoalan 13

Jadual 2 membandingkan sistem nombor perlapanan dengan sistem nombor perenambelasan. Lengkapkan petak (a), (b), (c) dan (d).
PerlapananPerenambelasan
Asas816
Digit terbesar(a) ........(b) ........
Bilangan digit perduaan bagi satu digit3(c) ........
Nilai tempat keempat dari kanan(d) ........4 096

Jadual 2

[1 markmarkah] (a)Petak (a)

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Sistem perlapanan menggunakan digit 0 hingga 7 (ms. 2 dan 3).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Petak (b)

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Digit perenambelasan ialah 0 hingga 9 dan A hingga F; F bernilai 15 (Jadual 1.6, ms. 19).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Petak (c)

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Satu digit perenambelasan = empat digit perduaan (ms. 23 dan Jadual 1.10, ms. 24).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (d)Petak (d)

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Nilai tempat perlapanan: 1, 8, 64, 512. Nilai tempat keempat dari kanan ialah 83 = 512 (Jadual 1.2, ms. 3).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 1, standard 1.2.4
TextbookBuku teks p.ms. 31
14

QuestionSoalan 14

Hafiz mahu menukar nombor perenambelasan 4B716 kepada nombor perlapanan. Dia menukarnya kepada nombor perduaan dahulu sebagai langkah perantaraan.
[2 marksmarkah] (a)Tukarkan 4B716 kepada nombor perduaan. Buang sifar di hadapan dalam jawapan akhir.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Jadual 1.10 (ms. 24): 4 = 0100, B = 1011 dan 7 = 0111. Cantum: 010010110111. Buang sifar di hadapan sahaja: 100101101112 (11 digit).
Tick each point you got.Tandakan setiap isi yang betul.
[2 marksmarkah] (b)Daripada jawapan di (a), tukarkan kepada nombor perlapanan dengan mengumpul digit. Tunjukkan cara kerja anda.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
11 digit bukan gandaan 3, maka tambah satu sifar di kiri (bukan di kanan): 010 010 110 111. 010 = 2; 010 = 2; 110 = 6; 111 = 7. Maka 4B716 = 22678 (ms. 10). Semakan: 4 × 256 + 11 × 16 + 7 = 1207 dan 2 × 512 + 2 × 64 + 6 × 8 + 7 = 1207.
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 1, standard 1.2.2 (iii)
TextbookBuku teks p.ms. 24
15

QuestionSoalan 15

Pengguna menaip huruf besar H pada papan kekunci. Pernyataan P, Q, R dan S menerangkan perjalanan aksara itu dalam komputer, tetapi tidak mengikut urutan.
P  Kod ASCII ditukar semula menjadi aksara H dan aksara itu dipaparkan pada skrin.
Q  Pengguna menekan Shift + H pada papan kekunci.
R  Isyarat 01001000 dihantar ke storan ingatan untuk disimpan.
S  Isyarat elektronik 01001000, iaitu kod ASCII perduaan bagi H, dihantar ke CPU melalui sistem bas.
Pilih huruf yang menunjukkan urutan yang betul.
[1 markmarkah] (a)Langkah pertama
Show answerTunjuk jawapanHide answerSembunyi jawapan
Q
Aksara bermula dengan input: pengguna menekan Shift + H (ms. 14).
[1 markmarkah] (b)Langkah kedua
Show answerTunjuk jawapanHide answerSembunyi jawapan
S
Isyarat elektronik kod ASCII perduaan dihantar ke CPU melalui sistem bas (ms. 14).
[1 markmarkah] (c)Langkah ketiga
Show answerTunjuk jawapanHide answerSembunyi jawapan
R
Isyarat itu kemudian dihantar ke storan ingatan untuk disimpan (ms. 14).
[1 markmarkah] (d)Langkah keempat
Show answerTunjuk jawapanHide answerSembunyi jawapan
P
Selepas pemprosesan, kod ASCII ditukar semula menjadi aksara dan dipaparkan pada skrin sebagai output (ms. 14). Urutan yang betul: Q, S, R, P.
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, Bab 1, standard 1.1.4
TextbookBuku teks p.ms. 14
16

QuestionSoalan 16

Pseudokod berikut menentukan kadar pos sebuah bungkusan mengikut beratnya (dalam gram).
1Mula
2Baca berat
3Jika (berat <= 500)
4    Setkan pos = 3
5Jika tidak
6    Jika (berat <= 2000)
7        Setkan pos = 8
8    Jika tidak
9        Setkan pos = 12
10    Tamat jika
11Tamat jika
12Paparkan pos
13Tamat
Jadual 2 ialah semakan meja bagi empat nilai berat. Petak P, Q dan R sengaja dibiarkan kosong.
Semakan meja dengan lajur berat, ujian pertama berat <= 500, ujian kedua berat <= 2000 dan pos bagi berat 500, 750, 2000 dan 2001; tiga petak kosong P, Q dan R
Jadual 2
[2 marksmarkah] (a)Tulis nilai P dan nilai Q.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
P: 500 <= 500 ialah Ya (nilai sempadan 500 masih dalam kadar pertama), maka ujian kedua tidak diuji. Q: 2001 <= 2000 ialah Tidak, maka cabang Jika tidak yang dalam dilaksanakan dan pos ialah 12.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Tulis nilai R, iaitu pos yang dipaparkan bagi berat 2000.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
2000 <= 500 ialah Tidak, kemudian 2000 <= 2000 ialah Ya, maka pos = 8.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Jika baris 6 ditulis sebagai Jika (berat < 2000), tulis pos yang dipaparkan bagi berat 2000.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
2000 < 2000 ialah Tidak, maka cabang Jika tidak yang dalam dilaksanakan dan pos = 12. Menukar <= kepada < mengubah keputusan pada nilai sempadan 2000: uji nilai sempadan dengan semakan meja (ms. 43).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: AnalysingMenganalisis, hightinggi difficultyaras hightinggi, Bab 2, standard 2.1.1 (i)
TextbookBuku teks p.ms. 43
17

QuestionSoalan 17

Teliti segmen kod Python berikut yang mengira jumlah bayaran termasuk cukai jualan.
1sst = 0.06    # kadar cukai, nilainya tidak berubah semasa atur cara dilaksanakan
2harga = float(input("Harga (RM): "))
3cukai = harga * sst
4jumlah = harga + cukai
5print("Jumlah: RM", round(jumlah, 2))
[1 markmarkah] (a)Nyatakan pemalar dalam segmen kod itu.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Nilai sst tetap dan tidak berubah semasa atur cara dilaksanakan, maka sst ialah pemalar. harga, cukai dan jumlah ialah pemboleh ubah kerana nilainya bergantung pada input dan berubah (Jadual 3.4, ms. 92).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Faiz berkata sst ialah pemboleh ubah kerana ia ditulis dengan tanda = seperti pemboleh ubah lain. Adakah Faiz betul? Beri satu sebab.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Pemalar menyimpan nilai dalam ingatan seperti pemboleh ubah, tetapi nilainya tidak berubah semasa atur cara dilaksanakan, seperti nilai pi dalam pengiraan luas bulatan (ms. 91 dan Jadual 3.4, ms. 92). Buku teks juga menjadikan nombor rahsia yang tidak berubah sebagai pemalar (Contoh 3.29, ms. 160). Tanda = hanya memberi nilai dan tidak membezakan pemalar daripada pemboleh ubah.
Tick each point you got.Tandakan setiap isi yang betul.
[2 marksmarkah] (c)Pengguna memasukkan 50 pada baris 2. Tulis output atur cara.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
harga = 50.0 (float), cukai = 3.0, jumlah = 53.0. Koma dalam print() memaparkan satu ruang kosong di antara teks dan nombor; round(jumlah, 2) kekal 53.0 (ms. 80 dan 83).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: EvaluatingMenilai, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.2
TextbookBuku teks p.ms. 92
18

QuestionSoalan 18

Tulis ungkapan boolean Python bagi setiap syarat berikut. Gunakan operator perbandingan dan operator logik yang sesuai.
[1 markmarkah] (a)Nilai umur ialah 18 atau lebih.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Operator >= bermaksud lebih besar atau sama dengan (Jadual 3.7, ms. 98).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Nilai pembahagi tidak sama dengan 0.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Operator != bermaksud tidak sama dengan (Jadual 3.7, ms. 98). Ungkapan not (pembahagi == 0) juga diterima (Jadual 3.8, ms. 99).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Nilai markah kurang daripada 40 atau lebih daripada 100 (markah tidak sah).

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Dua syarat disambung dengan or kerana salah satu cukup untuk menjadikan markah tidak sah (Jadual 3.8, ms. 99).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (d)Nilai skor berada antara 40 dan 60, termasuk 40 dan 60. Gunakan and.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Kedua-dua syarat mesti benar serentak, maka gunakan and. Tanda >= dan <= memasukkan 40 dan 60. Bentuk bersambung 40 <= skor <= 60 juga diterima (ms. 87 dan 99).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.3 (iii)
TextbookBuku teks p.ms. 99
19

QuestionSoalan 19

Atur cara berikut mengira jumlah bayaran. Pengguna memasukkan 4.50 bagi harga dan 3 bagi bilangan. Atur cara berhenti pada baris 4 dan memaparkan mesej ralat TypeError.
1harga = float(input("Harga (RM): "))
2bilangan = int(input("Bilangan: "))
3jumlah = harga * bilangan
4print("Jumlah bayaran: RM" + jumlah)
[1 markmarkah] (a)Nyatakan jenis ralat itu.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Atur cara terhenti tiba-tiba dan mesej ralat dipaparkan semasa dijalankan, iaitu ralat masa larian (ms. 106 dan 107).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Terangkan punca ralat itu.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Salah satu punca ralat masa larian ialah operasi antara pemboleh ubah berlainan jenis data. "Jumlah bayaran: RM" ialah string dan jumlah ialah float (13.5) (ms. 106).
Tick each point you got.Tandakan setiap isi yang betul.
[2 marksmarkah] (c)Tulis semula baris 4 supaya atur cara berjalan dengan betul, kemudian tulis output atur cara.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
print("Jumlah bayaran: RM", jumlah)
Output: Jumlah bayaran: RM 13.5
Atau: print("Jumlah bayaran: RM" + str(jumlah)) dengan output Jumlah bayaran: RM13.5
Tanda koma dalam print() memaparkan nilai dengan satu ruang kosong tanpa menggabungkan jenis data yang berlainan (Jadual 3.3, ms. 83). 4.50 × 3 = 13.5. Penukaran jumlah kepada string dengan str(jumlah) juga diterima kerana + boleh menggabungkan dua string; markah output bergantung pada kod yang ditulis: koma memberi RM 13.5, str() memberi RM13.5.
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: AnalysingMenganalisis, mediumsederhana difficultyaras mediumsederhana, Bab 3, standard 3.1.4
TextbookBuku teks p.ms. 106
20

QuestionSoalan 20

Buku teks membandingkan fungsi input dan output dalam beberapa bahasa pengaturcaraan. Pilih bahasa pengaturcaraan yang menggunakan setiap pernyataan berikut.
[1 markmarkah] (a)scanf(umur); (fungsi input)
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
Bahasa C menggunakan scanf() bagi input dan printf() bagi output (Jadual 3.5 dan 3.6, ms. 96 dan 97).
[1 markmarkah] (b)cout << umur; (fungsi output)
Show answerTunjuk jawapanHide answerSembunyi jawapan
C++
Bahasa C++ menggunakan cin >> bagi input dan cout << bagi output (Jadual 3.5 dan 3.6, ms. 96 dan 97).
[1 markmarkah] (c)System.out.println(umur); (fungsi output)
Show answerTunjuk jawapanHide answerSembunyi jawapan
Java
Bahasa Java menggunakan System.in (dengan Scanner) bagi input dan System.out.println() bagi output (Jadual 3.5 dan 3.6, ms. 96 dan 97).
[1 markmarkah] (d)umur = input("Umur: ") (fungsi input)
Show answerTunjuk jawapanHide answerSembunyi jawapan
Python
Bahasa Python menggunakan input() bagi input dan print() bagi output (Jadual 3.5 dan 3.6, ms. 96 dan 97).
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.3 (i)
TextbookBuku teks p.ms. 96

Bahagian C

20 marksmarkah
Jawab semua soalan. Tulis jawapan anda di ruang yang disediakan.
21

QuestionSoalan 21

Saringan lari 100 m diadakan untuk 6 orang peserta. Masa setiap peserta (dalam saat) dimasukkan satu demi satu. Peserta layak jika masanya 14.0 saat atau kurang. Antara peserta yang layak, yang masanya kurang daripada 12.5 saat dikira cemerlang. Selepas semua masa dimasukkan, atur cara memaparkan bilangan peserta layak dan cemerlang. Jika bilangan peserta layak sekurang-kurangnya 4, paparkan "Pusingan akhir diteruskan"; jika tidak, paparkan "Pilih peserta tambahan".
[2 marksmarkah] (a)Rajah 1 ialah carta alir bagi gelung yang membaca masa setiap peserta. Tulis syarat bagi P dan pernyataan bagi Q.
Carta alir: setkan kira = 1, layak = 0 dan cemerlang = 0; keputusan P; jika Ya baca masa, semak masa dan kemas kini layak dan cemerlang, kemudian Q dan kembali ke keputusan; jika Tidak paparkan layak dan cemerlang, TAMAT
Rajah 1

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Pembilang kira bermula pada 1. Gelung berjalan enam kali selagi kira <= 6, dan pembilang dinaikkan satu pada setiap lelaran supaya gelung akhirnya berhenti (ms. 52 dan 54).
Tick each point you got.Tandakan setiap isi yang betul.
[8 marksmarkah] (b)Tulis pseudokod lengkap bagi algoritma ini.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Mula
Setkan kira = 1, layak = 0, cemerlang = 0
for kira <= 6
    Baca masa
    Jika (masa <= 14.0)
        layak = layak + 1
        Jika (masa < 12.5)
            cemerlang = cemerlang + 1
        Tamat jika
    Tamat jika
    kira = kira + 1
Paparkan layak, cemerlang
Jika (layak >= 4)
    Paparkan "Pusingan akhir diteruskan"
Jika tidak
    Paparkan "Pilih peserta tambahan"
Tamat jika
Tamat
Algoritma ini menggabungkan jujukan (menyetkan nilai awal), ulangan for, pilihan bersarang dan pilihan dwipilihan (ms. 65 hingga 66). Terima penyelesaian lain yang betul, misalnya while kira <= 6 atau for dengan range, asalkan gelung berjalan enam kali dan cemerlang hanya dikira dalam cabang layak. Semakan meja dengan 13.2, 12.4, 15.0, 14.0, 12.0 dan 14.8: layak = 4, cemerlang = 2, "Pusingan akhir diteruskan"; masa 14.0 layak (kerana <= 14.0) tetapi tidak cemerlang.
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: CreatingMencipta, hightinggi difficultyaras hightinggi, Bab 2, standard 2.1.3
TextbookBuku teks p.ms. 66
22

QuestionSoalan 22

Kantin sekolah mahu sebuah atur cara Python untuk merekod jualan beberapa jenis barang pada satu hari. Bagi setiap jenis barang, pengguna memasukkan nama barang (teks), harga seunit dalam RM (nombor perpuluhan) dan kuantiti terjual (nombor bulat). Hasil jualan sesuatu barang ialah harga seunit darab kuantiti.
[2 marksmarkah] (a)(i) Tulis hasil jualan jika harga seunit ialah 3.20 dan kuantiti ialah 4.
(ii) Nyatakan jenis data bagi hasil jualan itu.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
3.20 * 4 = 12.8. Hasil darab nombor perpuluhan (float) dengan integer ialah float (ms. 78 dan 79).
Tick each point you got.Tandakan setiap isi yang betul.
[8 marksmarkah] (b)Tulis atur cara Python lengkap yang: (1) meminta bilangan jenis barang (nombor bulat); (2) bagi setiap jenis barang, meminta nama, harga seunit dan kuantiti, mengira hasil jualan dan memaparkan nama barang serta hasil jualannya; (3) selepas semua barang diproses, memaparkan nama barang yang mempunyai hasil jualan paling tinggi dan hasil jualan itu; (4) memaparkan "Jualan cemerlang" jika hasil jualan paling tinggi melebihi RM50; jika tidak, memaparkan "Jualan biasa".

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
n = int(input("Bilangan jenis barang: "))
tertinggi = 0
nama_tertinggi = ""
for i in range(n):
    nama = input("Nama barang: ")
    harga = float(input("Harga seunit (RM): "))
    kuantiti = int(input("Kuantiti: "))
    hasil = harga * kuantiti
    print(nama, "RM", hasil)
    if hasil > tertinggi:
        tertinggi = hasil
        nama_tertinggi = nama
print("Jualan tertinggi:", nama_tertinggi, "RM", tertinggi)
if tertinggi > 50:
    print("Jualan cemerlang")
else:
    print("Jualan biasa")
Atur cara menggabungkan jujukan, ulangan for, pilihan if dan pilihan if-else (ms. 159 hingga 163). Terima penyelesaian lain yang betul, misalnya while dengan pembilang, nama pemboleh ubah yang lain, atau hasil dikira terus tanpa pemboleh ubah hasil. Semakan meja dengan 3 jenis barang (Nasi lemak 3.20 dan 4; Mi goreng 6.50 dan 10; Kuih 0.80 dan 15): hasil 12.8, 65.0 dan 12.0; tertinggi ialah Mi goreng RM 65.0 dan paparan "Jualan cemerlang". Dengan Teh 1.50 dan 20 sebagai barang kedua, tertinggi ialah Teh 30.0 dan paparan "Jualan biasa".
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: CreatingMencipta, mediumsederhana difficultyaras mediumsederhana, Bab 3, standard 3.2.3
TextbookBuku teks p.ms. 160
Test specification (JSU)Jadual Spesifikasi Ujian (JSU)
BabRememberingMengingatUnderstandingMemahamiApplyingMengaplikasiAnalysingMenganalisisEvaluatingMenilaiCreatingMenciptaItemmarksmarkah
1. Perwakilan data2 (5)2 (8)3 (9)–––722
2. Algoritma1 (1)––2 (5)–1 (10)416
3. Kod arahan2 (5)1 (1)4 (7)2 (5)1 (4)1 (10)1132
TotalJumlah5 (11)3 (9)7 (16)4 (10)1 (4)2 (20)2270
Each cell shows items (marks).Setiap petak menunjukkan item (markah).