Remove ads

指令式程式設計(英語:Imperative programming);是一種描述電腦所需作出的行為的程式設計範式。幾乎所有電腦的硬體都是指令式工作;幾乎所有電腦的硬體都是能執行機器語言,而機器碼是使用指令式的風格來寫的。較高階的指令式程式語言使用變數和更複雜的語句,但仍依從相同的典範。菜譜和行動清單,雖非電腦程式,但與指令式程式設計有相似的風格:每步都是指令。因為指令式程式設計的基礎觀念,不但概念上比較熟悉,而且較容易具體表現於硬體,所以大部分的程式語言都是指令式的。

原理和基礎

很多指令式程式語言(比如 FortranBASICC)是組合語言抽象化[1]

大部分的高階語言都支援四種基本的語句:

  1. 運算語句一般來說都表現了在記憶體內的資料進行運算的行為,然後將結果存入記憶體中以便日後使用。高階指令式程式語言更能處理複雜的表達式,可能會產生四則運算和函式計算的結合。
  2. 迴圈語句容許一些語句反覆執行數次。迴圈可依據一個預設的數目來決定執行這些語句的次數;或反覆執行它們,直至某些條件改變。
  3. 條件分支語句容許僅當某些條件成立時才執行某個區塊。否則,這個區塊中的語句會略去,然後按區塊後的語句繼續執行。
  4. 無條件分支語句容許執行順序轉移到程式的其他部分之中。包括跳躍(在很多語言中稱為 Goto)、副程式和 Procedure 等。

迴圈、條件分支和無條件分支都是控制流程

歷史

早期的指令式程式語言都是電腦本身的機械語言。在這些語言中,指示非常簡單,令硬體的執行更容易,卻阻礙了複雜程式的設計。1954年開始開發的 Fortran,是首個在複雜程式的設計中除掉機器碼的程式語言。它是編譯型的程式語言,容許命名變數、複雜的表達式、副程式和其他功能,這些功能現在在指令式語言中都非常普遍。後來的二十年中,可以看到大量的其他高階指令式程式語言出現。在1980年代後,物件導向程式設計有迅速的發展;這些物件導向程式語言均有著指令式的風格,但增添了支援物件的功能。

參見

參照

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.

Remove ads