Apakah perbezaan antara Pseudocode dan Algoritma?

Dalam terma yang sangat mudah, Pseudocode adalah naratif yang menerangkan logik algoritma.

Pseudocode bukan kod executable jadi tidak wajib untuk 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 Bersepadu (UML) dan metodologi pemodelan perniagaan lain juga boleh dinamakan contoh pseudocode. Walaupun tidak semata-mata berasaskan teks, alat ini digunakan untuk memberikan gambaran visual tentang tugas atau proses yang dapat dilaksanakan.

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

Jika pseudocode tidak wujud untuk algoritma, maka masa yang tidak perlu dibelanjakan untuk memikirkan penyelesaiannya, atau mengekstrak beberapa idea samar-samar semasa dalam tahap pengkodan, biasanya dengan batas akhir yang menjulang.

Apabila mengatasi masalah algoritma, pseudocode memberikan pemikiran latar belakang dalam cara ia disusun dan pemaju mungkin atau tidak selalu berada di sekitar untuk membantu memikirkannya.

Lihat contoh pseudocode ini dari Khan Academy[i]:

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

Pukulan terdahulu // menunjukkan teks adalah komen (atau dimaklumkan dalam istilah pembangunan) dan oleh karenanya bukan sebahagian daripada kod yang boleh laku.

Teks berani di bawah menunjukkan sintaks dan dimensi pemaju ketika mereka mentafsirkannya dari keperluan dalam pseudocode ke dalam kod boleh laku.

// Bagaimana kita mendapatkan idea-idea kita menjadi kod?

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

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

Contoh lain di bawah menunjukkan lebih teknikal dan berstruktur menghampiri penulisan pseudocode:

Jika gred pelajar lebih besar daripada atau sama dengan 60

Cetak "Baik Selesai!"

lain

Cetak "Maaf, anda gagal"

Apabila merujuk kepada pseudocode berstruktur, terdapat istilah standard yang mewakili logik algoritma, seperti SEQUENCE, WHILE, IF-THEN-ELSE dan pembinaan tambahan yang juga berguna termasuk REPEAT-UNTIL, KES, dan UNTUK.

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

  • SEQUENCE menunjukkan pelaksanaan tugas atas ke bawah tugas secara berurutan.
  • WHILE adalah gelung berulang yang dilaksanakan sehingga keadaan, yang ditentukan pada permulaan dipenuhi.
  • IF-THEN-ELSE adalah keputusan yang diambil antara dua syarat:
Contoh

JIKA HoursWorked> NormalWeek THEN

Paparkan mesej kali masa lebih masa

ELSE

Paparkan mesej kali ukuran biasa

  • REPEAT-UNTIL adalah gelung berulang yang dieksekusi sehingga keadaan, yang ditentukan pada akhirnya, dipenuhi.
Contoh

REPEAT

urutan

SELEPAS keadaan

  • KES menyediakan pelbagai keputusan berdasarkan nilai ungkapan.
  • UNTUK adalah gelung penghitungan berulang

Ambil perhatian bahawa untuk setiap tugas atau proses, gunakan END/ENDIF (di mana JIKA digunakan) pada akhir untuk menunjukkan ia adalah titik penamatan atau hasil output.

Apabila konstruk bersarang dalam satu sama lain, mereka mestilah diarahkan dengan jelas dari pembinaan induknya, oleh itu dalam erti kata lain, semua pernyataan yang menunjukkan kebergantungan harus diinden.

Dengan kata kerja, kata-kata 'melakukan', gunakan istilah seperti Proses, Komputer, Reset, Tambahan, Tambah, Multiply, Cetak, Paparan dan sebagainya dan indentasi mempromosikan pseudocode yang diingini.

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

Pertama, apakah yang algoritma?

"Secara tidak rasmi, algoritma adalah apa-apa prosedur pengiraan yang jelas yang diperlukan
beberapa nilai, atau set nilai, sebagai input dan menghasilkan beberapa nilai, atau set nilai, sebagai
pengeluaran. Algoritma dengan itu merupakan urutan langkah pengiraan yang mengubahnya
input ke output
." [ii]

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

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

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

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

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

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

Algoritma juga dinamakan kerana mereka boleh merangkumi rujukan dan panggilan ke algoritma lain. Terdapat banyak kerumitan dan teknikal ketika membangunkan algoritma, tanpa mengira perisian pengkodean 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 suatu algoritma adalah berapa pantasnya dilaksanakan. Ini semakin jelas dengan pengguna akhir yang semakin terbiasa dengan perisian yang lebih cepat dan peranti yang lebih cepat.

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

Logik kod penulisan yang memperlahankan apa-apa proses mempunyai kesan negatif terhadap pengguna, pemaju, dan perniagaan.

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