Keputusan hanya sebaik data di belakangnya. Kualiti data bermaksud bertanya sama ada bacaan itu tepat, wujud, terkini dan munasabah bagi keadaan sebelum sistem bertindak.
Pelajaran ini melanjutkan menerangkan model keputusan yang ringkas dan melengkapkan penaakulan dalam automasi dan sistem baharu. Soalan senario sering menambah penderia rosak dan bertanya apa yang tidak kena dan bagaimana mencegahnya.
Apa yang boleh salah dengan bacaan?
- Tidak tepat: nilai tersasar daripada nilai sebenar, contohnya penderia yang hanyut.
- Hilang: tiada nilai tiba, atau kod pengganti tiba sebagai ganti.
- Lapuk: nilai lama, jadi ia menggambarkan bilik seperti dahulu, bukan sekarang.
- Mustahil: nilai tidak mungkin benar, seperti bilik darjah pada 99 °C.
- Tempat salah: penderia mengukur di tempat yang tidak mewakili, seperti di sebelah pemanas.
Contoh berlangkah
Penderia rumah hijau menghantar 25, 26, 99, 26, 25 (°C). Peraturan kipas ialah “ON jika purata bacaan melebihi 35”. Semakan julat hanya menerima nilai 0 hingga 60.
Tanpa semakan: 25 + 26 + 99 + 26 + 25 = 201, dan 201 ÷ 5 = 40.2. Oleh kerana 40.2 > 35, kipas hidup tanpa sebab sebenar.
Dengan semakan:
total ← 0
count ← 0
FOR i ← 1 TO 5
value ← GetReading()
IF value >= 0 AND value <= 60
THEN
total ← total + value
count ← count + 1
ENDIF
NEXT i
average ← total / count
| i | value | in range 0 to 60 | total | count |
|---|---|---|---|---|
| 1 | 25 | true | 25 | 1 |
| 2 | 26 | true | 51 | 2 |
| 3 | 99 | false | 51 | 2 |
| 4 | 26 | true | 77 | 3 |
| 5 | 25 | true | 102 | 4 |
Puratanya 102 ÷ 4 = 25.5. Oleh kerana 25.5 tidak melebihi 35, kipas kekal OFF. Semakan itu menghalang satu nilai mustahil daripada mengubah keputusan.
Sistem juga patut merekod bahawa satu nilai ditolak, supaya seseorang boleh memeriksa penderia.
Kesilapan yang perlu diawasi
Kesilapan lazim ialah mengatakan “sistem akan membetulkan data itu sendiri”.
Jawapan salah: “Pemproses akan sedar 99 salah kerana ia komputer.”
Pelajar menganggap pemproses memahami keadaan.
Pemproses hanya melakukan apa yang peraturannya nyatakan. Selagi tiada semakan ditulis, 99 diterima seperti nombor lain. Pembetulannya ialah menamakan semakan khusus, seperti semakan julat, dan menyatakan apa yang dilakukan sistem dengan nilai yang ditolak.
Semak sendiri
1. Penderia menghantar 12, 14, -999, 13, 15, dengan -999 bermaksud “tiada bacaan”. Julat sah ialah 0 hingga 50. Cari purata nilai yang diterima.
Tunjukkan jawapan
Diterima: 12, 14, 13, 15. Jumlah = 12 + 14 + 13 + 15 = 54. Bilangan = 4. Purata = 54 ÷ 4 = 13.5. Jika -999 dimasukkan, hasilnya -945 ÷ 5 = -189, yang tidak bermakna.
2. Berikan satu masalah bagi bacaan yang tiba sepuluh minit lewat dalam sistem yang memerlukan kemas kini setiap saat.
Tunjukkan jawapan
Bacaan itu lapuk. Pemproses akan membuat keputusan menggunakan keadaan yang mungkin tidak benar lagi, jadi penggerak boleh melakukan perkara yang salah.
3. Mengapa had semakan julat tidak patut ditetapkan terlalu ketat?
Tunjukkan jawapan
Julat yang ketat boleh menolak peristiwa sebenar, seperti kenaikan suhu yang benar, jadi sistem akan mengabaikan bacaan yang justeru perlu ditindaknya.
Ke mana selepas ini?
Pelajaran terakhir dalam modul ini tentang mengekalkan nota anda pada tahun yang betul: melabel tambahan 2029 sahaja. Untuk melatih surihan data buruk, gunakan kotak pasir penaakulan Python dengan gelung pendek seperti di atas.
Guru dalam tuisyen Computer Science sering meminta anda memecahkan peraturan dengan sengaja, supaya anda belajar melihat titik lemah sebelum soalan peperiksaan menunjukkannya.