Asas Sains Komputer
InstructionsArahan
- Kertas soalan ini mengandungi tiga bahagian: Bahagian A, Bahagian B dan Bahagian C.
- Jawab semua soalan.
- Bahagian A: pilih satu jawapan yang betul.
- Bahagian B dan C: tulis jawapan anda di ruang yang disediakan. Tunjukkan langkah kerja anda.
Practice shows answers as you go. Exam times you and hides answers until you submit.Latihan menunjukkan jawapan semasa menjawab. Peperiksaan menetapkan masa dan menyembunyikan jawapan sehingga dihantar.
Bahagian A
10 marksmarkahQuestionSoalan 1
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 2
I Pembahagian dengan sifar menyebabkan ralat masa larian.
II Kesalahan mengeja kata kunci menyebabkan ralat sintaks.
III Kesalahan ungkapan boolean menyebabkan ralat logik.
IV Kesalahan menggunakan inden menyebabkan ralat logik.
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 3
P Kenal pasti lokasi ralat dan baiki ralat
Q Baca dan fahami mesej ralat
R Laksanakan atur cara
S Semak output menggunakan beberapa set sampel data
Apakah urutan yang betul?
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 4
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 5
[4, 9, 13, 18, 22, 27, 31, 36, 40, 45, 51, 58]Binary search dengan syarat gelung
i <= j digunakan untuk mencari nombor 45. Item pertengahan dikira dengan m = (i + j) / 2; jika hasilnya berpecahan, komputer menggunakan nombor bulat terkecil. Berapakah bilangan item pertengahan yang disemak sehingga 45 dijumpai?Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 6
temp digunakan untukShow answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 7
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 8
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 9
| ID | Nama | Tingkatan | Kelab |
|---|---|---|---|
| K01 | AFIQ | 3 | ROBOTIK |
| K02 | BELA | 2 | DRAMA |
| K03 | CHEN | 3 | DRAMA |
| K04 | DEEPA | 1 | ROBOTIK |
| K05 | EZRIN | 2 | SAINS |
| K06 | FARHAN | 3 | SAINS |
| K07 | GAN | 1 | DRAMA |
SELECT ID FROM AHLI WHERE Kelab = "ROBOTIK" OR Tingkatan = 3;Berapakah bilangan rekod yang dipaparkan?
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 10
1m1 = [80, 75, 90, 84] 2m2 = [88, 82, 79, 85] 3m3 = [66, 70, 71, 69] 4jumlah = [sum(m1), sum(m2), sum(m3)] 5nama = ["Aina", "Bala", "Chin"] 6print(nama[jumlah.index(min(jumlah))])
Show answerTunjuk jawapanHide answerSembunyi jawapan
Bahagian B
40 marksmarkahQuestionSoalan 11
Show answerTunjuk jawapanHide answerSembunyi jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 12
1tapak = float(input("Masukkan tapak: ")) 2tinggi = float(input("Masukkan tinggi: ")) 3luas = 0.5 * tapak * tinggi 4print("Luas segi tiga ialah", luas)Penulisan kod arahan terbahagi kepada tiga bahagian.
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 13
1# Atur cara mengira purata tiga markah 2m1 = float(input("Markah 1: ") 3m2 = float(input("Markah 2: ")) 4m3 = float(input("Markah 3: ")) 5purata = m1 + m2 + m3 / 3 6print("Purata ialah", Purata)
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
purata, output ialah 165.0 (60 + 75 + 90 / 3 = 60 + 75 + 30), iaitu ralat logik. Kod yang betul (m1 + m2 + m3) / 3 memberi 75.0 (Jadual 1.5, ms. 11).QuestionSoalan 14
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 15
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 16
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 17
1Mula 2Setkan senarai L = [14, 9, 21, 5, 18, 30, 12, 25] 3Isytihar pemboleh ubah i, n, T 4Setkan i = 0 5Setkan n = 8 6for i < n 7 Jika L[i] == T 8 Papar "Item ada dalam senarai" 9 Keluar gelung 10 Jika tidak 11 Ulang Langkah 6 12 Tamat jika 13Tamat
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
L[i] == T sehingga 18 dijumpai?
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 18
Show answerTunjuk jawapanHide answerSembunyi jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 19
V Tentukan atribut yang diperlukan
W Hasilkan pangkalan data (jadual, borang, pertanyaan dan laporan)
X Tentukan entiti yang diperlukan
Y Tentukan tujuan pembinaan pangkalan data
Z Tentukan hubungan dan kekardinalan
Jadual 2 ialah jadual BARANG dalam pangkalan data itu.
| Kod_Barang | Nama_Barang | Harga | Stok |
|---|---|---|---|
| B01 | PENSEL | 0.80 | 120 |
| B02 | BUKU LATIHAN | 2.50 | 80 |
| B03 | PEMADAM | 0.50 | 60 |
| B04 | PENGGARIS | 1.50 | 45 |
| B05 | KALKULATOR | 15.00 | 12 |
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
FROM BARANG
WHERE Harga < 2.00;
QuestionSoalan 20
1def semak_lulus(markah): 2 if markah >= 40: 3 return "Lulus" 4 else: 5 return "Gagal" 6def papar_keputusan(nama, markah): 7 print(nama, ":", semak_lulus(markah)) 8papar_keputusan("Hana", 52) 9papar_keputusan("Zack", 38)
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
Zack : Gagal
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
Bahagian C
20 marksmarkahQuestionSoalan 21
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
Auto-checked: type a short answerSemakan automatik: taip jawapan pendek
Show answerTunjuk jawapanHide answerSembunyi jawapan
temp dalam carta alir itu.
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
QuestionSoalan 22
Contoh: nama Aina dengan markah 78, 85, 64 dan 90 memaparkan:
Nama: Aina Jumlah: 317.0 Gred: B
sum() dan user-defined function gred(). Nyatakan dua perbezaan antara built-in function dengan user-defined function.
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
(i) user-defined function
gred(purata) yang memulangkan A, B atau C;(ii) procedure
papar_slip(nama, jumlah, gred_murid) yang memaparkan tiga baris seperti contoh;(iii) atur cara utama yang membaca nama dan empat markah (float), menggunakan
sum() untuk mengira jumlah, mengira purata, memanggil function dan procedure itu.
You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan
Show answerTunjuk jawapanHide answerSembunyi jawapan
def gred(purata):
if purata >= 80:
return "A"
elif purata >= 60:
return "B"
else:
return "C"
def papar_slip(nama, jumlah, gred_murid):
print("Nama:", nama)
print("Jumlah:", jumlah)
print("Gred:", gred_murid)
nama = input("Nama murid: ")
markah = []
for i in range(4):
markah.append(float(input("Markah: ")))
jumlah = sum(markah)
purata = jumlah / 4
gred_murid = gred(purata)
papar_slip(nama, jumlah, gred_murid)if bersarang. Nama function dan procedure mesti seperti dalam soalan. Semakan: 78 + 85 + 64 + 90 = 317.0; purata 317.0 / 4 = 79.25, kurang daripada 80 tetapi lebih daripada 60, maka gred B (Contoh 4.9 dan 4.10, ms. 172 dan 173).Test specification (JSU)Jadual Spesifikasi Ujian (JSU)
| Bab | RememberingMengingat | UnderstandingMemahami | ApplyingMengaplikasi | AnalysingMenganalisis | EvaluatingMenilai | CreatingMencipta | Item | marksmarkah |
|---|---|---|---|---|---|---|---|---|
| 1. Konsep asas pemikiran komputasional | 2 (5) | 2 (5) | 1 (1) | 1 (4) | – | – | 6 | 15 |
| 2. Perwakilan data | 1 (4) | 1 (1) | 2 (8) | – | – | – | 4 | 13 |
| 3. Algoritma | 1 (1) | 1 (1) | 1 (1) | 2 (14) | – | – | 5 | 17 |
| 4. Kod arahan | 1 (1) | 1 (4) | 3 (9) | 1 (1) | – | 1 (10) | 7 | 25 |
| TotalJumlah | 5 (11) | 5 (11) | 7 (19) | 4 (19) | 0 (0) | 1 (10) | 22 | 70 |