Jadual surih merekod nilai setiap pemboleh ubah selepas setiap langkah, supaya anda boleh membuktikan apa yang dilakukan algoritma dan bukan meneka. Ia muncul apabila soalan memberi pseudokod dan meminta output atau nilai pada satu titik tertentu.
Ia dibina atas menentukan input dan output, dan menuju ke mereka bentuk pemilihan dengan kes sempadan, di mana surihan menunjukkan cabang mana yang berjalan.
Bagaimana membina jadual surih?
- Buat satu lajur bagi setiap pemboleh ubah, bagi sebarang syarat yang ingin ditunjukkan, dan bagi output.
- Tulis nilai permulaan dalam baris pertama, sebelum sebarang pusingan gelung.
- Ikuti algoritma satu baris pada satu masa. Apabila pemboleh ubah berubah, tulis nilai barunya dalam baris seterusnya. Salin nilai yang tidak berubah ke bawah.
- Rekod output pada saat OUTPUT dijalankan.
- Semak titik berhenti: ketahui mengapa gelung tamat.
Contoh penyelesaian
Surih algoritma ini dan berikan outputnya.
Total ← 0
Count ← 0
FOR N ← 1 TO 5
IF N MOD 2 = 1 THEN
Total ← Total + N
Count ← Count + 1
ENDIF
NEXT N
OUTPUT Total, Count
Langkah 1, lajur dan permulaan: N, N MOD 2, Total, Count. Mulakan dengan Total = 0 dan Count = 0.
Langkah 2, satu baris bagi setiap pusingan:
| N | N MOD 2 | Total | Count |
|---|---|---|---|
| mula | 0 | 0 | |
| 1 | 1 | 1 | 1 |
| 2 | 0 | 1 | 1 |
| 3 | 1 | 4 | 2 |
| 4 | 0 | 4 | 2 |
| 5 | 1 | 9 | 3 |
Langkah 3, output: gelung tamat selepas N = 5, jadi outputnya ialah 9, 3.
Semak: nombor ganjil dari 1 hingga 5 ialah 1, 3 dan 5. Jumlahnya 9 dan ada 3 nombor. Ini sepadan dengan jadual.
Kesilapan yang perlu diawasi
Satu kesilapan lazim ialah melangkau baris permulaan dan baris di mana tiada apa berubah.
Surihan yang salah: pelajar hanya menulis baris untuk N = 1, 3 dan 5, dan bermula dengan Total = 1.
Jadual kelihatan kemas, tetapi ia tidak lagi membuktikan bahawa nilai genap telah diuji dan dibiarkan.
Pembetulannya ialah memasukkan baris permulaan dan satu baris bagi setiap pusingan, walaupun nilai hanya disalin ke bawah. Jika algoritma ada kesalahan pada syarat IF, seperti N MOD 2 = 0 secara tersilap, baris yang hilang akan menyembunyikannya. Jadual penuh menunjukkan ujian mana yang gagal.
Semak sendiri
1. Surih ini dan berikan output.
X ← 3
Y ← 10
WHILE Y > X DO
Y ← Y - X
X ← X + 1
ENDWHILE
OUTPUT X, Y
Show answer
Mula X = 3, Y = 10. Ujian 10 > 3 benar: Y = 7, X = 4. Ujian 7 > 4 benar: Y = 3, X = 5. Ujian 3 > 5 palsu, jadi gelung berhenti. Output 5, 3.
2. Apakah outputnya?
S ← 0
FOR I ← 2 TO 8 STEP 2
S ← S + I
NEXT I
OUTPUT S
Show answer
I mengambil nilai 2, 4, 6, 8. S ialah 2, kemudian 6, kemudian 12, kemudian 20. Output 20.
3. Dalam contoh di atas, tukar syarat kepada N MOD 2 = 0. Apakah outputnya?
Show answer
Kini N = 2 dan N = 4 dikira. Total = 2 + 4 = 6 dan Count = 2. Output 6, 2.
Ke mana selepas ini
Seterusnya, gunakan penyurihan pada pemilihan dengan kes sempadan. Berlatih pada algoritma asli yang kecil dalam pelatih surih pseudokod, yang menunjukkan setiap pemboleh ubah berubah dan cabang yang berjalan.
Surihan hanya sebaik ketelitian di belakangnya, dan guru boleh menyemak jadual anda baris demi baris dalam tuisyen Computer Science dalam talian satu dengan satu. Set latihan mengandungi beberapa surihan.