Apakah perbezaan antara pseudocode dan algoritma?

Apakah perbezaan antara pseudocode dan algoritma?

Dalam istilah yang sangat mudah, Pseudocode adalah naratif yang menggambarkan logik algoritma.

Pseudocode bukan kod yang boleh dilaksanakan supaya tidak wajib menggunakan sintaks yang tepat; Walau bagaimanapun, adalah berguna untuk mengikuti standard yang digunakan secara meluas dalam industri, yang dapat difahami dengan mudah oleh pasukan penyelesaian.

Bahasa pemodelan bersatu (UML) dan metodologi pemodelan perniagaan lain juga boleh disebut contoh pseudocode.  Walaupun tidak semata-mata berasaskan teks, alat ini digunakan untuk memberikan perwakilan visual tugas atau proses yang boleh dilaksanakan.

Amalan terbaik untuk mendokumentasikan pseudocode berstruktur dan lengkap untuk membantu menterjemahkannya dengan tepat dan ia merupakan bahagian penting dalam merancang penyelesaian dan logik pengaturcaraan.

Sekiranya pseudocode tidak wujud untuk algoritma, maka masa yang tidak perlu dibelanjakan untuk memikirkan penyelesaiannya, atau mengeluarkan idea samar -samar semasa berada di peringkat pengekodan, biasanya dengan tarikh akhir yang menjulang.

Semasa menyelesaikan masalah algoritma, pseudocode memberikan pemikiran latar belakang bagaimana ia disatukan dan pemaju mungkin atau mungkin tidak selalu ada untuk membantu memikirkannya.

Lihat contoh pseudocode ini dari Khan Academy[i]:

Ini adalah pseudocode berasaskan teks yang ditulis dalam alat pembangunan perisian.

Pukulan sebelumnya // menunjukkan teks adalah komen (atau mengulas dalam istilah pembangunan) dan oleh itu bukan sebahagian daripada kod yang boleh dilaksanakan.

Teks berani di bawah menunjukkan sintaks dan dimensi pemaju ketika mereka menafsirkannya dari syarat -syarat di pseudocode ke dalam kod boleh laku.

// bagaimana kita mendapatkan idea kita ke dalam kod?

// Lukis muka, bujur di tengah
ellipse (lebar/2, ketinggian/2, 200, 300);

// Lukis dua mata, dua oval, kira -kira 2/3 di atas muka, dan 1/5 saiz muka
ellipse (lebar/2 - 40, ketinggian/2 - 50, 40, 40);
ellipse (lebar/
2 + 40, ketinggian/2 - 50, 40, 40);

Satu lagi contoh di bawah menunjukkan yang lebih teknikal dan berstruktur mendekati untuk menulis pseudocode:

Sekiranya gred pelajar lebih besar daripada atau sama dengan 60

Cetak “Dilakukan dengan baik!"

lain

Cetak "Maaf, anda gagal"

Apabila merujuk kepada pseudocode berstruktur, terdapat istilah standard yang mewakili logik algoritma, seperti Urutan, Manakala, If-then-else dan pembinaan tambahan yang juga berguna termasuk Ulang-sehingga, Kes, dan Untuk.

Syarat -syarat ini difahami oleh pemaju dan membantu membina keperluan tanpa menggunakan istilah slang atau peribadi yang mungkin tidak difahami oleh orang lain.

  • Urutan Menunjukkan pelaksanaan atas ke bawah tugas secara berurutan.
  • Manakala adalah gelung berulang yang dilaksanakan sehingga keadaan, yang ditakrifkan pada permulaannya dipenuhi.
  • If-then-else adalah keputusan yang diambil antara dua syarat:
Contoh

Jika jam kerja> normalweek kemudian

Paparkan mesej masa lapang masa lapang

Lain

Paparkan mesej Time Timesheet biasa

  • Ulang-sehingga adalah gelung berulang yang dilaksanakan sehingga keadaan, yang ditakrifkan pada akhirnya, dipenuhi.
Contoh

Ulangi

urutan

Sehingga keadaan

  • Kes menyediakan pelbagai keputusan berdasarkan nilai ungkapan.
  • Untuk adalah gelung pengiraan berulang

Perhatikan bahawa untuk setiap tugas atau proses, gunakan Akhir/Endif (di mana jika digunakan) pada akhirnya untuk menunjukkan ia adalah titik penamatan atau hasil output.

Apabila pembinaan bersarang di dalam satu sama lain, mereka mesti jelas diindentikan dari pembinaan ibu bapa mereka, jadi dengan kata lain, semua pernyataan yang menunjukkan kebergantungan harus diindikasikan.

Dengan kata kerja, kata -kata 'melakukan', menggunakan istilah seperti proses, komputer, menetapkan semula, kenaikan, menambah, membiak, mencetak, paparan dan lain -lain dan perhatikan lekukan menggalakkan pseudocode yang dikehendaki.

Sekarang mari kita lihat algoritma dan bagaimana mereka berbeza dengan pseudocode.

Pertama, apa itu Algoritma?

"Secara tidak rasmi, algoritma adalah prosedur pengiraan yang jelas yang diperlukan
beberapa nilai, atau set nilai, sebagai input dan menghasilkan beberapa nilai, atau set nilai, sebagai
pengeluaran. Oleh itu, algoritma adalah urutan langkah pengiraan yang mengubahnya
masukkan ke dalam output
." [ii]

Oleh itu, dalam istilah yang lebih mudah, algoritma adalah logik kod yang boleh dilaksanakan yang ditakrifkan oleh urutan langkah untuk menyelesaikan masalah atau menyelesaikan tugas.

Tidak seperti pseudocode, orang yang menulis algoritma memerlukan pengetahuan pengaturcaraan kerana ia ditafsirkan oleh komputer - bukan pemaju - Untuk melaksanakan tugas, memanipulasi, menyulitkan, dan mengekstrak data.

Algoritma secara asasnya mengarahkan program komputer untuk melaksanakan tugas, seperti yang ditakrifkan dalam logik kod.  Kesalahan dalam mana -mana sintaks pengaturcaraan akan menghalang pelaksanaan tugas -tugas yang berjaya, di mana pengetahuan pengaturcaraan diperlukan.

Apabila menulis pseudocode di peringkat perancangan, ingat algoritma mesti berkesan, fokus dan mencapai hasil akhir; Semua aspek penyelesaian mesti selalu dipertimbangkan.

Apa yang dilakukan oleh algoritma?  Pada asasnya, ia dilaksanakan oleh pencetus, atau proses, atau algoritma lain dan menerima data sebagai inputnya.  Data melalui langkah -langkah arahan dan manipulasi untuk menghasilkan output.

Data disimpan dalam pembolehubah dan setiap pemboleh ubah dinamakan untuk algoritma untuk memberikan data kepadanya semasa proses pelaksanaan.

Algoritma juga dinamakan kerana mereka boleh memasukkan rujukan dan panggilan ke algoritma lain.  Terdapat banyak kerumitan dan teknikal ketika membangunkan algoritma, tanpa mengira perisian pengekodan yang digunakan dan oleh itu perlu ditakrifkan dengan baik untuk menghasilkan hasil yang tepat dan diinginkan.

Satu lagi aspek penting untuk dipertimbangkan dengan reka bentuk dan pelaksanaan algoritma adalah seberapa pantas ia dilaksanakan.  Ini semakin jelas dengan pengguna akhir yang terbiasa dengan perisian yang lebih cepat dan peranti lebih cepat.

Contohnya, memohon penapis untuk mencari kriteria dan menunggu masa yang luar biasa untuk hasil yang dipaparkan boleh menjadi pengalaman yang tidak dapat dipertahankan.  Pemaju kemudian akan menyiasat bagaimana dan bila data diterima, bolehkah data ditapis dalam sub-proses, dll.

Menulis logik kod yang melambatkan proses mana -mana mempunyai kesan negatif terhadap pengguna, pemaju, dan perniagaan.

Ringkasnya, pseudocode adalah naratif penting untuk merancang logik kod dan melaksanakan penyelesaian yang mantap.  Penyelesaian ini dilaksanakan menggunakan algoritma yang berstruktur, cepat, dan berkesan yang menghasilkan hasil yang tepat dan diinginkan.