Sebelas soalan ini meliputi penguraian, spesifikasi, jadual surih, pemilihan dengan kes sempadan dan penerangan algoritma. Bekerja di atas kertas, tulis jadual surih anda sendiri, dan buka setiap jawapan hanya selepas anda mendapat hasil. Semua kod menggunakan pseudokod gaya Cambridge.
Gambaran keseluruhan modul ialah reka bentuk algoritma. Catat jawapan salah dalam log kesilapan dan gunakan pelatih surih pseudokod untuk menyemak surihan.
Soalan
S1 (mudah). Atur cara kedai membaca harga tiga barang dan mengeluarkan jumlah selepas diskaun 10% jika jumlah melebihi RM50, jika tidak jumlah tidak berubah. Senaraikan submasalah mengikut susunan.
Show answer
- Masukkan tiga harga. 2. Jumlahkan untuk mendapat Total. 3. Jika Total > 50, kurangkan 10%. 4. Keluarkan jumlah akhir. Contoh: 20, 25, 10 memberi Total 55, diskaun 5.5, output 49.5.
S2 (mudah). Tulis input, output dan kekangan bagi menukar bilangan minit (nombor bulat) kepada jam dan minit. Berikan output untuk 135.
Show answer
Input: Minutes, nombor bulat, 0 atau lebih. Output: Hours dan Mins, dengan Mins dari 0 hingga 59. Hours ← Minutes DIV 60 dan Mins ← Minutes MOD 60. Untuk 135: 60 × 2 = 120, jadi Hours = 2 dan Mins = 15. Semak: 2 × 60 + 15 = 135.
S3 (mudah). 95 biji gula-gula dimasukkan ke dalam beg yang memuatkan 8. Berapa beg penuh dan berapa biji berbaki?
Show answer
8 × 11 = 88, jadi 95 DIV 8 = 11. 95 − 88 = 7, jadi 95 MOD 8 = 7. Semak: 11 × 8 + 7 = 95.
S4 (sederhana). Surih ini dan berikan output.
A ← 2
B ← 1
FOR I ← 1 TO 4
B ← B * A
A ← A + 1
NEXT I
OUTPUT B
Show answer
| I | B | A |
|---|---|---|
| mula | 1 | 2 |
| 1 | 2 | 3 |
| 2 | 6 | 4 |
| 3 | 24 | 5 |
| 4 | 120 | 6 |
Output 120. Semak: 2 × 3 × 4 × 5 = 120.
S5 (sederhana). Surih ini dan berikan output.
N ← 27
Steps ← 0
WHILE N > 10 DO
N ← N - 6
Steps ← Steps + 1
ENDWHILE
OUTPUT N, Steps
Show answer
27 > 10: N = 21, Steps = 1. 21 > 10: N = 15, Steps = 2. 15 > 10: N = 9, Steps = 3. 9 > 10 palsu. Output 9, 3.
S6 (sederhana). Diskaun 15% dikenakan pada pesanan RM200 atau lebih. Pilih nilai ujian sempadan (dalam ringgit dan sen) dan nyatakan apa yang patut berlaku.
Show answer
Uji 199.99 (tiada diskaun), 200.00 (diskaun, kerana peraturan menyatakan 200 atau lebih) dan 200.01 (diskaun). Ujian utama ialah 200.00, yang membezakan >= daripada >.
S7 (sederhana). Peraturannya “lulus jika markah 40 atau lebih”, tetapi kodnya IF Mark > 40 THEN. Ujian mana yang menemui kesalahan, dan apakah pembetulannya?
Show answer
Uji Mark = 40. Peraturan menjangka lulus, tetapi 40 > 40 palsu, jadi kod memberi gagal. Pembetulan: IF Mark >= 40 THEN.
S8 (sederhana). Tulis pseudokod untuk harga wayang: bawah 5 percuma, 5 hingga 17 RM8, 18 ke atas RM15. Berikan output untuk umur 4, 5, 17 dan 18.
Show answer
INPUT Age
IF Age < 5 THEN
Price ← 0
ELSE
IF Age < 18 THEN
Price ← 8
ELSE
Price ← 15
ENDIF
ENDIF
OUTPUT Price
Output: 4 memberi 0, 5 memberi 8, 17 memberi 8, 18 memberi 15.
S9 (lebih sukar). Tulis semula huraian khusus bahasa ini sebagai langkah biasa: “guna gelung for dengan range(1, 6) dan fungsi sum”.
Show answer
Tetapkan Total kepada 0. Bagi setiap nombor bulat dari 1 hingga 5, tambahkan kepada Total. Keluarkan Total. Hasilnya 1 + 2 + 3 + 4 + 5 = 15.
S10 (lebih sukar). Surih algoritma nilai terkecil daripada pelajaran pada data 8, 3, 5, 3. Mengapa ia bermula dengan nombor pertama?
Show answer
Smallest = 8. Seterusnya 3 < 8, jadi Smallest = 3. Kemudian 5 < 3 palsu. Kemudian 3 < 3 palsu. Output 3. Ia bermula daripada nilai sebenar yang pertama, kerana permulaan tetap seperti 0 boleh lebih kecil daripada semua input.
S11 (lebih sukar). Reka bentuk algoritma yang membaca empat suhu dan mengeluarkan berapa banyak melebihi 30. Nyatakan kekangan, tulis pseudokod dan surih 28, 31, 30, 35.
Show answer
Kekangan: empat suhu dimasukkan sebagai nombor; output ialah nombor bulat dari 0 hingga 4.
Count ← 0
FOR I ← 1 TO 4
INPUT Temp
IF Temp > 30 THEN
Count ← Count + 1
ENDIF
NEXT I
OUTPUT Count
Surih: 28 tidak, 31 ya (Count 1), 30 tidak (tidak melebihi 30), 35 ya (Count 2). Output 2.
Jika anda salah
| Apa yang salah | Pergi ke |
|---|---|
| Submasalah terlalu kabur atau tersilap susunan (S1, S9) | Uraikan tugas |
| Terlepas DIV atau MOD, atau tiada kekangan (S2, S3) | Input, output dan kekangan |
| Baris surih hilang atau pemboleh ubah tidak seiring (S4, S5, S10) | Surih urutan |
| Simbol salah di tepi, atau sempadan tidak diuji (S6, S7, S8) | Pemilihan dengan kes sempadan |
| Penerangan terikat pada bahasa, atau nilai permulaan salah (S9, S10, S11) | Terangkan algoritma |
Beberapa kesilapan serentak mungkin bermakna jurang yang lebih mudah dibaiki dengan seseorang melihat langkah kerja anda. Tuisyen Computer Science dalam talian satu dengan satu kami berpusat pada penyurihan dan penyahpepijatan sebegitu, dan kotak pasir Python selamat membolehkan anda menyemak S11 dengan atur cara pendek.