Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Tentukan input, output dan kekangan

Banyak algoritma yang salah bermula daripada tugas yang tidak pernah dinyatakan dengan cukup tepat untuk diselesaikan.

Dalam halaman ini
  1. Apakah yang ada dalam spesifikasi?
  2. Contoh penyelesaian
  3. Kesilapan yang perlu diawasi
  4. Semak sendiri
  5. Ke mana selepas ini

Sebelum menulis langkah, tulis spesifikasi ringkas: apa yang masuk, apa yang mesti keluar, dan apa yang dibenarkan. Spesifikasi yang jelas menukar “pek telur” kepada sesuatu yang boleh disurih dan diuji.

Pelajaran ini menyusul menguraikan tugas. Ia juga menyediakan anda untuk menyurih dengan jadual keadaan, kerana anda perlu tahu nilai mana yang hendak dijejak.

Apakah yang ada dalam spesifikasi?

Tulis tiga senarai.

  • Input: setiap nilai yang diterima algoritma, dengan jenisnya (nombor bulat, nombor nyata, teks).
  • Output: setiap nilai yang mesti dihasilkan, dengan huraian hubungannya dengan input.
  • Kekangan: had pada input dan peraturan yang mesti dipatuhi output.

Jika sesuatu nilai boleh terlalu kecil, terlalu besar, negatif atau bukan nombor bulat, kekangan menyatakan apa yang patut berlaku.

Contoh penyelesaian

Sebuah ladang mengemas telur ke dalam dulang yang memuatkan tepat 12. Diberi bilangan telur, keluarkan berapa dulang penuh boleh dibuat dan berapa telur berbaki.

Langkah 1, input: Eggs, nombor bulat.

Langkah 2, output: Trays, bilangan dulang penuh. Left, telur yang tidak berada dalam dulang penuh.

Langkah 3, kekangan: Eggs mestilah nombor bulat dan sekurang-kurangnya 0. Left mesti dari 0 hingga 11, dan Trays × 12 + Left mesti sama dengan Eggs.

Langkah 4, algoritma:

INPUT Eggs
Trays ← Eggs DIV 12
Left ← Eggs MOD 12
OUTPUT Trays, Left

Langkah 5, surih dengan tiga nilai:

EggsTraysLeftSemak Trays × 12 + Left
1008496 + 4 = 100
110110 + 11 = 11
0000 + 0 = 0

Untuk 100: 12 × 8 = 96 dan 100 − 96 = 4, jadi DIV memberi 8 dan MOD memberi 4. Setiap baris memenuhi peraturan dalam kekangan, dan itulah semakan yang penting.

Kesilapan yang perlu diawasi

Satu kesilapan lazim ialah menggunakan pembahagian biasa dan mengabaikan kekangan bahawa dulang mestilah bulat.

Algoritma yang salah: Trays ← Eggs / 12, dengan Eggs = 100.

Ini memberi 8.333…, yang bukan bilangan dulang.

Pembetulannya ialah membaca huraian output: “bilangan dulang penuh” ialah nombor bulat, jadi DIV ialah operasinya. Kesilapan kedua ialah melangkau kekangan, sehingga tiada siapa memutuskan apa yang berlaku untuk −5 telur atau 3.5 telur. Menamakan kekangan memberitahu anda supaya menambah langkah pengesahan atau menyatakan andaian.

Semak sendiri

1. Tulis input, output dan kekangan bagi algoritma yang memberi purata 5 markah ujian, setiap satu dari 0 hingga 100.

Tunjukkan jawapan

Input: lima markah, setiap satu nombor bulat (atau nombor nyata) dari 0 hingga 100. Output: Average, jumlah markah dibahagi 5. Kekangan: setiap markah mesti dari 0 hingga 100, jadi Average juga dari 0 hingga 100.

2. Diberi 250 telur, apakah Trays dan Left?

Tunjukkan jawapan

12 × 20 = 240, jadi 250 DIV 12 = 20. 250 − 240 = 10, jadi 250 MOD 12 = 10. Semak: 20 × 12 + 10 = 250.

3. Tukar bilangan hari kepada minggu penuh dan hari baki. Berikan output untuk 30 hari.

Tunjukkan jawapan

Weeks ← Days DIV 7 dan Spare ← Days MOD 7. 7 × 4 = 28, jadi Weeks = 4 dan Spare = 2. Semak: 4 × 7 + 2 = 30.

Ke mana selepas ini

Seterusnya, belajar menyurih urutan dengan jadual keadaan supaya anda boleh membuktikan algoritma memenuhi spesifikasinya. Pelatih surih pseudokod berguna untuk menyemak hasil DIV dan MOD.

Apabila spesifikasi kabur, sukar untuk tahu apa yang hendak diuji, dan guru boleh membantu anda memperketatkannya. Itu sebahagian daripada tuisyen Computer Science dalam talian satu dengan satu kami, dan set latihan mempunyai lebih banyak spesifikasi untuk ditulis.

Soalan lazim

Apakah kekangan (constraint) dalam algoritma?

Kekangan ialah had pada apa yang diterima algoritma atau apa yang mesti dilakukannya. Contohnya, bilangan telur mestilah nombor bulat yang sifar atau lebih. Menyatakan kekangan memberitahu anda apa yang perlu disahkan dan nilai ujian mana yang perlu dicuba.

Apakah fungsi DIV dan MOD?

DIV memberi bahagian nombor bulat bagi suatu pembahagian, dan MOD memberi bakinya. Contohnya, 100 DIV 12 ialah 8 dan 100 MOD 12 ialah 4. Ia berguna apabila suatu kuantiti dibahagi kepada kumpulan sama banyak dan baki penting.

Bolehkah algoritma mempunyai lebih daripada satu output?

Boleh. Algoritma boleh mengeluarkan beberapa nilai, seperti bilangan dulang penuh dan bilangan telur yang berbaki. Senaraikan setiap output secara berasingan dalam spesifikasi supaya anda boleh menyemak setiap satu dalam surihan.

Dikemas kini:

Langkah seterusnya

Jika algoritma anda berjaya pada contoh soalan tetapi gagal pada nilai lain, guru satu dengan satu boleh membantu anda menulis spesifikasi dahulu supaya jurang nampak sebelum kod ditulis.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80.

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

Ibu bapa: tanya di sini

  • 9,000+ pelajar telah dibantu melalui perkhidmatan kami
  • 9+ tahun membantu pelajar IGCSE