虛擬碼(英語:pseudocode),又稱為偽代碼,是一種高層次描述演算法的方法。它不是現實存在的程式語言(已經出現了類似虛擬碼的語言,參見Nuva);它可能綜合使用多種程式語言的語法、保留字,甚至會用到自然語言

它以程式語言的書寫形式指明演算法的職能。相比於程式語言(例如Java、C++、C、Delphi 等等)它更類似自然語言。它是半形式化、不標準的語言。我們可以將整個演算法執行過程的結構用接近自然語言的形式(這裡可以使用任何一種作者熟悉的文字,例如中文、英文,重點是將程式的意思表達出來)描述出來。使用虛擬碼,可以幫助我們更好地表述演算法,不用拘泥於具體的實現

人們在用不同的程式語言實現同一個演算法時意識到,他們做出來的實現(而非功能)很不同。程式設計師要理解一個用他們並不熟悉的程式語言編寫的程式,可能是很困難的,因為程式語言的形式限制了程式設計師對程式關鍵部分的理解,而虛擬碼可以用於幫助人們理解解釋代碼的語法、規則、內涵和結構。於是虛擬碼就這樣應運而生了。

當考慮演算法功能(而不是其語言實現)時,虛擬碼常常得到應用。電腦科學在教學中通常使用虛擬碼,以幫助學習者能夠快速並透徹地理解。

常見數學符號

操作類型 符號 範例
分配 ← or := c ← 2πr, c := 2πr
比較 =, ≠, <, >, ≤, ≥
算術 +, −, ×, /, mod
上界/下界 ⌊, ⌋, ⌈, ⌉ a ← ⌊b⌋ + ⌈c
邏輯 and, or
總和、乘積 ∑ ∏ h ← ∑aA 1/a

參見