Untuk menguraikan tugas, senaraikan tugas berasingan di dalamnya, beri setiap satu satu tujuan yang jelas, kemudian susun dalam urutan di mana setiap tugas mendapat apa yang diperlukan. Soalan yang bermula “Reka bentuk algoritma yang…” memberi ganjaran kepada tabiat ini sebelum sebarang pseudokod muncul.
Ini langkah pertama reka bentuk algoritma, dan pelajaran seterusnya, menentukan input, output dan kekangan, menjadikan setiap bahagian tepat.
Bagaimana membahagi tugas kepada bahagian?
Baca tugas dan garis bawah setiap kata kerja: kumpul, jumlah, banding, keluarkan. Setiap kata kerja biasanya menunjuk kepada satu submasalah. Kemudian tanya tiga soalan bagi setiap bahagian.
- Apakah yang diperlukan sebelum ia boleh bermula?
- Apakah yang diserahkan kepada bahagian seterusnya?
- Bolehkah saya mengujinya secara berasingan?
Jika anda tidak boleh menjawab soalan ketiga, bahagian itu terlalu besar atau terlalu kabur.
Contoh penyelesaian
Seorang guru memasukkan lima markah kuiz, setiap satu daripada 20. Atur cara mesti mengeluarkan PASS jika purata sekurang-kurangnya 10, jika tidak FAIL.
Langkah 1, garis bawah tugas: kumpul lima markah, jumlahkan, cari purata, bandingkan dengan 10, keluarkan satu perkataan.
Langkah 2, namakan setiap submasalah dengan input dan outputnya:
| Submasalah | Memerlukan | Menghasilkan |
|---|---|---|
| Kumpul dan jumlahkan markah | lima markah | Total |
| Cari purata | Total | Average |
| Tentukan lulus atau gagal | Average | perkataan PASS atau FAIL |
| Output | perkataan | teks pada skrin |
Langkah 3, susun. Setiap baris memerlukan baris di atasnya, jadi susunannya tetap.
Langkah 4, tulis setiap bahagian sebagai pseudokod:
Total ← 0
FOR Count ← 1 TO 5
INPUT Mark
Total ← Total + Mark
NEXT Count
Average ← Total / 5
IF Average >= 10 THEN
OUTPUT "PASS"
ELSE
OUTPUT "FAIL"
ENDIF
Langkah 5, uji dengan markah 12, 15, 9, 18, 16. Total selepas setiap markah: 12, 27, 36, 54, 70. Average = 70 / 5 = 14. Oleh kerana 14 >= 10, output ialah PASS. Menjumlahkan semula dengan tangan juga memberi 70, jadi ia sepadan.
Kesilapan yang perlu diawasi
Satu kesilapan lazim ialah submasalah yang sekadar mengulang tugas.
Pelan yang salah: 1. Dapatkan markah. 2. Kira hasil. 3. Keluarkan.
“Kira hasil” menyembunyikan jumlah, purata dan perbandingan, jadi tiada apa yang boleh diuji.
Pembetulannya ialah terus membahagi sehingga setiap baris ada input dan output yang jelas, seperti dalam jadual di atas. Satu lagi kesilapan ialah meletakkan Total ← 0 di dalam gelung. Maka jumlah bermula semula pada setiap markah dan purata akhir hanya menggunakan markah terakhir.
Semak sendiri
1. Atur cara perpustakaan mesti membaca bilangan hari lewat bagi sebuah buku dan mengeluarkan denda pada RM0.20 sehari. Senaraikan submasalah.
Show answer
Baca bilangan hari lewat. Darabkan dengan 0.20 untuk mendapat denda. Keluarkan denda. Untuk 15 hari, denda ialah 15 × 0.20 = RM3.00.
2. Pelan di bawah tidak teratur. Betulkan: keluarkan purata, jumlahkan nombor, bahagi jumlah dengan bilangan, masukkan nombor.
Show answer
Masukkan nombor, jumlahkan nombor, bahagi jumlah dengan bilangan, keluarkan purata. Setiap langkah memerlukan hasil langkah sebelumnya.
3. Dalam contoh kuiz, apakah purata jika Total ← 0 berada di dalam gelung dan markahnya 12, 15, 9, 18, 16?
Show answer
Jumlah ditetapkan semula pada setiap markah, jadi selepas markah terakhir Total = 16. Purata ialah 16 / 5 = 3.2, yang salah memberi FAIL.
Ke mana selepas ini
Seterusnya, belajar menentukan input, output dan kekangan untuk setiap bahagian. Pelatih surih pseudokod membolehkan anda melangkah melalui algoritma seperti ini.
Jika menguraikan tugas ialah titik anda tersekat, guru kami boleh mengusahakannya bersama anda dalam tuisyen Computer Science dalam talian satu dengan satu, dan set latihan memberi lebih banyak tugas untuk dibahagi.