控制表
維基百科,自由的 encyclopedia
控制表是一個決定控制流程或是主要影響控制流程的表。關於控制表的結構或內容沒有硬性的規定,其特點是其可以影響控制流程的能力。這類表格的設計有時稱為「表格驅動設計」[1][2](不過後者多半是指由外部的表格自動生成程式碼,而不是在程式中的表格)。以有限狀態機為基礎的自动机编程有時會用控制表為其實現方式。若控制表有幾個不同的層次,其行為就類似UML狀態機(英语:UML state machine)。
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Control_table.png/220px-Control_table.png)
控制表有時會以關聯表(英语:association list)的方式表示,其中會有對應的條件表示式及子程序。控制表可以簡化一些類似的程式敘述,而且若是二維的控制表,在閱讀及更新上都比一維特性的程式碼要容易維護,有時控制表甚至可以讓非程式設計師來維護。電腦科學家高德納在1974年提出的論文《Structured Programming with go to Statements》中就提到「多路分支是一種重要的程式設計技術,但常常被一些數量不足的if指令取代」[3]。