21-30基礎知識-循環王國
學習目標:
理解程序中循環的作用,能夠靈活運用,這一部分知識很重要,需要真正理解,它對你后面的學習起到很大的幫助作用。
指令:
Times Loop :循環,一個簡單的循環是重復指定次數的指令序列,例如:
在這個例子中,猴子將重復“前進5,左轉”3次,循環中的指令序列前面應該有一個縮進(在codemonkey中顯示為....),如果你接觸過scratch,如下圖,二者是完全一樣的。
為什么要用循環?編程不僅僅是以正確的順序編寫正確的語句;它也是關于如何編寫明確,簡短和可維護的代碼。例如
step 10
turn left
step 10
turn left
step 10
turn left
step 10
turn left
我們完全可以這樣寫:
4.times->
step 10
turn left
闖關講解:
第二十一關:小猴要吃到所有的香蕉需要左轉,前進;再左轉,前進;再左轉,前進;如下圖所示。我們可以看到左轉和前進兩個動作連續重復的執行了三次。
根據loop循環的概念,簡化的代碼如下:
3.times ->
turn left
step 15
第二十二關:你寫在指令 .times -> 前面的數目字就是這段代碼會重復執行的次數。那么你看看要重復多少次呢?記住這個語法規則,過關其實很簡單了。
第二十三關:循環中要執行的代碼前面需要有縮進,縮進通過按鍵盤上的 tab 鍵來標記。同樣這也是loop循環的重要語法,如果沒有縮進就會出錯的,小朋友要記住這個規則。
本關重復執行5次,先轉動,再前進,轉動和前進都要在循環里即可過關。
第二十四關:綜合練習,寫一個完整的loop循環,注意有提示,根據提示點擊times會自動生成代碼。我們根據下圖,看看需要重復執行的次數和每次循環要執行哪些操作,這樣我們的代碼就很容易寫出來了。
注:(圖中短箭頭表示右轉)上圖中最后一次右轉不是必須的,加上后就可以通過三次循環過關了。
本關也可以循環2次,最后再前進,這樣代碼就沒有3次循環來的簡潔,如下圖所示:
但它會提示你試著用三行代碼來完成,這樣過關只有2顆星。
第二十五關:修改程序錯誤,那么首先看到這么復雜的一個圖,我們需要做的就是畫出小猴的行動線路,然后找到規律,也就是重復的部分,這樣就很容易過關了,如下圖所示:
是不是很容易從路線中找到重復的部分,我們用藍色標記出來了,重復的次數是4,每次循環包括的動作有,左轉;前進;右轉;前進。對照代碼進行修改即可順利通關。
第二十六關:提示,這一關只要對代碼稍作修改即可過關。
這一關我們換種思維,先看代碼,你能否通過之前的學習,讀懂這段代碼?重復執行三次,每次前進10,右轉。我們按照這個指令在左側對著圖看看,發現沒有問題,烏龜能夠到達每一個香蕉處,那么錯在哪?如果你沒看出來,可以先運行一下,看看效果與我們想象的差別在哪?!芭?!怎么把猴子丟下了”,怎么改?當然是要讓猴子先到烏龜背上,再出發。
注意,小猴到烏龜背上是不在循環內的,因此只需要在第一行添加代碼:step 4
第二十七關:要求用四次循環完成,那么我們看圖找規律。(注:短箭頭表示右轉)
有了這樣的分解,是不是簡單多了,我就不用再一一說怎么操作了吧,相信你們。
第二十八關:提示“刪掉循環后那一行的(....) , 就可以在循環后面加一段新的代碼哦 !” 先看圖。
已給代碼,可以通過10次重復執行吃到前10個香蕉,由于最后一個香蕉位置特殊,因此要在循環結束后單獨通過指令讓小猴到達。這個知識我不小心在前面的關卡(24關)中介紹了,注意前面圖中標注的語法格式。怎么做,參見前面24關2顆星通關代碼。
第二十九關:修改錯誤,找到2處錯誤代碼修改,這一關與第二十六關很接近,我們同樣采用26關的方式,先閱讀代碼(*鍛煉代碼閱讀理解能力,考察對代碼的理解程度),執行看看,進行驗證。再做修改,進行驗證,直到過關。
運行,烏龜小猴配合默契,代碼沒有錯,帶著小猴去吃香蕉了,運行發現水里有三個香蕉,重復執行了兩次,還有小島上的香蕉不能用重復執行去吃掉,那么就需要單獨在循環外寫指令控制小猴吃掉。
因此修改1:重復執行修改為3次,運行看看如圖
修改2:最后一步操讓小猴前進
第三十關:(綜合關卡)對于沒有任何代碼的關卡,理清思路是重點,我們根據圖,規規劃出線路圖,這里我們可能不止一種解決辦法,例如:
方法一、(代碼簡潔,三顆星)
方法二、(代碼會多一行,2顆星)
課后練習:完成循環王國對應的特技關卡,鞏固理解循環這一重要知識點。
第三十關答案:
本站內容未經許可,禁止任何網站及個人進行轉載。