Meskipun pseudo-code tampaknya lebih dekat dengan kode daripada algoritma, dalam praktiknya, kode pseudo kurang formal dan itu adalah deskripsi tingkat yang lebih tinggi. Misalnya, Anda dapat menggambarkan komputer bermain catur sebagai kode pseudo seperti ini:
- letakkan potongan awal di lokasi mereka
- papan pamer
- sementara game belum berakhir
- bergerak dan papan display
- meminta pengguna untuk pindah
- membuat pengguna bergerak
Ya, ini pseudocode, akan membantu sebagai titik awal yang baik tetapi membahas banyak detail. Itu tidak memperhitungkan kesulitan implementasi dan variasi, tetapi manfaat terbesar adalah memungkinkan Anda untuk membuat konsep seluruh situasi tanpa harus menyelesaikan semua detail.
Anda dapat merevisinya, menambahkan satu tingkat lagi seperti:
- letakkan potongan awal di lokasi mereka
- papan pamer
- sementara papan tidak skakmat atau menggambar
- membuat daftar langkah hukum putih
- pilih yang terbaik sesuai dengan beberapa kriteria
- buat itu bergerak dan hitung papan yang dihasilkan
- lihat apakah skakmat atau draw telah terjadi
- papan display
- membuat daftar langkah hukum hitam
- meminta pengguna untuk langkah hukum untuk input
- buat itu bergerak dan hitung papan yang dihasilkan
- lihat apakah skakmat atau draw telah terjadi
- papan display
Sekarang Anda dapat menulis kodesemu untuk setiap langkah utama seperti "buat daftar langkah hukum orang hitam", seperti:
- untuk setiap bagian hitam
- untuk jenis potongan di lokasi tertentu
- membuat daftar lokasi yang memungkinkan berikutnya
Sekarang Anda dapat melihat kekuatan kodesemu benar-benar dalam kemampuannya untuk menunjukkan seluruh situasi dalam sekali jalan dan kemudian memungkinkan Anda untuk membahas perincian sepotong demi sepotong. Kelemahannya adalah bahwa setiap langkah bukanlah langkah sederhana yang pasti.
Algoritma biasanya mengambil salah satu dari langkah-langkah ini dan merinci berbagai struktur data dalam bahasa simbolis sehingga Anda dapat secara efisien memenuhi tujuan langkah tersebut.
Misalnya, get_legal_moves(board, color)
layak untuk desain algoritma:
get_legal_moves(board, color):
for i,j in board_dimensions
if piece_at i,j is of color
if piece type is KNIGHT
add the following to the next moves list:
location i+1 j+2, i-1 j+2... etc
if piece type is rook
add locations:....
Anda dapat melihat bahwa algoritme harus sangat tepat agar bermanfaat.
Ini memastikan beberapa hal: bahwa tujuan akan tercapai tanpa kesalahan, pertama dan terutama. Langkah-langkahnya sangat rinci dan dapat dieksekusi dengan cara mekanis dan langkah-langkahnya cukup kecil sehingga Anda dapat menyusun ulang langkah-langkah tersebut untuk meningkatkan efisiensi (kecepatan) yang digunakan untuk menyelesaikan tugas.