codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  在這節課中,我們會遇到一個新的角色—有趣的山羊。我們將跟隨山羊先生一起學習條件判斷這一重要概念。

學習目標:

  1、學會使用指令控制山羊撞擊,即goat.hit()

  2、學會函數(結冰的)frozen()的使用

 ?。?、理解并熟練使用if判斷

知識講解:

  有時我們希望我們的代碼根據一定的條件來決定做什么(例如,你喜歡打籃球嗎?是的話請舉手。)當我們編寫代碼時,狀態可能不為我們所知,而計算機在執行代碼時必須決定該執行什么操作。今天我們將學習如何根據條件指導計算機決定該做什么。

  當我們有一個以上的香蕉或火柴時,我們已經知道該怎么做了,但是如果我們有兩個香蕉,其中一個是冷凍的,那該怎么辦?

  今天,我們將遇到一個新的角色,它將幫助我們處理冷凍香蕉,我們需要幫助山羊辨認出冰凍的香蕉,然后去撞破冰塊,來幫助小猴吃到它。

實戰闖關:

  第101關:使用goto函數抵達小橋,然后再用goto函數前往香蕉。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  第102關:需要讓山羊goat先撞破冰塊,對象(goat)的hit方法,即:goat.hit(),hit()是一個沒有參數的函數,我們之前用到的grab(),drop()很相似,都屬于沒有參數的方法,它然后小猴前進吃到香蕉。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  第103關:請記得使用 山羊撞擊 goat.hit() 這個指令。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  第104關:還記得我們講過的debug嗎?這一關我們看看給出的代碼,第一行執行hit(),這明顯是錯誤的,因為山羊面對的香蕉沒有被凍住,再撞就把香蕉撞壞了對吧。所以這一步是不需要的,只需要讓山羊轉向右側去撞破冰塊,小猴就可以前進吃到香蕉了。讓我們檢查一下,修改掉錯誤,完成debug挑戰。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  第105關:這一關看起來有點復雜,還記得數組嗎?我們面對復雜的問題首先還是分析一下,理清思路。

  這里有兩個香蕉被凍住,我們可以通過鼠標點擊查看香蕉編號,這樣便可以讓山羊依次走到它們跟前撞破冰塊,接下來小猴就可以去吃掉三個香蕉了,這里是不是要用到for循環,回憶一下,現在思路明確了是不是覺得簡單多了。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  第106關:每次都讓我們去告訴山羊應該去撞哪個香蕉,不該撞哪個。有沒有辦法讓它們自己變得聰明一點,能夠自己去識別,首先看香蕉是不是被凍住,是的話那么山羊就去撞破它,否則小猴就可以去直接吃掉它。

  這一關我們就要用到一個新的方法(結冰的)frozen()這是一個判斷方法,如果是返回“yes”,否則返回”no”。下面我們可以直接用say方法看看frozen()返回的結果吧。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  注意觀察兩次say banana.frozen()顯示的內容,在山羊撞他之前是yes,之后山羊撞破了冰塊,這是說的就是no對吧?此時小猴就可以去吃掉他了。

  第107關:使用if指令來判斷條件是否成立,成立的話(香蕉被凍?。┚蛨绦兴鼉炔康闹噶睿ㄉ窖蜃矒簦?,否則就直接跳過去執行后面的指令(小猴前往香蕉),這里需要注意if判斷內部的指令需要有縮進。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  第108關:繼續練習使用if判斷,首先判斷香蕉是否被凍住,是的話需要讓山羊走到香蕉跟前,然后撞破冰塊,最后小后前往香蕉。

  這里要注意if判斷的內部要執行的是兩個操作哦,因此依舊要注意縮進。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  第109關:現在有四根香蕉,有的被凍住有的沒有,怎么辦呢?那我們還是先寫出思路吧:四根香蕉是一個數組,還是想到for循環,挨個讓小猴去吃,不過在小猴吃之前要判斷香蕉是不是被凍住,是的話讓山羊走到跟前去撞破,然后再去吃。偽代碼就是這樣:

  for循環遍歷數組

    如果香蕉被凍住

     山羊走到香蕉跟前

     山羊撞擊

    小猴前往香蕉

  如果你想明白了就在右側用程序實現吧。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  第110關:這一關與上一關完全一樣,只不過要求我們能夠獨立的寫出所有代碼,試試看。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

  第111關:好久不見我們的烏龜先生了,小猴想要吃掉這些香蕉需要山羊的幫助,也離不開烏龜先生,因為山羊需要烏龜把它運到冰凍的香蕉跟前。

  思路:使用for循環,判斷香蕉是否被凍住,是的話讓山羊撞破,然后小猴前往香蕉,最后別忘了讓烏龜移動一下,這樣才能在下次循環時,保證山羊在香蕉跟前,不然如果香蕉是冰凍狀態,山羊就撞不到了,對吧。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

思考與練習:

  1、我們代碼中表示條件語句的代碼是什么?

          A、until B、for c、if

  2、if語句的語法是什么?

  3、編程中條件語句有什么作用?

  4、完成對應的特技模式,鞏固判斷指令的使用。

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

答案:

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

codemonkey少兒編程【101-111關】邏輯與事件-“如果”雪地

本站內容未經許可,禁止任何網站及個人進行轉載。