Jadual surih (trace table) merekodkan nilai setiap pemboleh ubah semasa algoritma berjalan. Untuk mengaitkannya dengan output, cari pemboleh ubah yang dinamakan dalam pernyataan OUTPUT dan baca nilainya daripada baris ketika atur cara sampai ke pernyataan itu. Kemudian terangkan mengapa gelung berakhir di situ.
Pelajaran ini tergolong dalam modul penjelasan penyelesaian masalah. Ia berasaskan menerangkan tujuan pemboleh ubah, kerana anda perlu tahu pemboleh ubah mana ialah jawapan, dan penyurihan daripada reka bentuk algoritma.
Bagaimanakah jadual dikaitkan dengan output?
- Bina jadual dengan satu lajur bagi setiap pemboleh ubah dan satu baris bagi setiap kemas kini.
- Tandakan baris ketika ujian gelung gagal. Gelung berakhir pada ujian pertama yang palsu.
- Semak pernyataan OUTPUT. Catat pemboleh ubah yang dinamakan.
- Baca nilai akhir pemboleh ubah itu daripada baris terakhir yang mengubahnya.
- Tulis satu ayat yang menyatakan pemboleh ubah mana, nilai berapa, dan mengapa gelung berhenti.
Contoh berlangkah
Total ← 0
Number ← 10
WHILE Number > 0 DO
Total ← Total + Number
Number ← Number - 3
ENDWHILE
OUTPUT Total
| Pusingan | Number > 0 ? | Total selepas | Number selepas |
|---|---|---|---|
| Mula | 0 | 10 | |
| 1 | 10 > 0 benar | 10 | 7 |
| 2 | 7 > 0 benar | 17 | 4 |
| 3 | 4 > 0 benar | 21 | 1 |
| 4 | 1 > 0 benar | 22 | −2 |
| Ujian | −2 > 0 palsu | 22 | −2 |
Penjelasan. Gelung menambah 10, 7, 4 dan 1 kepada Total, memberi 10 + 7 + 4 + 1 = 22. Selepas pusingan 4, Number ialah −2, jadi ujian −2 > 0 palsu dan gelung berakhir. Nilai −2 tidak pernah ditambah. Pernyataan OUTPUT Total mencetak 22.
Semak dua kali. Nombor yang ditambah ialah 10, 7, 4, 1 (setiap satu kurang 3 daripada yang sebelumnya, selagi masih di atas 0). Jumlahnya 22.
Kesilapan yang perlu diwaspadai
Kesilapan lazim ialah membaca lajur atau baris yang salah:
Outputnya −2 kerana itulah nilai terakhir dalam jadual.
−2 ialah nilai terakhir Number, tetapi pernyataan OUTPUT menamakan Total. Versi kedua kesilapan ini ialah memberi 21 atau 20 dengan menghentikan surih satu pusingan lebih awal, atau menambah −2 secara tersilap.
Pembetulan: lihat pernyataan dahulu. Ia berbunyi OUTPUT Total, jadi baca lajur Total. Nilai terakhirnya ialah 22.
Semak kendiri
1. Surih kod ini dan nyatakan output dengan satu ayat penjelasan.
A ← 2
B ← 1
REPEAT
B ← B * A
A ← A + 1
UNTIL A > 4
OUTPUT B
Tunjukkan jawapan
Mula A = 2, B = 1. Pusingan 1: B = 1 × 2 = 2, A = 3, ujian 3 > 4 palsu. Pusingan 2: B = 2 × 3 = 6, A = 4, ujian 4 > 4 palsu. Pusingan 3: B = 6 × 4 = 24, A = 5, ujian 5 > 4 benar jadi gelung berhenti. Output ialah 24, kerana B terakhir dikemas kini dalam pusingan 3 dan OUTPUT B mencetak nilai itu.
2. Dalam contoh berlangkah, baris jadual mana memberi output, dan mengapa bukan baris Ujian?
Tunjukkan jawapan
Pusingan 4 ialah baris terakhir yang mengubah Total, memberi 22. Baris Ujian hanya menyemak syarat, dan badan gelung tidak dijalankan, jadi Total kekal 22. Kedua-dua baris menunjukkan 22 dalam lajur Total, tetapi pusingan 4 ialah tempat nilai itu dihasilkan.
3. Tukar nilai permulaan Number dalam contoh berlangkah kepada 9. Apakah outputnya?
Tunjukkan jawapan
Number menjadi 9, 6, 3 dan kemudian 0. Total menjadi 9, 15, 18. Selepas pusingan 3, Number ialah 0, dan 0 > 0 palsu, jadi gelung berhenti. Output ialah 18 (9 + 6 + 3 = 18).
Ke mana selepas ini
Kemahiran terakhir modul ini ialah mengecilkan atur cara yang gagal kepada bentuk terkecil dalam sediakan contoh pembelajaran minimum yang boleh dihasilkan semula. Pelatih surih pseudokod terhad membolehkan anda menyemak jadual anda dengan surih berperingkat.
Jika jadual anda betul tetapi penjelasan output kehilangan markah, guru kami boleh melatih ayat akhir bersama anda dalam tuisyen Computer Science dalam talian satu dengan satu.