偽碼

偽碼即PDL,這是一個籠統的名稱,它是用正文形式表示數據和處理過程的設計工具。 一般說來PDL是一種“混雜”語言,它使用一種語言(通常是某種自然語言)的辭彙,同時卻使用另一種語言(某種結構化的程式設計語言)的語法。

偽碼即PDL,這是一個籠統的名稱,它是用正文形式表示數據和處理過程的設計工具。一般說來PDL是一種“混雜”語言,它使用一種語言(通常是某種自然語言)的辭彙,同時卻使用另一種語言(某種結構化的程式設計語言)的語法。
偽碼特點

1.關鍵字的固定語法,它提供了結構化控制結構、數據說明和模組化的特點。為了使結構清晰和可讀性好,通常在所有可能嵌套使用的控制結構的頭和尾都有關鍵字。
2.自然語言的自由語法,它描述處理特點。
3.數據說明的手段。應該既包括簡單的數據結構,又包括複雜的數據結構。
4.模組定義和調用的技術,應該提供各種接口描述模式。

偽碼結構
用PDL表示的程式結構一般有下列幾種結構:
1) 順序結構
採用自然語言描述順序結構:
處理S1
處理S2

處理Sn
2) 選擇結構
(1) IF-結構:
IF 條件 IF 條件
處理S1 或 處理S
ELSE endif
處理S2
ENDIF
(2) IF-ORIF-ELSE結構:
IF 條件1
處理S1
ORIF 條件2
 …
ELSE 處理Sn
ENDIF
(3) CASE結構:
CASE OF
CASE(1)
處理S1
CASE(2)
處理S2
 …
ELSE 處理Sn
ENDCASE
3) 重複結構
(1) FOR 結構:
FOR i=1 TO n
循環體
END FOR
(2) WHILE 結構:
WHILE 條件
循環體
ENDWHILE
(3) UNTIL 結構:
REPEAT
循環體
UNTIL 條件
4) 出口結構
(1) ESCAPE 結構(退出本層結構):
WHILE 條件
處理S1
ESCAPE L IF 條件
處理S2
ENDWHILE
L: …
(2) CYCLE結構(循環內部進入循環的下一次):
L: WHILE 條件
處理S1
CYCLE L IF 條件
處理S2
ENDWHILE
5) 擴充結構
(1) 模組定義:
PROCEDURE 模組名(參數)

RETURN
END
(2) 模組調用:
CALL 模組名(參數)
(3) 數據定義:
DECLARE 屬性 變數名, …
屬性有: 字元、 整型、 實型、 雙精度、 指針、 數組及結構等類型。
(4) 輸入/輸出:
GET(輸入變數表)
PUT(輸出變數表)
偽碼示例
現以××系統主控模組詳細設計為例, 說明如何用PDL來描述。
PROCEDURE模組名( )
清屏;
顯示××系統用戶界面;
PUT(“請輸入用戶口令:”);
GET(password);
IF password<>系統口令
提示警告信息;
退出運行
ENDIF
顯示本系統主選單;
WHILE(true)
接收用戶選擇ABC;
IF ABC=“退出”
Break;
ENDIF
調用相應下層模組完成用戶選擇功能;
ENDWHILE;
清屏;
RETURN
END
從示例可以看到PDL的總體結構與一般程式完全相同。 外語法同相應程式語言一致,內語法使用自然語言,易編寫, 易理解,也很容易轉換成源程式。除此以外,還有以下優點:
(1) 提供的機制較圖形全面, 為保證詳細設計與編碼的質量創造了有利條件。
(2) 可作為注釋嵌入在源程式中一起作為程式的文檔,並可同高級程式設計語言一樣進行編輯、修改,有利於軟體的維護。
(3) 可自動生成程式代碼,提高軟體生產率。目前已有PDL多種版本(如PDL/pascal, PDL/C, PDL/Ada等),為自動生成相應代碼提供了便利條件。

相關詞條

相關搜尋

熱門詞條

聯絡我們