這篇我們來探討編程裡很重要的一個結構:循環結構。我之前的文章《少兒編程:程序的順訊結構、分支結構和循環結構》裡介紹過循環結構,循環結構就是重複做一件事情,比如說小朋友每天早上都要去上學,我們每天都要吃早、中、晚三頓飯等等。
循環結構
像這種重複要做的指令,我們編程時沒有必要做幾遍就寫幾遍,這樣會讓代碼變的特別特別長,可讀性也不高。所以任何一種程式語言都提供了循環模塊來重複執行代碼。Scratch也一樣,也提供了循環積木塊(圖1),來重複執行同樣的動作。循環積木塊在「控制」類別中。
循環積木塊可以不設置循環次數,也就是無限循環循環積木塊也可以規定循環的次數,即有限循環。Scratch默認是10次,小朋友們可以根據需要自己修改;重複執行的動作嵌在循環木塊裡就可以了。;循環積木塊裡可以再套循環積木塊。【練習】
使用循環積木塊修改河豚魚轉圈的代碼。
1)分析任務要求
任務內容:河豚魚通過4次調整角度完成轉一圈這個任務
使用的主要技能:使用循環積木塊(圖2),設置重複執行次數為4
2)設計程序流程
第一步:河豚魚離開朋友
第二步:河豚魚向右轉90度
第三步:河豚魚再向下轉90度
第四步:河豚魚再向左轉90度
第五步:河豚魚再向上轉90度
3)Scratch編程實現
第一步:打開文件
打開《Scratch編程5:Scratch角色怎麼變化方向》文章裡練習的程序。
第二步:編程實現
注意:如果河豚魚不是當前操作角色,即如果角色區的河豚魚沒有藍框,就點擊角色區中的河豚魚,將河豚魚置為當前操作角色。或者在代碼去右上角,如果有河豚魚的圖片,那也說明河豚魚為當前操作對象,如圖3。
圖4是之前未用循環體寫的代碼,我們將紅框內的代碼刪掉,改成圖5紅框內的代碼。
圖5使用了循環積木塊,由於河豚魚調整了4次方向,所以「重複執行」設置為4次。循環積木塊裡是需要重複執行4次的動作:等待0.5秒,和向右轉90度。
4)保存程序
最後,代碼寫好了,大家千萬不要忘記保存程序。
注意:這裡我要提一下,筆者小孩在做調整角度的練習時,第一次把角度設成360度。他想的是轉360度,正好一圈。但實際運行發覺河豚魚沒轉圈,其實河豚魚不是沒轉,而是太快,我們感覺不到。然後我告訴他把360度分解,多轉幾次就可以了。
好了,這次的練習就到這了。改成循環結構後,點擊運行圖標,河豚魚完成的動作和未用循環體是一樣的(圖6)。
可以發現,使用循環積木塊後,代碼不僅變少了,邏輯也清晰了,而完成的任務卻是一樣的。循環控制結構是編程中非常重要,也是非常常用的一種結構。小朋友們後面會經常用到的。
下一篇我將會和大家探討Scratch的角色如何說話。
原創不易,請勿抄襲。歡迎大家和我多交流,謝謝。