Apa itu kodesemu?

19

Saya telah melihat banyak sebutan tentang Pseudocode belakangan ini, di situs ini dan lainnya. Tapi saya tidak mengerti:

  • Apa itu Pseudocode? Sebagai contoh, artikel Wikipedia di bawah ini mengatakan "Ini menggunakan konvensi struktural bahasa pemrograman, tetapi dimaksudkan untuk membaca manusia daripada membaca mesin." Apakah ini berarti bahwa itu sebenarnya tidak digunakan untuk membuat program?

  • Mengapa ini digunakan?

  • Bagaimana ini digunakan?
  • Apakah itu dianggap sebagai Bahasa Pemrograman? (Lihat kutipan Wikipedia di atas)
  • Apakah ini dikenal / digunakan?

Jujur saya tidak tahu harus mulai dari mana dengan ini. Saya telah mencarinya di Google dan saya telah melihat artikel Wikipedia tentang topik itu , tetapi saya masih belum sepenuhnya memahami apa itu.

Dinamis
sumber
7
Harap berikan kutipan dan pertanyaan spesifik dari artikel Wikipedia. Semua pertanyaan Anda yang menjawab ada. Jika Anda tidak dapat memahami kata atau frasa, harap kutip kata atau frasa tertentu dalam pertanyaan Anda sehingga kami dapat menjelaskannya. Sulit untuk mengetahui apa yang Anda anggap membingungkan dalam artikel itu. Daripada mengulangi artikel itu di sini, akan membantu jika Anda bisa merujuk hal-hal tertentu yang membingungkan Anda.
S.Lott
@ S.Lott: Selesai
Dinamis
20
while (you.doNotUnderstand(pseudocode)) { q = you.askQuestion(); a = we.answer(q); you.digestAnswer(a) }
Joachim Sauer
3
if (question.IsAnswered) then you.UnderstandPseudoCode <- true
e-MEE
1
Ini adalah jalan tengah antara bahasa alami dan bahasa pemrograman - lebih formal daripada bahasa lisan, tetapi kurang formal daripada bahasa pemrograman nyata.
Ingo

Jawaban:

19

Pseudocode, seperti namanya, bukan kode asli, tetapi sepertinya kode. Ini membantu orang untuk memahami domain masalah atau solusi dengan lebih baik tanpa harus menambahkan semua bagasi yang diperlukan saat menggunakan bahasa nyata.

Singkatnya: ini hanya digunakan untuk tujuan ilustrasi.

Pseudocode dan pemrograman
Tidak ada definisi atau aturan tetap dari pseudocode, ini bisa berbeda setiap kali. Ini bukan bahasa pemrograman (nyata) dan tidak ada yang akan menganggapnya satu. Itu tidak dapat dikompilasi atau digunakan sebagai bahasa pemrograman nyata: jika Anda bisa melakukan itu, itu tidak lagi menjadi kodesemu. Pseudocode tidak perlu bersifat deterministik (suatu keharusan bagi komputer untuk dikompilasi), melainkan harus dipahami oleh manusia. Untuk menggunakan pseudocode, Anda harus mengonversinya ke bahasa pemrograman favorit Anda. Proses konversi ini dapat berbeda setiap kali dan tidak ada aturan yang dapat diberikan untuk itu karena, sekali lagi, kodesemu seperti kebebasan berbicara: ia dapat mengambil bentuk apa pun.

Penggunaan
Ini biasanya digunakan, terutama dalam tahap desain proyek untuk membantu memahami pendekatan tertentu terhadap suatu masalah. Ini juga biasa digunakan dalam desain algoritma, atau ketika guru menggambar sesuatu di papan tulis. Dalam semua kasus ini tidak perlu mengkompilasi kode, Anda hanya ingin memahami masalah / solusi.

Jenis pseudocode
Pseudocode dapat berupa, tetapi tidak harus dari jenis tertentu, yaitu, Anda dapat memiliki pseudocode berbasis stack untuk menggambarkan MSIL, Anda dapat memiliki pseudocode imperatif untuk menggambarkan Java, C #, C ++, Python, Anda dapat memiliki kodesemu fungsional untuk menggambarkan F #, Haskell, SQL dll.

Contoh
Dari atas kepala saya, tetapi apa pun berjalan, karena pseudocode dapat ditemukan di tempat:

XML pseudocode, menampilkan struktur head + body yang memungkinkan untuk beberapa elemen-p:

<head ...
   <title ...
</
<body ...>
   (<p>...)+
</

Pseudocode imperatif, menunjukkan masalah berlian dalam bahasa yang mendukung banyak pewarisan:

class A() { readFile(); }
class B() : A {}       // overrides readFile in A
class C() : A {}       // overrides readFile in A
class D() : B, C {}    // what definition of readFile should be used?

Dua contoh di atas jelas menyerupai beberapa (jenis) bahasa, tetapi tidak benar - benar bahasa itu dan tidak mungkin dikompilasi. Mereka lebih menggambarkan sesuatu yang ingin Anda jelaskan.

Abel
sumber
14
Mungkin bermanfaat untuk menambahkan bahwa pseudo-code dapat hidup pada level abstraksi apa pun: Anda bisa mendeskripsikan cara kerja spesifik suatu algoritma dengan cara yang mudah diterjemahkan ke kode non-pseudo nyata, atau Anda bisa memberikan level yang sangat tinggi ikhtisar beberapa pendekatan menggunakan "metode" atau "objek" yang sangat luas. Ini spektrum yang luas.
Joachim Sauer
8

Apa itu Pseudocode? Sebagai contoh, artikel Wikipedia di bawah ini mengatakan "Ini menggunakan konvensi struktural bahasa pemrograman, tetapi dimaksudkan untuk membaca manusia daripada membaca mesin." Apakah ini berarti bahwa itu sebenarnya tidak digunakan untuk membuat program?

Persis seperti itu, kode itu ditulis dalam bentuk yang ramah manusia. Itu tidak dapat digunakan untuk membuat program kerja.

Mengapa itu dibuat / digunakan?

Karena Pseudocode cepat untuk menulis dan cepat dibaca. Karena tidak ada bagian bahasa tertentu yang lebih jelas untuk dibaca. Ini juga bahasa yang independen sehingga siapa pun dapat membacanya (karena alasan itu digunakan dalam banyak buku teks)

Apakah itu dianggap sebagai Bahasa Pemrograman? Lihat kutipan Wikipedia di atas.

Tidak. Bahasa pemrograman membutuhkan lebih dari sekadar struktur. Ini membutuhkan semantik formal, yang tidak dimiliki oleh kodesemu.

Apakah ini dikenal / digunakan?

Iya. Siapa pun di atas tingkat junior harus tahu cara membaca / menulis pseudocode. Sangat penting untuk membaca banyak buku teks dan kode perencanaan dalam sebuah tim.

Tom Squires
sumber
6

Jika Anda telah membaca artikel wiki, maka sebagian besar pertanyaan Anda harus jelas. Saya akan mencoba menjawabnya dengan cara yang lebih sederhana di sini. Lihatlah 2 contoh ini:

Bagian 1 - Contoh

Kode # 1 - Registrasi Pelanggan - Contoh langkah proses:

  1. Pelanggan pergi ke layar registrasi
  2. Pelanggan memasukkan detailnya.
  3. Jika rincian yang dimasukkan benar, simpan informasi pelanggan dalam basis data
  4. Kotak dialog show lain dengan pesan kesalahan 100.

Kode # 2 - Validasi Nama Pelanggan - Contoh fungsi pemrograman

Function ValidateCustomerName(Name1)

If (Name1 is entered and Name2 is entered) then return 1

If (Name1 is not entered) 

   Send Error Message

   return 0

Endif

...

End Function

Bagian 2 - Sekarang untuk pertanyaan Anda

Apa itu Pseudocode?

Ini adalah cara untuk menulis langkah-langkah suatu algoritma atau proses.

Mengapa itu dibuat / digunakan?

Ini digunakan untuk menunjukkan langkah-langkah proses atau algoritma tanpa tergantung pada bahasa pemrograman tertentu atau notasi khusus.

Apakah itu dianggap sebagai Bahasa Pemrograman?

Ini tidak dapat dikompilasi dan ini karena tidak memiliki sintaksis spesifik dan karenanya bukan bahasa pemrograman.

Jika demikian, apakah ini mampu, katakanlah, Python?

Itu dapat dibuat semampu yang Anda inginkan. Anda dapat menulis pernyataan seperti: Jika Usia Berlaku ...

Apakah ini dikenal / digunakan?

Iya. Akan sangat membantu ketika memikirkan algoritma dan analis bisnis untuk memberikan spesifikasi.

Tidak mungkin
sumber
@ Ja, saya menghargai pengeditan.
NoChance
4

Contoh terbaik dari Pseudocode adalah ketika saya berbagi kantor dengan programmer FORTRAN, sementara saya pemrograman di Pascal. Setiap kali kami saling membantu, kami harus menulisnya di Pseudocode. Pada saat itu saya tidak tahu FORTRAN sehingga tidak ada cara bagi saya untuk mendapatkan sintaks yang benar (terutama semua indentasi memerlukan lokasi untuk tanda tertentu). Dia tidak pernah menulis dengan tanda koma. Di papan tulis kami menulis dalam Pseudocode sehingga bisa dipahami, tanpa terjebak pada aturan sintaksis yang kompleks.

Tidak ada konstruksi ketat untuk Pseudocode. Jika penulis tahu bahasa yang menggunakan "{" setelah pernyataan if mereka meletakkannya di papan tulis, jika mereka tahu python mereka tidak. Tujuannya adalah untuk dengan cepat membuat sketsa pendekatan dasar untuk masalah, bukan kode yang benar-benar benar.

Guru dapat menggunakannya untuk memberikan bimbingan kepada siswa, tanpa memberi mereka jawaban yang benar. Setelah Anda tahu lebih dari satu bahasa, Pseudocode harus digunakan secara alami saat membuat sketsa fragmen kode.

mhoran_psprep
sumber
2

Pseudocode bukan bahasa, bukan konvensi. Setiap buku teks atau kertas akan menggunakan pseudocode versinya sendiri. Seperti halnya banyak "bahasa" matematika informal lainnya, dalam kasus terbaik itu akan dijelaskan secara informal dalam makalah itu sendiri, dalam kasus terburuk penulis akan berharap itu menjadi "jelas" cukup.

Logika SK
sumber
Dalam bestest kasus itu sudah cukup jelas untuk tidak memerlukan deskripsi formal atau informal;).
Abel
@ Bel, tidak ada yang namanya formalisme "jelas". Bahkan sesuatu yang "sejelas" seperti aritmatika desimal harus diperkenalkan dengan benar. Kalau tidak, kebingungan tidak dapat dihindari, sayangnya. Saya belum pernah melihat pseudocode yang jelas tanpa setidaknya beberapa pengantar formal terpasang.
SK-logic
Thread ini adalah tentang kodesemu. Formalisme tidak ada hubungannya dengan itu. Tapi komentar saya "pun intended";).
Abel
@ Bel, bahasa abstrak juga formalisme (setidaknya bila digunakan dalam makalah yang kurang lebih ilmiah).
SK-logic
2

Apa itu kode semu?

Kode pseudo pada dasarnya adalah instruksi tertulis tentang apa yang harus dilakukan program untuk menyelesaikan operasi. Kode semu ditulis dalam bahasa Anda. Anda cukup menuliskan langkah-langkah algoritma atau prosedur untuk membuatnya lebih mudah bagi Anda atau orang lain untuk membacanya dan mengubahnya menjadi bahasa pemrograman nyata.

Mengapa itu dibuat / digunakan?

Itu dibuat untuk membantu Anda menentukan langkah-langkah prosedur, proses atau algoritma tanpa menggunakan bahasa pemrograman. Salah satu alternatif yang mungkin adalah dengan menggunakan diagram alur.

Apakah itu dianggap sebagai Bahasa Pemrograman?

Tidak, ini bukan bahasa pemrograman, karena tidak ada aturan formal.

Apakah ini dikenal / digunakan?

Secara pribadi, saya selalu mencoba menggunakan kode pseudo ketika menulis algoritma atau prosedur yang kompleks.

Chris Mylonas
sumber
0

Definisi pseudocode pribadi saya adalah "hal-hal yang saya tulis dalam bahasa Inggris pada selembar kertas ketika mendesain kode"

Sebelum pengkodean dari pseudocode "design", saya akan menambahkan pseudocode saya sebagai komentar. Kemudian bekerja melalui komentar-komentar itu saya dapat menambahkan kode "aktual" yang melakukan tugas yang dijelaskan.

Mungkin ada nama formal, yang saya tidak sadari, untuk metode pengkodean ini, dan saya hanya menggunakannya ketika melakukan sesuatu yang baru / rumit.

AnthonyBlake
sumber
-4

Seperti yang dikatakan dosen pemrograman saya:

Pseudocode adalah versi bahasa Inggris dari bahasa pemrograman apa pun.

CincauHangus
sumber
2
-1 Tidak membantu. Kutipan hanya masuk akal di antara penjelasan pseudocode (tidak ada dalam jawaban ini). Kalau tidak, itu bisa sangat menyesatkan. Seorang pemula bisa bertanya-tanya: yah, metode C # semuanya dalam bahasa Inggris, jadi itu artinya C # yang saya gunakan adalah Pseudocode, kan ...? Apa yang mereka sebut ketika mereka menggunakan C # di Jerman?
doppelgreener