Untuk menerangkan tujuan sebuah pemboleh ubah (variable), nyatakan nilai yang disimpannya, bila ia berubah dan mengapa algoritma memerlukannya. Soalan seperti “nyatakan tujuan pemboleh ubah” atau “terangkan mengapa X digunakan” muncul apabila algoritma pendek diberi dan anda mesti menunjukkan bahawa anda telah memahaminya.
Pelajaran ini membuka modul penjelasan penyelesaian masalah. Ia berasaskan cara pemboleh ubah ditugaskan dan disurih dalam pseudokod untuk sukatan yang berkaitan.
Apakah yang menjadikan jawapan tentang tujuan lengkap?
Jawapan yang baik mempunyai tiga bahagian.
- Menyimpan: perkara yang disimpan pemboleh ubah pada bila-bila masa, seperti “jumlah berjalan markah”.
- Berubah: bila dan bagaimana ia dikemas kini, seperti “bertambah setiap kali markah 50 atau lebih dibaca”.
- Mengapa: tugas yang dilakukannya untuk algoritma, seperti “supaya bilangan akhir boleh dikeluarkan selepas gelung”.
Peranan lazim ialah pembilang (counter), jumlah berjalan, nilai terbesar atau terkecil setakat ini, bendera (flag, TRUE atau FALSE), indeks gelung dan simpanan sementara. Menamakan peranan membantu, tetapi ayat anda mesti tetap menyatakan apa yang dibilang atau disimpan.
Contoh berlangkah
Total ← 0
FOR Index ← 1 TO 4
INPUT Mark
IF Mark >= 50 THEN
Total ← Total + 1
ENDIF
NEXT Index
OUTPUT Total
Markah yang dimasukkan ialah 62, 45, 50 dan 38. Terangkan tujuan Total, Mark dan Index.
Total. Ia ialah pembilang. Ia menyimpan bilangan markah yang dimasukkan setakat ini yang bernilai 50 atau lebih. Ia bermula pada 0 kerana belum ada markah yang dibilang, dan bertambah 1 hanya apabila syarat IF benar.
Mark. Ia menyimpan satu markah yang baru dimasukkan. Ia ditimpa oleh setiap INPUT baharu, jadi hanya markah semasa diuji.
Index. Ia ialah pembilang gelung. Ia menyimpan markah yang ke berapa sedang diproses, 1 hingga 4, dan menjadikan gelung berulang tepat empat kali.
Semak dengan data. 62 dibilang (Total 1). 45 tidak. 50 dibilang kerana ujiannya >= (Total 2). 38 tidak. Output ialah 2, sepadan dengan “bilangan markah yang 50 atau lebih”.
Kesilapan yang perlu diwaspadai
Jawapan yang lemah mengulang nama atau kod:
Total menyimpan total. atau Total ialah Total + 1.
Ini tidak memberi maklumat baharu. Ia tidak menyatakan apa yang dijumlahkan, dan di sini ia bukan jumlah markah, tetapi satu bilangan.
Pembetulan: “Total ialah pembilang yang menyimpan bilangan markah yang dimasukkan yang 50 atau lebih. Ia bermula pada 0 dan bertambah 1 setiap kali markah lulus ujian, supaya boleh dikeluarkan pada akhir.”
Semak kendiri
1. Terangkan tujuan Largest dalam kod ini.
Largest ← 0
FOR I ← 1 TO 3
INPUT N
IF N > Largest THEN
Largest ← N
ENDIF
NEXT I
OUTPUT Largest
Tunjukkan jawapan
Largest menyimpan nombor terbesar yang dimasukkan setakat ini. Ia digantikan dengan N setiap kali nombor yang lebih besar dibaca. Ia bermula pada 0 supaya nombor positif pertama menggantikannya, dan pada akhir ia dikeluarkan sebagai jawapan. (Jawapannya akan salah jika semua nombor yang dimasukkan negatif, kerana 0 kekal terbesar.)
2. Dalam pertukaran di bawah, terangkan mengapa Temp diperlukan.
Temp ← A
A ← B
B ← Temp
Tunjukkan jawapan
Temp menyimpan nilai asal A buat sementara. A ditimpa dengan B pada baris 2, jadi tanpa Temp nilai lama A akan hilang dan B tidak dapat menerimanya. Contohnya, jika A = 3 dan B = 8, maka Temp = 3, A = 8, B = 3.
3. Seorang pelajar menulis: “Found digunakan untuk mencari.” Tulis semula untuk carian yang menetapkan Found kepada FALSE di awal dan TRUE apabila sasaran ditemui.
Tunjukkan jawapan
Found ialah bendera. Ia menyimpan TRUE jika nilai sasaran telah dijumpai dalam senarai dan FALSE jika belum. Ia bermula FALSE kerana belum ada yang dijumpai, menjadi TRUE apabila ada padanan, dan diuji selepas gelung untuk menentukan mesej yang dikeluarkan.
Ke mana selepas ini
Seterusnya, beralih daripada menerangkan pemboleh ubah kepada mempertahankan ujian dalam wajarkan kes ujian dengan keperluan. Pelatih surih pseudokod terhad menunjukkan cara setiap pemboleh ubah berubah, yang membantu anda menghuraikan peranannya.
Jika anda faham kod tetapi ayat tulisan anda kehilangan markah, guru kami boleh membacanya bersama anda dalam tuisyen Computer Science dalam talian satu dengan satu.