Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Bantuan untuk kesukaran biasa

Saya tidak boleh menerangkan algoritma tanpa menunjukkan kod

Anda boleh menulis atur cara, tetapi apabila soalan berkata terangkan, anda kaku atau menyalin kod baris demi baris.

Dalam halaman ini
  1. Mengapa ini terasa sukar?
  2. Kerangka empat bahagian
  3. Contoh penyelesaian
  4. Lemah berbanding kukuh
  5. Kesilapan yang perlu dielakkan
  6. Cara berlatih
  7. Semakan kendiri
  8. Langkah seterusnya

Untuk menerangkan algoritma, nyatakan untuk apa ia, pada apa ia bekerja, apa yang dilakukannya pada setiap langkah dan mengapa. Kod hanyalah satu cara menulisnya. Penerangan berkaitan idea, dan ia mesti masuk akal kepada orang yang tidak dapat melihat kod.

Ini ialah kemahiran penaakulan yang melalui penerangan penyelesaian masalah dan reka bentuk algoritma. Pelajaran terangkan algoritma tanpa bergantung pada bahasa pengaturcaraan membincangkan idea ini secara langsung.

Mengapa ini terasa sukar?

Semasa menulis kod, setiap baris bermakna tetap dan komputer melakukan selebihnya. Semasa menerangkan, anda mesti memilih perkataan sendiri, dan dua perangkap muncul. Satu ialah mengulang kod dalam bahasa biasa, baris demi baris. Satu lagi ialah berkata sesuatu yang kabur seperti “ia menyemak semuanya”.

Kedua-duanya berlaku kerana penerangan tiada kerangka. Kerangka mudah boleh membetulkannya.

Kerangka empat bahagian

  1. Tujuan: satu ayat tentang apa yang dicari atau dilakukan algoritma.
  2. Input dan output: apa yang masuk, apa yang keluar.
  3. Langkah dalam perkataan: dua hingga empat ayat, mengikut urutan, setiap satu menyatakan apa yang berlaku pada data.
  4. Sebab atau semakan: mengapa ia berfungsi, atau jejak dengan nilai contoh.

Contoh penyelesaian

Algoritma itu mencari markah tertinggi dalam senarai markah. Senarai contoh: 14, 9, 21, 17.

Tujuan. Ia mencari markah terbesar dalam senarai.

Input dan output. Input ialah senarai nombor bulat dengan sekurang-kurangnya satu item. Output ialah nilai terbesar dalam senarai.

Langkah dalam perkataan. Algoritma bermula dengan menganggap markah pertama sebagai yang terbesar setakat ini. Kemudian ia melihat setiap markah yang tinggal satu demi satu. Apabila sesuatu markah lebih besar daripada yang terbesar setakat ini, markah itu menjadi yang terbesar baharu. Selepas markah terakhir, nilai yang disimpan ialah jawapannya.

Jejak dengan senarai contoh.

Markah yang dilihatTerbesar setakat ini selepas markah ini
14 (pertama)14
914 (9 tidak lebih besar)
2121 (21 lebih besar)
1721 (17 tidak lebih besar)

Outputnya ialah 21.

Sebab. Nilai yang disimpan sentiasa yang terbesar antara markah yang telah dilihat, jadi pada akhirnya ia yang terbesar dalam seluruh senarai.

Lemah berbanding kukuh

Penerangan lemah: “Ada gelung. Ia guna pernyataan if untuk membandingkan. Kemudian ia mencetak pemboleh ubah.”

Ini menamakan ciri kod tetapi tidak menyebut apa-apa tentang markah, dan tidak memberi sebab mengapa jawapannya yang terbesar. Pembaca masih tidak tahu apa yang dicapai algoritma.

Penerangan kukuh: “Ia bermula dengan markah pertama sebagai yang terbesar setakat ini, kemudian menyemak setiap markah lain satu demi satu. Jika sesuatu markah lebih besar, ia menggantikan nilai terbesar yang disimpan. Pada akhirnya nilai yang disimpan ialah markah terbesar, kerana ia dikemas kini setiap kali markah yang lebih besar muncul.”

Ia menyatakan apa yang berlaku pada data, mengikut urutan, dan memberi sebabnya.

Kesilapan yang perlu dielakkan

Kesilapan: menerangkan ciri kod, bukan tingkah laku. Perkataan seperti gelung, pemboleh ubah dan pernyataan if sesuai untuk jawapan kod. Soalan terangkan mahu apa yang berlaku pada data.

Pembetulan: bagi setiap ayat, tanya “apa yang berlaku pada markah di sini?” Jika ayat itu boleh tentang mana-mana atur cara, ia terlalu kabur. Tambah data dan tindakannya.

Cara berlatih

  1. Ambil algoritma yang telah anda tulis.
  2. Tutup kod dan tulis kerangka empat bahagian dari ingatan.
  3. Jejak dengan senarai kecil untuk memastikan perkataan anda benar.
  4. Tukar ke senarai contoh lain dan semak penerangan masih sah.

Pelatih jejak pseudokod menunjukkan langkah demi langkah pada algoritma asli yang kecil, dan kotak pasir penaakulan Python membolehkan anda menguji idea dengan cepat supaya penerangan menggambarkan sesuatu yang benar-benar berfungsi.

Semakan kendiri

1. Tulis satu ayat tujuan bagi algoritma yang mengira berapa banyak markah dalam senarai yang sekurang-kurangnya 50.

Show answer"Ia mengira berapa banyak markah dalam senarai yang 50 atau lebih." Jawapan yang baik menamakan data (markah), syarat (sekurang-kurangnya 50) dan hasil (satu kiraan).

2. Yang mana langkah yang lebih kukuh: “ia pusing dalam gelung” atau “ia melihat setiap markah satu demi satu dan membandingkannya dengan yang terbesar setakat ini”?

Show answerYang kedua. Ia menyatakan apa yang berlaku pada data pada setiap langkah. "Pusing dalam gelung" menamakan ciri kod tanpa menyatakan apa yang dilakukannya.

3. Menggunakan senarai contoh 14, 9, 21, 17, apakah nilai terbesar yang disimpan selepas markah ketiga dilihat?

Show answer21. Markah pertama menetapkannya kepada 14, markah kedua (9) membiarkannya pada 14, dan markah ketiga (21) lebih besar, jadi nilai yang disimpan menjadi 21.

Langkah seterusnya

Latih huraikan pembetulan tanpa hanya menunjukkan kod dan hubungkan jejak dengan output akhir. Untuk sisi reka bentuk algoritma, baca jejak satu jujukan dengan jadual keadaan.

Apabila anda bersedia untuk ada orang mendengar penerangan anda dan mengemaskan perkataannya, tuisyen Computer Science dalam talian satu-lawan-satu bermula dengan kelas percubaan berbayar dari RM80.

Soalan lazim

Apakah yang ada dalam penerangan algoritma yang baik?

Tujuan, apa yang dimasukkan, apa yang dihasilkan, langkah utama dalam perkataan biasa, dan sebab setiap langkah ada. Jejak ringkas dengan nilai contoh menunjukkan penerangan itu benar. Ia tidak memerlukan sintaks kod.

Adakah membaca kod dengan kuat penerangan yang sah?

Biasanya tidak. Mengulang setiap baris menyatakan apa kod itu, bukan apa yang dicapainya. Penerangan yang baik menyatakan apa yang langkah itu lakukan pada data dan sebabnya, supaya pembaca yang tidak pernah melihat kod dapat mengikutinya.

Berapa panjang penerangan itu?

Sepanjang yang dicadangkan markah atau arahan, tidak lebih. Berikan idea utama dahulu dalam satu ayat, kemudian dua atau tiga langkah yang tepat. Butiran tambahan yang tidak berkaitan algoritma tidak mendapat markah.

Bolehkah jadual jejak dikira sebagai penerangan?

Ia menyokong penerangan. Jejak menunjukkan apa yang berlaku dengan nilai contoh, tetapi soalan biasanya mahu idea itu dinyatakan dalam perkataan juga. Gunakan jejak untuk menyokong satu ayat, contohnya dengan menunjukkan di mana nilai terbesar berubah.

Dikemas kini:

Langkah seterusnya

Jika kod anda berjalan tetapi penerangan anda tersekat, guru satu-lawan-satu boleh mendengar anda menerangkan algoritma baharu dengan kuat dan membantu anda mencari ayat yang sesuai bagi setiap langkah.

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