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

Satu bait ialah gabungan 8 bit. Berapakah bilangan aksara berbeza yang boleh diwakili oleh satu bait?
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
Satu bit hanya mempunyai dua keadaan, 0 atau 1. Satu bait mempunyai 8 bit, maka bilangan kombinasinya ialah 28 = 256, jadi satu bait boleh mewakili sehingga 256 aksara berbeza (Fakta Segera, ms. 12). 64 ialah 26 dan 128 ialah 27.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 1, standard 1.1.3
TextbookBuku teks p.ms. 12
2

QuestionSoalan 2

Apakah nombor perenambelasan bagi nombor perduaan 111001102?
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
Kumpulkan empat digit dari kanan (Contoh 1.12, ms. 26): 1110 | 0110. 1110 = 8 + 4 + 2 = 14 = E dan 0110 = 4 + 2 = 6. Maka 111001102 = E616. Pilihan 6E menukar susunan kumpulan; pilihan D6 menganggap 1110 sebagai 13; pilihan E3 menggunakan kumpulan tiga digit bagi 110 bukannya 0110.
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, Bab 1, standard 1.2.2 (iv)
TextbookBuku teks p.ms. 26
3

QuestionSoalan 3

Perkataan KOMPUTER disimpan dalam komputer menggunakan kod ASCII. Berapakah jumlah digit perlapanan yang diperlukan untuk mewakili perkataan itu?
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
Setiap aksara = 8 bit = 3 digit perlapanan (ms. 15, perkataan TOLONG: 6 aksara memerlukan 18 digit perlapanan). KOMPUTER ada 8 aksara, maka 8 × 3 = 24 digit perlapanan. Pilihan 64 ialah bilangan digit perduaan (8 × 8) dan 32 tidak sepadan dengan mana-mana sistem nombor.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 1, standard 1.1.4
TextbookBuku teks p.ms. 15
4

QuestionSoalan 4

Apakah yang dimaksudkan dengan struktur kawalan pilihan bersarang?
Show answerTunjuk jawapanHide answerSembunyi jawapan
D
Struktur kawalan pilihan bersarang terdiri daripada satu struktur kawalan pilihan yang terbenam dalam struktur kawalan yang lain; struktur kedua hanya dimulakan apabila struktur pertama menyebabkannya (ms. 41). Pilihan A ialah ulangan.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 2, standard 2.1.1 (i)
TextbookBuku teks p.ms. 41
5

QuestionSoalan 5

Teliti pseudokod berikut.
1Setkan jum = 0
2Setkan kira = 1
3for kira <= 4
    jum = jum + kira * 2
    kira = kira + 1
4Paparkan jum
Apakah nilai jum yang dipaparkan?
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
Syarat kira <= 4 diuji sebelum setiap lelaran (ms. 52). kira = 1, 2, 3 dan 4 lulus: jum = 2 + 4 + 6 + 8 = 20 dan gelung berhenti apabila kira = 5. Pilihan 10 terlupa darab 2; pilihan 12 menganggap gelung berhenti pada kira = 3; pilihan 30 menganggap kira = 5 turut dilaksanakan.
For the teacherUntuk guru: AnalysingMenganalisis, mediumsederhana difficultyaras mediumsederhana, Bab 2, standard 2.1.1 (ii)
TextbookBuku teks p.ms. 52
6

QuestionSoalan 6

Python tidak mempunyai jenis data char. Bagaimanakah satu aksara seperti A diwakili dalam Python?
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
C, C++, C# dan Java mempunyai jenis char, tetapi Python tidak: semua aksara diwakili oleh jenis string, str (ms. 82). Double ialah nombor perpuluhan dan boolean hanya mempunyai nilai True atau False.
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.1
TextbookBuku teks p.ms. 82
7

QuestionSoalan 7

Apakah output bagi kod Python berikut?
print(29 // 6, 29 % 6)
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
Operator // ialah floor division, iaitu hasil bahagi tanpa baki: 29 // 6 = 4 (6 × 4 = 24). Operator % ialah modulus, iaitu baki pembahagian: 29 % 6 = 5 (Jadual 3.9, ms. 100). Koma dalam print() memberi satu ruang kosong: 4 5. Pilihan 4.83 5 mengambil 29 / 6 = 4.83 dan pilihan 5 4 menukar susunan hasil bahagi dan baki.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.1
TextbookBuku teks p.ms. 100
8

QuestionSoalan 8

Apakah output bagi kod Python berikut?
ayat = str("Pengaturcara")
print(ayat[3:7])
Show answerTunjuk jawapanHide answerSembunyi jawapan
D
Indeks bermula daripada 0: P = 0, e = 1, n = 2, g = 3, a = 4, t = 5, u = 6, r = 7. Julat [3:7] bermula pada indeks 3 dan berhenti sebelum indeks 7, iaitu indeks 3, 4, 5 dan 6, maka aksara g, a, t dan u (Jadual 3.3, ms. 83). Pilihan gatur memasukkan indeks 7.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.1
TextbookBuku teks p.ms. 83
9

QuestionSoalan 9

Antara berikut, yang manakah nama pemboleh ubah yang sah dalam Python?
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
Nama pemboleh ubah hanya boleh mengandungi aksara dan digit, tidak boleh dimulakan dengan nombor dan tidak boleh ada ruang kosong (ms. 91). 3kali bermula dengan nombor; nama murid dan kos tetap mempunyai ruang kosong. harga_1 menggunakan garis bawah untuk menyambung perkataan seperti dalam contoh buku teks.
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.2
TextbookBuku teks p.ms. 91
10

QuestionSoalan 10

Teliti kod Python berikut.
markah = 85
if markah >= 40:
    print("Lulus")
elif markah >= 80:
    print("Cemerlang")
else:
    print("Gagal")
Apakah output kod itu?
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
Syarat if-elif disemak dari atas ke bawah dan Python berhenti pada syarat pertama yang benar (ms. 129 menyusun syarat umur dari yang terbesar). 85 >= 40 benar, maka “Lulus” dipaparkan dan elif tidak diuji. Syarat yang paling ketat (markah >= 80) sepatutnya diletakkan dahulu supaya “Cemerlang” dapat dipaparkan; ini ialah ralat logik tanpa mesej ralat.
For the teacherUntuk guru: AnalysingMenganalisis, mediumsederhana difficultyaras mediumsederhana, Bab 3, standard 3.2.1 (ii)
TextbookBuku teks p.ms. 129

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 Sagu. Petak P, Q, R dan S sengaja dibiarkan kosong.
Jadual kod ASCII bagi S, a, g dan u 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 S dan u.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
S = 83: 83 ÷ 8 = 10 baki 3; 10 ÷ 8 = 1 baki 2; 1 ÷ 8 = 0 baki 1; baki dari bawah ke atas: 123. u = 117: 117 ÷ 8 = 14 baki 5; 14 ÷ 8 = 1 baki 6; 1 ÷ 8 = 0 baki 1; baca 165 (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 a dan g.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
a = 97: 97 ÷ 16 = 6 baki 1; 6 ÷ 16 = 0 baki 6; baca 61. g = 103: 103 ÷ 16 = 6 baki 7; 6 ÷ 16 = 0 baki 6; baca 67 (Contoh 1.14, ms. 28).
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

Nombor perduaan 110101112 perlu ditulis dalam sistem nombor yang lebih pendek.
[1 markmarkah] (a)Tukarkan 110101112 kepada nombor perenambelasan.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Kumpulan empat digit dari kanan: 1101 | 0111. 1101 = 8 + 4 + 1 = 13 = D dan 0111 = 7 (Jadual 1.10 dan Contoh 1.12, ms. 24 dan 26).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Tukarkan 110101112 kepada nombor perlapanan.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
8 digit bukan gandaan 3, maka tambah satu sifar di kiri: 011 | 010 | 111 = 3, 2, 7. Maka 110101112 = 3278 (ms. 10 dan 11).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Tukarkan nombor perenambelasan di (a) kepada nombor perpuluhan.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
D = 13. 13 × 16 + 7 × 1 = 208 + 7 = 215 (ms. 23). Semakan: 3 × 64 + 2 × 8 + 7 = 192 + 16 + 7 = 215, sama dengan nilai 3278.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (d)Antara nombor di (a) dan (b), yang manakah mempunyai bilangan digit lebih sedikit? Nyatakan satu sebab.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
D7 ada 2 digit manakala 327 ada 3 digit. Satu bait (8 bit) tepat 2 digit perenambelasan, tetapi 3 digit perlapanan (ms. 31 dan 32).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, Bab 1, standard 1.2.2 (iv)
TextbookBuku teks p.ms. 26
13

QuestionSoalan 13

Tentukan sama ada pernyataan berikut tentang sistem nombor perenambelasan Benar atau Palsu.
[1 markmarkah] (a)Digit F bernilai 15 dalam pengiraan.
Show answerTunjuk jawapanHide answerSembunyi jawapan
Benar
Jadual 1.6 (ms. 19): A = 10, B = 11, C = 12, D = 13, E = 14 dan F = 15.
[1 markmarkah] (b)Nilai tempat ketiga dari kanan bagi nombor perenambelasan ialah 64.
Show answerTunjuk jawapanHide answerSembunyi jawapan
Palsu
Nilai tempat perenambelasan ialah 1, 16, 256 dan 4 096. Nilai tempat ketiga dari kanan ialah 162 = 256 (Jadual 1.7, ms. 19). Nilai 64 ialah nilai tempat perlapanan.
[1 markmarkah] (c)Satu digit perenambelasan mewakili empat digit perduaan.
Show answerTunjuk jawapanHide answerSembunyi jawapan
Benar
Nilai tempat kelima nombor perduaan ialah 24 = 16, maka satu digit perenambelasan = empat digit perduaan (ms. 23).
[1 markmarkah] (d)G ialah digit perenambelasan yang terbesar.
Show answerTunjuk jawapanHide answerSembunyi jawapan
Palsu
Digit perenambelasan ialah 0 hingga 9 dan A hingga F; digit terbesar ialah F (15). G tiada dalam sistem ini (ms. 18 dan 19).
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 1, standard 1.2.1
TextbookBuku teks p.ms. 19
14

QuestionSoalan 14

Perkataan TUGAS disimpan dalam komputer menggunakan kod ASCII. Setiap aksara disimpan dalam satu bait.
[1 markmarkah] (a)Berapakah bilangan bit dalam satu bait?

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Bait ialah gabungan 8 bit (ms. 12).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Berapakah jumlah digit perduaan yang mewakili perkataan TUGAS?

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
5 aksara × 8 digit perduaan = 40 digit (ms. 15, perkataan TOLONG: 6 × 8 = 48).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Berapakah jumlah digit perlapanan yang mewakili perkataan TUGAS?

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Setiap aksara = 3 digit perlapanan: 5 × 3 = 15 (ms. 15).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (d)Berapakah jumlah digit perenambelasan yang mewakili perkataan TUGAS? Mengapakah ia paling pendek antara ketiga-tiga bentuk?

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
5 × 2 = 10 digit perenambelasan. Contoh BAKTI: 40 digit perduaan dipendekkan kepada 10 digit perenambelasan (ms. 31).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 1, standard 1.1.4
TextbookBuku teks p.ms. 15
15

QuestionSoalan 15

Aina mahu algoritma yang memaparkan nombor 5, 10, 15, 20 dan 25. Pseudokod beliau ditunjukkan di bawah.
1Mula
2Setkan k = 5
3while k < 25
    Paparkan k
    k = k + 5
4Tamat
Jadual 2 ialah semakan meja pseudokod itu. Petak P dan Q sengaja dibiarkan kosong.
Semakan meja lima lelaran dengan lajur k sebelum, ujian k < 25, k dipaparkan dan k selepas; petak P dan Q kosong
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: pada lelaran ke-3, k = 15 dan 15 < 25 ialah Ya. Q: pada lelaran ke-5, k = 25 dan 25 < 25 ialah Tidak, maka gelung berhenti dan 25 tidak dipaparkan.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Nyatakan jenis ralat dalam pseudokod itu dan terangkan mengapa output tidak seperti yang dikehendaki.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Pseudokod berjalan tanpa mesej ralat tetapi output salah, maka ia ialah ralat logik (ms. 60). Ralat dikesan dengan semakan meja menggunakan kertas dan pensel (ms. 60 dan 61).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Tulis syarat baris 3 yang telah dibaiki.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Dengan k <= 25, nilai k = 25 lulus ujian dan dipaparkan; selepas itu k = 30 dan gelung berhenti. Output: 5, 10, 15, 20, 25 (seperti pembaikan syarat dalam Contoh 2.6, ms. 63).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: AnalysingMenganalisis, hightinggi difficultyaras hightinggi, Bab 2, standard 2.1.2
TextbookBuku teks p.ms. 60
16

QuestionSoalan 16

Pilih struktur kawalan ulangan yang paling sesuai bagi setiap tugasan berikut: for apabila bilangan ulangan diketahui, while apabila ulangan bergantung pada syarat.
[1 markmarkah] (a)Memaparkan jadual darab 7 daripada 7 × 1 hingga 7 × 12.
Show answerTunjuk jawapanHide answerSembunyi jawapan
for
Bilangan ulangan diketahui, iaitu 12 kali, maka for sesuai (ms. 52 dan 56).
[1 markmarkah] (b)Meminta pengguna memasukkan kata laluan berulang kali sehingga kata laluan yang betul dimasukkan.
Show answerTunjuk jawapanHide answerSembunyi jawapan
while
Bilangan percubaan tidak diketahui; gelung berhenti apabila syarat dipenuhi, maka while sesuai (ms. 56).
[1 markmarkah] (c)Menjumlahkan 10 markah yang dimasukkan oleh pengguna.
Show answerTunjuk jawapanHide answerSembunyi jawapan
for
Bilangan ulangan ditetapkan (10 kali) dan dikawal oleh pembilang, maka for sesuai (ms. 52).
[1 markmarkah] (d)Menerima dan memaparkan nama yang ditaip selagi nama itu bukan ruang kosong.
Show answerTunjuk jawapanHide answerSembunyi jawapan
while
Ini ialah contoh buku teks bagi while: ulangan selagi nama bukan ruang kosong, bilangan ulangan tidak diketahui (Rajah 2.14 hingga 2.16, ms. 56).
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, Bab 2, standard 2.1.1 (ii)
TextbookBuku teks p.ms. 56
17

QuestionSoalan 17

Diberi a = 23 dan b = 5 dalam Python. Tulis output setiap pernyataan berikut.
[1 markmarkah] (a)print(a // b)

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
// ialah hasil bahagi tanpa baki: 23 ÷ 5 = 4 baki 3 (Jadual 3.9, ms. 100).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)print(a % b)

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
% ialah baki pembahagian: 23 ÷ 5 = 4 baki 3 (Jadual 3.9, ms. 100).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)print(b ** 2)

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
** ialah eksponen (kuasa): 52 = 25 (Jadual 3.9, ms. 100).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (d)print(a / b)

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Operator / memberi hasil bahagi berjenis float: 23 / 5 = 4.6 (Jadual 3.1, ms. 78).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.1
TextbookBuku teks p.ms. 100
18

QuestionSoalan 18

Diberi x = 7 dan y = 12. Nyatakan nilai boolean bagi setiap ungkapan Python berikut.
[1 markmarkah] (a)x > 5 and y < 10
Show answerTunjuk jawapanHide answerSembunyi jawapan
False
x > 5 benar tetapi y < 10 palsu. and benar hanya jika kedua-dua operan benar (Jadual 3.8, ms. 99).
[1 markmarkah] (b)x == 7 or y == 7
Show answerTunjuk jawapanHide answerSembunyi jawapan
True
x == 7 benar. or benar jika salah satu operan benar (Jadual 3.8, ms. 99).
[1 markmarkah] (c)not (x < y)
Show answerTunjuk jawapanHide answerSembunyi jawapan
False
x < y benar (7 < 12); not menyongsangkan keadaan logik menjadi palsu (Jadual 3.8, ms. 99).
[1 markmarkah] (d)x != y
Show answerTunjuk jawapanHide answerSembunyi jawapan
True
!= bermaksud tidak sama dengan; 7 tidak sama dengan 12, maka True (Jadual 3.7, ms. 98).
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.3 (ii)
TextbookBuku teks p.ms. 99
19

QuestionSoalan 19

Atur cara berikut mengira kos seorang murid bagi lawatan sekolah. Atur cara berjalan tanpa mesej ralat, tetapi apabila pengguna memasukkan 90, 30 dan 6, kos yang dipaparkan bukan 20.
1tambang = int(input("Tambang bas (RM): "))
2sewa = int(input("Sewa dewan (RM): "))
3murid = int(input("Bilangan murid: "))
4kos = tambang + sewa / murid
5print("Kos seorang:", kos)
[1 markmarkah] (a)Nyatakan jenis ralat itu.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Atur cara berjalan tanpa mesej ralat tetapi memberi output yang salah kerana ungkapan ditulis salah (ms. 102 dan Contoh 3.20, ms. 109).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Tulis output atur cara apabila pengguna memasukkan 90, 30 dan 6.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Bahagi dibuat dahulu: 30 / 6 = 5.0, kemudian 90 + 5.0 = 95.0.
Tick each point you got.Tandakan setiap isi yang betul.
[2 marksmarkah] (c)Tulis semula baris 4 supaya atur cara betul, kemudian tulis output atur cara bagi input yang sama.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
kos = (tambang + sewa) / murid
Output: Kos seorang: 20.0
Kurungan diselesaikan dahulu: (90 + 30) / 6 = 120 / 6 = 20.0. Kaedah yang sama membaiki ralat logik dalam Contoh 3.20, iaitu menambah kurungan supaya operasi yang dikehendaki dibuat dahulu (ms. 109 hingga 111).
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. 109
20

QuestionSoalan 20

Teliti kod Python berikut.
1jumlah = 0
2for i in range(1, 8, 2):
3    jumlah = jumlah + i
4    print(i, jumlah)
5print("Akhir:", jumlah)
[1 markmarkah] (a)Senaraikan nilai i yang dijana oleh range(1, 8, 2).

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
range(mula, henti, langkau): bermula 1, tambah 2 setiap kali dan berhenti sebelum 8 (Rajah 3.15, ms. 146).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Berapa kali baris 3 dilaksanakan?

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Ada empat nilai i, maka empat lelaran.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Tulis output baris ketiga yang dipaparkan oleh print(i, jumlah).

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Lelaran ke-3: i = 5 dan jumlah = 1 + 3 + 5 = 9. Koma dalam print() memberi satu ruang kosong (ms. 83).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (d)Tulis output baris terakhir.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
jumlah = 1 + 3 + 5 + 7 = 16. Output baris terakhir: Akhir: 16.
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 3, standard 3.2.1 (iv)
TextbookBuku teks p.ms. 146

Bahagian C

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

QuestionSoalan 21

Kelab alam sekitar sebuah sekolah mengutip beg botol plastik untuk dikitar semula. Murid memasukkan berat setiap beg (dalam kg) satu demi satu. Memasukkan 0 menamatkan input dan 0 tidak dikira sebagai berat beg. Beg yang beratnya 3 kg atau lebih dikira beg besar. Selepas input tamat, atur cara memaparkan jumlah berat dan bilangan beg besar. Jika jumlah berat sekurang-kurangnya 20 kg, paparkan "Sasaran dicapai"; jika tidak, paparkan "Sasaran belum dicapai".
[2 marksmarkah] (a)Rajah 1 ialah carta alir bagi gelung yang membaca berat setiap beg. Tulis syarat bagi P dan pernyataan bagi Q.
Carta alir: setkan jumlah = 0 dan besar = 0, baca berat, keputusan P; jika Ya jumlah = jumlah + berat, kemudian keputusan berat >= 3; jika Ya Q; kedua-dua jalan kembali ke baca berat; jika P Tidak paparkan jumlah dan besar, TAMAT
Rajah 1

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Gelung while berulang selagi berat bukan 0, kerana 0 ialah penanda untuk berhenti seperti dalam Contoh 2.4 (ms. 57 hingga 59). Q menambah satu pada bilangan beg besar dan hanya dilaksanakan apabila berat >= 3 (pilihan di dalam gelung).
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 jumlah = 0, besar = 0
Baca berat
while berat != 0
    jumlah = jumlah + berat
    Jika (berat >= 3)
        besar = besar + 1
    Tamat jika
    Baca berat
Paparkan jumlah, besar
Jika (jumlah >= 20)
    Paparkan "Sasaran dicapai"
Jika tidak
    Paparkan "Sasaran belum dicapai"
Tamat jika
Tamat
Algoritma ini menggabungkan jujukan, ulangan while, pilihan (Jika) di dalam gelung dan pilihan dwipilihan (ms. 65 hingga 68). Terima penyelesaian lain yang betul, asalkan input dibaca sebelum gelung dan dibaca semula di dalam gelung. Semakan meja dengan 2.5, 4, 3, 5.5 dan 0: jumlah = 15.0, beg besar = 3 (4, 3 dan 5.5; berat 3 dikira kerana >= 3), "Sasaran belum dicapai". Dengan 6, 8.5, 3, 4 dan 0: jumlah = 21.5, besar = 4, "Sasaran dicapai".
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. 65
22

QuestionSoalan 22

Seorang murid mahu atur cara Python bagi permainan meneka nombor. Nombor rahsia ialah 37 dan nilainya tidak berubah semasa atur cara dilaksanakan. Pemain diberi paling banyak 5 peluang untuk meneka nombor itu.
[2 marksmarkah] (a)(i) Nyatakan jenis data bagi nombor rahsia 37.
(ii) Mengapakah nombor rahsia itu dianggap pemalar?

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
37 ialah nombor bulat, maka jenisnya integer (Rajah 3.2, ms. 77). Pemalar menyimpan nilai dalam ingatan seperti pemboleh ubah, tetapi nilainya tidak berubah (ms. 92). Buku teks juga menjadikan nombor rahsia sebagai pemalar dalam Contoh 3.29 (ms. 160).
Tick each point you got.Tandakan setiap isi yang betul.
[8 marksmarkah] (b)Tulis atur cara Python lengkap yang: (1) menyimpan nombor rahsia dan bilangan peluang yang telah digunakan; (2) selagi peluang belum habis dan pemain belum meneka dengan betul, meminta pemain memasukkan tekaan (nombor bulat) dan menambah bilangan peluang yang digunakan; (3) memaparkan "Tahniah" jika tekaan betul; jika tidak, memaparkan "Terlalu kecil" atau "Terlalu besar"; (4) jika selepas 5 peluang pemain masih belum betul, memaparkan nombor rahsia itu.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
rahsia = 37
cubaan = 0
betul = False
while cubaan < 5 and betul == False:
    tekaan = int(input("Masukkan tekaan: "))
    cubaan = cubaan + 1
    if tekaan == rahsia:
        print("Tahniah")
        betul = True
    elif tekaan < rahsia:
        print("Terlalu kecil")
    else:
        print("Terlalu besar")
if betul == False:
    print("Peluang tamat. Nombor rahsia ialah", rahsia)
Atur cara menggabungkan jujukan, ulangan while dengan dua syarat (and), pilihan if-elif-else dan pilihan if (ms. 159 hingga 164; Amali Komputer 3.6 menggunakan while dengan and). Terima penyelesaian lain yang betul, misalnya penanda 1 dan 0, atau not betul. Semakan meja dengan tekaan 20, 45 dan 37: "Terlalu kecil", "Terlalu besar", "Tahniah" dan gelung berhenti selepas 3 peluang. Dengan tekaan 10, 50, 20, 40 dan 36: lima mesej "Terlalu ..." (kecil, besar, kecil, besar, kecil), kemudian nombor rahsia 37 dipaparkan.
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)–5 (14)–––719
2. Algoritma1 (1)1 (4)–2 (5)–1 (10)520
3. Kod arahan–2 (2)5 (14)2 (5)–1 (10)1031
TotalJumlah3 (6)3 (6)10 (28)4 (10)0 (0)2 (20)2270
Each cell shows items (marks).Setiap petak menunjukkan item (markah).