什麼是函數?
 課程目錄
 編輯章節
 EDU-MD
 Google 教室
 加至書籤

這個章節的目標,是讓讀者認識程式的基本概念,章節中的程式,並非任何程式語音的語法。

數學中的函數

函數是台機器

回憶一下我們在數學課中所學過的函數,是用來做什麼的呢?其實函數就像是一台機器,給它一個輸入,它就給你一個輸出。假設有一個函數叫做「 f 」,當你輸入 3,他就輸出 9,那麼我們可以把這式子表示成:

f(3) = 9

其他的函數寫法也是一樣,只要在函數名字後面加上括號,並在括號內輸入想要輸入的值,就可以表達函數了。

函數是個自定義的運算符號

函數就像是一個自定義運算符號,用來計算你希望它計算的值。每一個函數都有自己的定義,例如我將函數「 g 」定義為兩個輸入值「 a 」和「 b 」的相加。這可以表達作:

g(a, b) = a + b

那麼當要使用這個函數時,我們可以寫說 g(4, 7),而這所代表的值是11。另外,在運算時,假設遇到一個題目,我們需要先將函數算出來將,然後就可以算出結果:

3 × g(3, 5)
    = 3 * 8
    = 24

程式中的函數

這個章節的重點,在於帶領讀者理解物件導向的概念,而非介紹單一個程式語法。此章節的程式語法和 JavaScript 等程式語言相近,但並非任何真實程式語言。請專注於章節中的概念部分,而非語法部分。

作為運算符號

程式中也會用到函數,而且用法與數學中的用法極為類似。怎麼說呢?讓我們把上述的函數「g」寫作程式版,將會變成下面這樣:

g(a, b) = a + b;

在使用這個函數時,我們可以直接呼叫它。例如現在要讓電腦印出「a + b」的值,我們就可以說:

print(g(3, 5));

電腦在看到這串看似複雜的程式碼時,會先把括號裡面的 g(3, 5) 算出來。因此實際執行時,電腦執行的程式碼將會是:

print(8);
// a + b = 8

return

在大多數的程式語言中,在定義函數的時候我們會加上一些符號修飾,因此,在告訴電腦函數的定義時,與其說:

g(a, b) = a + b;

我們會說:

function g(a, b){
    return a + b;
}

其中,function即為「函數」的****英文。所以段程式的意思是:

  1. 建立一個函數叫做「g」
  2. 這個函數需要輸入兩個值,分別較「a」跟「b」
  3. 這個函數將會輸出「a + b」所表示的值

return 這個詞,就是在告訴電腦這個函數將輸出什麼。

函數中的程式

函數中的程式可以不只有一行,也就是說我們可以發揮創意,做出很多不同的程式。讓我們先定義一個函數叫做 sayHi,並讓它回傳輸入的值。

function sayHi(time){
    return time;
}

也就是說,執行以下的程式碼,將在螢幕上印出「6」

print(sayHi(6));

接著,讓我們在函數中建立一個迴圈,讓這個函數在螢幕上說「Hi」。

function sayHi(time){
    for(from 1 to time){
        print("Hi");
    }
    return time;
}

如此,當我們輸入「6」,螢幕上將印出 6 個「Hi」;輸入「30」,則自印出 30 個「Hi」。
最後,讓我們看個影片收尾。

method  方法(即函數)
function  函數
infinite  無限non-numerical  輸入的數

 均一平台
 台達磨課師
 酷課雲
 可汗學院
無相關資源
 收起側邊目錄
 
前往目錄頁面