指令式編程(英語: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.