結構化程式定理

結構化程式定理係喺 1966 年出嘅一條定理，革新咗程式編寫呢個領域。根據呢條定理，是但搵個用咗 goto 嘅程式，呢個程式都可以轉化做一個冇任何 goto 喺入面、而且功能上完全一樣嘅程式，後者當中衹係需要有條件運算式同迴圈。打後仲有學者指出，查實就連條件運算式都唔係必要嘅。呢條定理表示咗，任何一個有 goto 嘅程式都可以變做冇 goto 而唔喪失功能－為結構化編程奠咗基。

結構化程式定理一個簡化版嘅證明如下：想像有一段用咗若干個 goto 嘅碼，而佢啲 goto 冚唪唥都指咗向正確位置。當  做第  句陳述式，整一個變數  代表現時位置，將成段碼搵個 while 迴圈包住：

while l <= M // 當中 M 係段碼裏面嘅陳述式數量
    do 個程式

然後再跟以下規則改寫段碼：
將所有「 goto 」改做「if (l = i) then l ← j」；
將所有「if (cond) then goto 」改做「if ((l == i) AND (cond == true)) then l ← j else l ← l + 1」；
將所有改做「if (l == i) then do , l ← l + 1」；

做咗呢三個步驟之後，得出嗰段碼喺功能上會同原本嗰段一樣，但冇嗮啲 goto －變咗一段更加易用又不失原有功能嘅源碼。

結構化編程

攷 

編程