CodeMonkey少兒程式設計第7章 函式

icuic發表於2021-03-14

目標

  • 瞭解函式是什麼
  • 掌握如何定義一個函式

函式是什麼

本章我們學習一個新的概念————函式。

你可以簡單的將函式看作為一個黑匣子,給它輸入引數後,它將會按照一定的規則,執行相應的指令或輸出資料。

讓我們用生活中的一個小物件來理解什麼是函式。

假設你家有一臺榨汁機,通過它,就能榨出鮮美可口的果汁。而具體榨出來的是什麼果汁呢?那就要看你放進榨汁機的是什麼水果啦。

而對於函式,你完全可以將它想象成是一臺榨汁機。你只需要給定不同的輸入引數(不同的水果),它就會有不同的輸出(不同的果汁)。

如何定義一個函式

下圖為本章中被經常使用的goto函式的定義。

function

以上的三行程式碼定義了一個名為goto的函式,其中輸入引數為a。

接下來的兩行則是此函式的函式體。

根據上面的例子,我們可以得到如下的定義一個函式的通用格式。

function

如何呼叫一個函式

所謂呼叫函式,其實就是指使用函式。

對於上面定義的goto函式,我們可以這樣呼叫它。

call_goto

上面小括號中的bridgh和match是輸入引數。

由此,我們可以得到呼叫函式的格式為:

call_function

函式呼叫時發生了什麼

通過下面這個例子,我們來看一下,在函式呼叫時,到底發生了什麼?

details_goto

當執行goto(bridge)這一行語句時,首先會將bridge賦值給a,即令a=bridge。注意,這是一個關鍵點。由於這個賦值過程並沒有顯式的表現出來,如果不知道這個賦值,可能會對函式的理解造成一些困難。

那麼,在接下來的函式體內,我們可以認為所有的a都被先後替換成了bridge和match。
所以,goto(bridge)和goto(match)實際上等同於以下的程式碼:

details_goto

為什麼要引入函式的概念

好了,以上就是關於函式的所有內容了。

在學習了函式的概念以及用法之後,我們最後再來思考一個問題:為什麼要使用函式,使用函式有什麼好處?

其實不難看出,人們是為了偷懶才引入函式的,哈哈。因為使用函式,我們可以少寫很多重複的程式碼,減少工作量。

作業

  • 故事模式76 - 90關
  • 進階模式7-1 - 7-15關

    注意,一定保證要所有關卡都拿到三顆星。

小結

  • 函式封裝了一段程式碼,呼叫函式即可執行這段程式碼。
  • 輸入不同的引數,函式即可執行不同的動作。

問答

  • CodeMonkey學到現在,感覺越來越難,不想學了怎麼辦?
    難者不會,會者不難。如果你感覺到越學越困難,那就說明之前的知識點,你掌握得還不夠好。所以,請回過頭去複習一下之前的內容,切勿一心想著通關。
    堅持就是勝利。

相關文章