下載/瀏覽

Download Report

Transcript 下載/瀏覽

計算機概論- CH6 程式語言
程序式單元-1
程 序

程序(procedure)一般是指為執行可被其他
程式單元用作抽象化工具的工作之一組指令。
當其服務被需求時,控制權便轉移給該程序,
當程序執行完畢,控制權便還給原來的程式單
元如圖(6.8) 。這個轉換控制給程式的過程稱
為呼叫(calling 或 invoking)。請求執行程序的
程式單元稱為呼叫單元(calling unit)
程 序


程序通常被撰寫成個別的程式單元。每
個單元由一個名為程序頭部(procedure’s
header)開始,可作為此程序的名稱。後
面的,則是定義該程序細節的各個陳述
在程序內部所定義的變數是區域變數
(local variable),只能在該程序內使用
程 序

程式中能被某個變數參用到的部份稱為
該變數的範疇(scope),一個區域變數的
範疇就是它被宣告的程序。凡是範疇不
限於程式某一特殊部份的變數,因為可
以在程式中隨處取用,因此稱為廣域變
數(global variable)
參 數

一般會用一些通用的項目來撰寫程序,
而在應用時再依特殊狀況來改變它們,
在程序的頭部,利用括弧把這些通用的
項目標示出來,在圖 5.11 中的程序一開
頭就是:
procedure Sort(List)
參 數


程序中這些通用的項目稱為參數(parameter)
在撰寫程序時所用的項目被稱為形式參數
(formal parameter),在程序被應用時,指定
給這些形式參數的確實意義,則稱為實際參數
(actual parameter)
參 數

實際參數與形式參數之間轉移資料的工
作,在某些語言會產生實際參數所表示
的資料的複本,再交給程序。


使用這種方式,程序對資料所做的各種改變只會反
映在複本上,而在呼叫端的程序單元中的資料決不
會改變,稱這種參數是傳值(passed by value)的
方式
傳值方式不適合傳送大量資料。另一個較有效率的
方法是將實際參數資料的所在位址直接交給副程式,
使它能直接取用。稱這種方式為傳址(passed by
reference) 。這種方式傳址可以直接改變呼叫端的
資料內容