偽代碼(Pseudocode)是一種非正式的,類似於英語結構的,用於描述模組結構圖的語言。人們在用不同的程式語言實現同一個算法時意識到,他們的實現(注意:這裡是實現,不是功能)很不同。尤其是對於那些熟練於不同程式語言的程式設計師要理解一個(用其他程式語言編寫的程式的)功能時可能很難,因為程式語言的形式限制了程式設計師對程式關鍵部分的理解。這樣偽代碼就應運而生了。偽代碼提供了更多的設計信息,每一個模組的描述都必須與設計結構圖一起出現。
使用偽代碼的目的是使被描述的算法可以容易地以任何一種程式語言(Pascal,C,Java等)實現。因此,偽代碼必須結構清晰、代碼簡單、可讀性好,並且類似自然語言。 介於自然語言與程式語言之間。以程式語言的書寫形式指明算法職能。使用偽代碼, 不用拘泥於具體實現。相比程式語言(例如Java, C++,C, Dephi 等等)它更類似自然語言。它是半角式化、不標準的語言。可以將整個算法運行過程的結構用接近自然語言的形式(可以使用任何一種你熟悉的文字,關鍵是把程式的意思表達出來)描述出來。
基本介紹
- 中文名:偽代碼
- 外文名:Pseudocode
- 屬性:算法描述語言
- 特點:結構清晰、代碼簡單、可讀性好
- 語法規則:每一條指令占一行,else if例外
套用領域
語法規則
實例
Begin(算法開始)
輸入 A,B,C
IF A>B 則 A→Max
否則 B→Max
IF C>Max 則 C→Max
Print Max
End (算法結束)
if 九點以前 then
do 私人事務;
if 9點到18點 then
工作;
else
下班;
end if
line 1
line 2
sub line 1
sub line 2
sub sub line 1
sub sub line 2
sub line 3
line 3
line 1
line 2
begin
sub line 1
sub line 2
begin
sub sub line 1
sub sub line 2
end;
sub line 3
end;
line 3
line 1;
line 2;
{
sub line 1;
sub line 2;
{
sub sub line 1;
sub sub line 2;
}
sub line 3;
}
line 3;
⒈ line 1
⒉ line 2
a. sub line 1
b. sub line 2
⒈ sub sub line 1
⒉ sub sub line 2
c. sub line 3
⒊ line 3
x←y
x←20*(y+1)
x←y←30
x := y;
x := 20*(y+1);
x := 30; y := 30;
x = y;
x = 20*(y+1);
x = y = 30;
if (Condition1)
then [ Block 1 ]
else if (Condition2)
then [ Block 2 ]
else [ Block 3 ]
⒈ x ← 0
⒉ y ← 0
⒊ z ← 0
⒋ while x < N
⒈ do x ← x + 1
⒉ y ← x + y
⒊ for t ← 0 to 10
⒈ do z ← (z + x * y) / 100
⒉ repeat
⒈ y ← y + 1
⒉ z ← z - y
⒊ until z < 0
⒋ z ← x * y
⒌ y ← y / 2
上述語句用Pascal來描述是:
x := 0;
y := 0;
z := 0;
while x < N do
begin
x := x + 1;
y := x + y;
for t := 0 to 10 do
begin
z := (z + x * y) / 100;
repeat
y := y + 1;
z := z - y;
until z < 0;
end;
z := x * y;
end;
y := y / 2;
上述語句用C或C++來描述是:
x = y = z = 0;
while(z < N)
{
x ++;
y += x;
for(t = 0; t < 10; t++)
{
z = (z + x * y) / 100;
do {
y ++;
z -= y;
} while(z >= 0);
}
z = x * y;
}
y /= 2