Hasil dijangka (expected result) ialah apa yang patut dikeluarkan program untuk input tertentu, dikira daripada keperluan atau dengan menjejak algoritma sebelum ia dijalankan. Itulah yang dibandingkan dengan ujian. Jika anda melangkau langkah ini, output yang salah boleh nampak munasabah.
Pelajaran ini menyambung mereka data ujian dan tergolong dalam modul pengesahihan, pengesahan dan ujian.
Bagaimana mengira hasil dijangka?
Gunakan jadual jejak. Tulis pemboleh ubah sebagai lajur. Mulakan dengan nilai awal, kemudian ikut setiap baris mengikut turutan dan rekod setiap perubahan.
Jika keperluan diberi dalam perkataan, anda juga boleh membuat penaakulan terus daripadanya. Dalam kedua-dua cara, tulis nilai dijangka dahulu.
Contoh berlangkah
Seorang guru rekaan mengira berapa daripada lima markah ujian ialah lulus. Markah lulus ialah 50 atau lebih.
Total ← 0
FOR Count ← 1 TO 5
INPUT Mark
IF Mark >= 50 THEN
Total ← Total + 1
ENDIF
NEXT Count
OUTPUT Total
Lima markah yang dimasukkan ialah 62, 48, 50, 91, 49.
Langkah 1, sediakan jadual dengan lajur Count, Mark, Mark >= 50, Total. Mulakan dengan Total = 0.
Langkah 2, jejak setiap lelaran.
| Count | Mark | Mark >= 50 | Total |
|---|---|---|---|
| (mula) | 0 | ||
| 1 | 62 | TRUE | 1 |
| 2 | 48 | FALSE | 1 |
| 3 | 50 | TRUE | 2 |
| 4 | 91 | TRUE | 3 |
| 5 | 49 | FALSE | 3 |
Langkah 3, baca output. Selepas gelung, OUTPUT Total memberi 3.
Langkah 4, semak dengan keperluan. Markah lulus ialah 62, 50 dan 91. Itu tiga markah, jadi kod dan keperluan sepadan.
Baris 3 jadual penting: Mark 50, dan >= menjadikannya lulus. Nilai sempadan itulah tempat ramalan paling kerap tergelincir.
Kesilapan yang perlu dielakkan
Ramalan yang salah: “Outputnya 2, kerana 50 hanya lulus jika markah melebihi 50.”
Pelajar membaca
>=sebagai>.
Simbol >= bermaksud lebih besar daripada atau sama dengan, jadi 50 lulus. Jadual pelajar itu akan menunjukkan FALSE pada baris 3 dan berakhir pada 2, yang memberi hasil dijangka yang salah. Perlahankan diri pada simbol perbandingan dan sebutnya: “lebih besar daripada atau sama dengan”.
Selepas menulis ramalan, anda menjalankan program. Jika ia mencetak 3, ujian lulus. Jika ia mencetak 2, anda telah menjumpai kesalahan dalam kod, kerana ramalan anda datang daripada keperluan.
Semak diri anda
1. Jejak ini dan nyatakan outputnya.
Sum ← 0
FOR N ← 1 TO 6
IF N MOD 2 = 0 THEN
Sum ← Sum + N
ENDIF
NEXT N
OUTPUT Sum
Show answer
N MOD 2 = 0 ialah TRUE untuk 2, 4 dan 6. Sum menjadi 0, 2, 6, 12. Outputnya 12.
2. Markah 70, 30, 50 dimasukkan ke dalam algoritma pengira lulus di atas dengan gelung diubah supaya berjalan tiga kali. Apakah output dijangka?
Show answer
70 lulus, 30 tidak, 50 lulus. Outputnya 2.
3. Seorang pelajar meramal 5 untuk soalan 2 kerana “ada lima markah”. Apa yang silap?
Show answer
Mereka menggunakan bilangan gelung daripada program asal dan mengira setiap markah, bukan hanya yang lulus. Soalan itu ada tiga markah, dan hanya dua memenuhi syarat Mark >= 50.
Ke mana selepas ini?
Seterusnya, belajar mengesan cabang kod yang belum dijalankan oleh mana-mana ujian. Anda boleh berlatih menjejak dalam alat jejak pseudokod terhad, dan set latihan campuran menggabungkan penjejakan dengan reka bentuk ujian.
Jika jejak anda tersangkut dalam gelung, itu sesuatu yang kami bantu dalam tuisyen Computer Science dalam talian satu dengan satu.