Soalan-soalan ini merangkumi seluruh modul penjelasan penyelesaian masalah: tujuan pemboleh ubah, kes ujian yang dewajarkan, pembetulan yang diterangkan, surih yang dikaitkan dengan output dan contoh minimum. Soalan ini asli dan disusun daripada mudah kepada lebih sukar.
Tulis jawapan anda dengan ayat penuh dahulu. Bagi surih, lukis jadual.
Kemudian buka jawapan dan bandingkan. Pelatih surih pseudokod terhad dan kotak pasir Python selamat untuk penaakulan boleh menyemak nilai anda.
Soalan
1. (Mudah) Terangkan tujuan Count dalam kod ini.
Count ← 0
FOR Index ← 1 TO 4
INPUT Age
IF Age >= 18 THEN
Count ← Count + 1
ENDIF
NEXT Index
OUTPUT Count
Tunjukkan jawapan
Count ialah pembilang. Ia menyimpan bilangan umur yang dimasukkan setakat ini yang berumur 18 atau lebih. Ia bermula pada 0 kerana belum ada yang dibilang, bertambah 1 hanya apabila Age >= 18 benar, dan dikeluarkan selepas gelung sebagai nombor akhir.
2. (Mudah) Satu carian menetapkan Found ← FALSE sebelum gelung dan Found ← TRUE apabila sasaran dilihat. Terangkan mengapa Found diperlukan.
Tunjukkan jawapan
Found ialah bendera yang merekod sama ada sasaran telah dilihat. Ia bermula FALSE kerana belum ada yang dijumpai. Sebaik ditetapkan TRUE ia kekal TRUE, jadi selepas gelung atur cara boleh mengujinya untuk memutuskan sama ada mengeluarkan “Found” atau “Not found”.
3. (Mudah) Keperluan: nombor tempat duduk mestilah nombor bulat dari 1 hingga 40 termasuk kedua-duanya. Beri empat ujian sempadan dengan keputusan dijangka dan sebab.
Tunjukkan jawapan
- 1: diterima, kerana “dari 1” termasuk had bawah.
- 40: diterima, kerana “hingga 40 termasuk” merangkumi had atas.
- 0: ditolak, kerana tepat di bawah had bawah.
- 41: ditolak, kerana tepat di atas had atas.
4. (Sederhana) Keperluan: penghantaran percuma apabila jumlah pesanan RM150 atau lebih. Beri tiga ujian dengan keputusan dijangka dan sebab.
Tunjukkan jawapan
- RM149.99: penghantaran dikenakan bayaran, kerana tepat di bawah had.
- RM150: penghantaran percuma, kerana “atau lebih” termasuk RM150 tepat. Ini menangkap
>yang salah dan bukan>=. - RM200: penghantaran percuma, sebagai nilai normal jauh di dalam peraturan.
5. (Sederhana) Huraikan pembetulan. Harga 5, 6 dan 7 sepatutnya memberi 18 tetapi kod mengeluarkan 7.
1 Total ← 0
2 FOR I ← 1 TO 3
3 INPUT Price
4 Total ← Price
5 NEXT I
6 OUTPUT Total
Tunjukkan jawapan
Baris 4 menggantikan Total dengan Price terkini dan bukan menambahnya, jadi hanya harga terakhir, 7, yang tinggal. Tukar kepada Total ← Total + Price. Nilai kemudian menjadi 5, 11, 18, iaitu output yang dijangka.
6. (Sederhana) Kod ini sepatutnya mengeluarkan 1, 2, 3 kemudian berhenti, tetapi tidak pernah tamat. Huraikan pembetulan.
1 Count ← 1
2 WHILE Count <= 3 DO
3 OUTPUT Count
4 ENDWHILE
Tunjukkan jawapan
Count tidak pernah diubah dalam gelung, jadi Count <= 3 kekal benar selama-lamanya dan 1 dikeluarkan berulang kali. Tambah Count ← Count + 1 sebagai pernyataan terakhir dalam gelung, selepas OUTPUT. Maka Count menjadi 1, 2, 3, 4 dan gelung tamat selepas mengeluarkan 1, 2, 3.
7. (Sederhana) Surih kod, nyatakan output dan terangkan dalam satu ayat.
X ← 3
Y ← 0
WHILE X > 0 DO
Y ← Y + X * X
X ← X - 1
ENDWHILE
OUTPUT Y
Tunjukkan jawapan
| Pusingan | X > 0 ? | Y selepas | X selepas |
|---|---|---|---|
| Mula | 0 | 3 | |
| 1 | 3 > 0 benar | 9 | 2 |
| 2 | 2 > 0 benar | 13 | 1 |
| 3 | 1 > 0 benar | 14 | 0 |
| Ujian | 0 > 0 palsu | 14 | 0 |
Y menambah kuasa dua 9, 4 dan 1. Gelung berhenti apabila X menjadi 0, dan OUTPUT Y mencetak 14.
8. (Sederhana) Surih kod dan beri kedua-dua output.
Even ← 0
Odd ← 0
FOR N ← 1 TO 6
IF N MOD 2 = 0 THEN
Even ← Even + N
ELSE
Odd ← Odd + N
ENDIF
NEXT N
OUTPUT Even
OUTPUT Odd
Tunjukkan jawapan
N = 1: Odd 1. N = 2: Even 2. N = 3: Odd 4. N = 4: Even 6. N = 5: Odd 9. N = 6: Even 12. Even mengumpul 2 + 4 + 6 dan Odd mengumpul 1 + 3 + 5. Outputnya 12 kemudian 9.
9. (Sukar) Seorang pelajar berkata output soalan 7 ialah 0 “kerana X berakhir pada 0”. Terangkan kesilapannya.
Tunjukkan jawapan
Pelajar itu membaca pemboleh ubah yang salah. 0 ialah nilai akhir X, yang menamatkan gelung, tetapi pernyataannya ialah OUTPUT Y. Nilai terakhir dalam lajur Y ialah 14, jadi outputnya 14. Pelajar patut menamakan pemboleh ubah dalam pernyataan OUTPUT dahulu, kemudian membaca lajurnya.
10. (Sukar) Satu atur cara panjang sepatutnya membilang nilai di atas 10. Bagi data 5, 10, 15 ia mengeluarkan 2. Tulis contoh minimum yang boleh dihasilkan semula dengan output dijangka dan sebenar, dan huraikan pembetulan.
Tunjukkan jawapan
Data[1] ← 5
Data[2] ← 10
Data[3] ← 15
Count ← 0
FOR I ← 1 TO 3
IF Data[I] >= 10 THEN
Count ← Count + 1
ENDIF
NEXT I
OUTPUT Count
Dijangka: 1 (hanya 15 di atas 10). Sebenar: 2 (10 dan 15). Syarat menggunakan >=, yang termasuk 10, sedangkan keperluan menyatakan “di atas 10”. Tukar kepada IF Data[I] > 10 THEN. Data pada sempadan, 10, ialah yang mendedahkan kesalahan.
11. (Sukar) Pelan ujian bagi “skor dari 0 hingga 100 termasuk kedua-duanya” menggunakan 0, 50, 100 dan 101. Nyatakan apa yang tiada dan mengapa ia penting.
Tunjukkan jawapan
Tiada ujian tepat di bawah had bawah, −1. Tanpanya, peraturan yang tersalah menerima skor negatif akan lulus pelan itu. Nilai jenis salah seperti “ten” juga berguna, kerana peraturan menyatakan skor ialah nombor. Tambah −1 (ditolak, di bawah had bawah) dan “ten” (ditolak, bukan nombor).
Jika anda salah
- Soalan 1 dan 2: jawapan anda mengulang nama atau kod, atau tidak menyatakan mengapa nilai permulaan penting. Ulang kaji terangkan tujuan sebuah pemboleh ubah.
- Soalan 3, 4 dan 11: anda menguji nilai tanpa sebab, atau tertinggal sempadan. Ulang kaji wajarkan kes ujian dengan keperluan.
- Soalan 5 dan 6: kesalahan atau pembetulan diterangkan secara longgar. Ulang kaji huraikan pembetulan dengan ayat selain menunjukkan kod.
- Soalan 7, 8 dan 9: jadual betul tetapi output tersalah baca. Ulang kaji kaitkan surih dengan output akhir.
- Soalan 10: contoh terlalu besar, terlalu kecil, atau tiada output dijangka. Ulang kaji sediakan contoh pembelajaran minimum yang boleh dihasilkan semula.
Gunakan log kesilapan dan baris gilir ujian semula untuk mencatat jenis ralat dan mengujinya semula beberapa hari kemudian. Gambaran modul, penjelasan penyelesaian masalah, menunjukkan laluan penuh.
Jika anda mahu seseorang membaca jawapan bertulis anda bersebelahan isi markah, guru kami boleh melakukannya dalam tuisyen Computer Science dalam talian satu dengan satu.