CodeMonkey少兒編程第7章 函數
- 2021 年 3 月 14 日
- 筆記
- CodeMonkey
目標
- 了解函數是什麼
- 掌握如何定義一個函數
函數是什麼
本章我們學習一個新的概念————函數。
你可以簡單的將函數看作為一個黑匣子,給它輸入參數後,它將會按照一定的規則,執行相應的指令或輸出數據。
讓我們用生活中的一個小物件來理解什麼是函數。
假設你家有一台榨汁機,通過它,就能榨出鮮美可口的果汁。而具體榨出來的是什麼果汁呢?那就要看你放進榨汁機的是什麼水果啦。
而對於函數,你完全可以將它想像成是一台榨汁機。你只需要給定不同的輸入參數(不同的水果),它就會有不同的輸出(不同的果汁)。
如何定義一個函數
下圖為本章中被經常使用的goto函數的定義。
以上的三行程式碼定義了一個名為goto的函數,其中輸入參數為a。
接下來的兩行則是此函數的函數體。
根據上面的例子,我們可以得到如下的定義一個函數的通用格式。
如何調用一個函數
所謂調用函數,其實就是指使用函數。
對於上面定義的goto函數,我們可以這樣調用它。
上面小括弧中的bridgh和match是輸入參數。
由此,我們可以得到調用函數的格式為:
函數調用時發生了什麼
通過下面這個例子,我們來看一下,在函數調用時,到底發生了什麼?
當執行goto(bridge)這一行語句時,首先會將bridge賦值給a,即令a=bridge。注意,這是一個關鍵點。由於這個賦值過程並沒有顯式的表現出來,如果不知道這個賦值,可能會對函數的理解造成一些困難。
那麼,在接下來的函數體內,我們可以認為所有的a都被先後替換成了bridge和match。
所以,goto(bridge)和goto(match)實際上等同於以下的程式碼:
為什麼要引入函數的概念
好了,以上就是關於函數的所有內容了。
在學習了函數的概念以及用法之後,我們最後再來思考一個問題:為什麼要使用函數,使用函數有什麼好處?
其實不難看出,人們是為了偷懶才引入函數的,哈哈。因為使用函數,我們可以少寫很多重複的程式碼,減少工作量。
作業
- 故事模式76 – 90關
- 進階模式7-1 – 7-15關
注意,一定保證要所有關卡都拿到三顆星。
小結
- 函數封裝了一段程式碼,調用函數即可執行這段程式碼。
- 輸入不同的參數,函數即可執行不同的動作。
問答
- CodeMonkey學到現在,感覺越來越難,不想學了怎麼辦?
難者不會,會者不難。如果你感覺到越學越困難,那就說明之前的知識點,你掌握得還不夠好。所以,請回過頭去複習一下之前的內容,切勿一心想著通關。
堅持就是勝利。