Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Terangkan hasil dijangka sebelum menjalankan kod

Anda menjalankan program, membaca output dan memutuskan ia nampak betul, iaitu cara paling cepat untuk terlepas kesalahan.

Dalam halaman ini
  1. Bagaimana mengira hasil dijangka?
  2. Contoh berlangkah
  3. Kesilapan yang perlu dielakkan
  4. Semak diri anda
  5. Ke mana selepas ini?

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.

CountMarkMark >= 50Total
(mula)0
162TRUE1
248FALSE1
350TRUE2
491TRUE3
549FALSE3

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.

Soalan lazim

Apakah larian kering (dry run)?

Larian kering bermaksud mengikuti algoritma dengan tangan, baris demi baris, merekod nilai setiap pemboleh ubah dalam jadual jejak (trace table). Anda melakukannya tanpa komputer. Ia membolehkan anda meramal output dan menemui ralat logik sebelum program dijalankan.

Mengapa meramal hasil sebelum menjalankan kod?

Jika anda hanya melihat output selepas itu, mudah untuk menerima apa-apa sahaja yang muncul. Ramalan daripada keperluan memberi anda sesuatu yang bebas untuk dibandingkan. Ketidakpadanan kemudian memberitahu sama ada kod atau pemahaman anda ada kesalahan.

Apa yang ada dalam jadual jejak?

Satu lajur untuk setiap pemboleh ubah dan untuk output, serta satu baris bagi setiap kali nilai berubah atau baris penting dijalankan. Tulis nilai permulaan dahulu, kemudian kemas kini baris demi baris. Sertakan keputusan syarat apabila algoritma ada IF.

Bagaimana jika hasil ramalan dan hasil sebenar berbeza?

Jangan hanya menukar ramalan. Jejak kod itu sekali lagi dengan perlahan, dan semak keperluan. Sama ada anda tersilap menjejak satu langkah, kod ada ralat logik, atau nilai dijangka anda salah. Mencari yang mana satu ialah bahagian yang berguna.

Dikemas kini:

Langkah seterusnya

Jika larian kering anda silap pada satu langkah yang tidak dapat anda temui, guru satu dengan satu boleh memerhati anda menjejak algoritma baharu dan menunjukkan baris tepat tempat gambaran anda tentang kod menyimpang.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80. Yuran lain, jadual dan susunan seterusnya disahkan terus bersama guru selepas kelas percubaan.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa atau penjaga? Tanya di sini

9,000+ pelajar telah dibantu melalui perkhidmatan kami