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


數學中的函數




函數是台機器


回憶一下我們在數學課中所學過的函數,是用來做什麼的呢?其實函數就像是一台機器,給它一個輸入,它就給你一個輸出。假設有一個函數叫做「 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  輸入的數
上一章節
下一章節
使用者分享的影片來自 YouTube。瞭解更多
+1 
感謝內容貢獻者 此篇文章由 1 位使用者共同編輯而成,並且由學呀的編輯團隊負責維護。點此查看編輯者名單。