機
器
人
這個章節的目標,是讓讀者認識程式的基本概念,章節中的程式,並非任何程式語音的語法。
數學中的函數
函數是台機器
回憶一下我們在數學課中所學過的函數,是用來做什麼的呢?其實函數就像是一台機器,給它一個輸入,它就給你一個輸出。假設有一個函數叫做「 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即為「函數」的****英文。所以段程式的意思是:
- 建立一個函數叫做「g」
- 這個函數需要輸入兩個值,分別較「a」跟「b」
- 這個函數將會輸出「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 輸入的數