官术网_书友最值得收藏!

一、知識點

(一)什么是循環?

現在我來介紹循環。循環就是把一個或者幾個動作重復做很多次。比如我們想讓小貓排成一行,每隔80步留個影(見圖4-1)。

057-1

圖4-1 小貓每隔80步留個影(左)、不用循環的腳本(中)、用到循環的腳本(右)

這個功能可以這樣實現:留幾個影就寫幾遍(見圖4-1中間部分)。不過這樣寫太麻煩了。這里小貓只移動了4次,留了4個影子,用了8個積木塊;要是走上10 000步,那得用多少積木塊啊?這個程序編寫起來可要等到猴年馬月啊!

這時“重復執行”積木就能幫上忙了,我們用“重復執行4次”積木塊,能夠達到同樣的效果(見圖4-1中右側圖)。

在程序里的“重復執行”指的就是循環。你看這樣簡單吧!

(二)“重復執行”積木的種類

重復執行有三種類型:

第一種就是“重復執行”,不指定循環次數,因此會永遠執行下去(也可以加上一些語句,以終止循環)。比如小貓將造型1換成造型2,走幾步,然后再換回造型1走幾步。這樣不斷重復,那么播放這段代碼,就會看到一個小貓走路的動畫(見圖4-2)。

第二種是“重復執行……次”,事先指定重復次數。這種執行方式我們一開始就用過了,這里就不多介紹了。

第三種是“重復執行直到……”,也就是循環執行,直到滿足事先指定的結束條件為止。有時候我們事先無法知道到底重復了多少次,這時候就需要用“重復執行直到……”類型了。比如我們可以讓小貓不斷地走,但是如果你用鼠標擋住它,它就停下了(見圖4-2)。老師提醒我們,如果結束條件一開始就滿足,那么循環體里的動作一次都不會執行。

058-1

圖4-2 實現小貓走路的程序:永不終止版本(左)和碰到鼠標指針就終止的版本(右)

講到這里,如果你很細心的話,會發現“重復執行……次”和“重復執行直到……”兩個積木塊的空格有點不一樣:一個是圓形的,一個是六邊形的。原來圓形空和六邊形空處都要填一個參數。不過圓形空里面只能填寫一個整數,叫“數字類型參數”;六邊形空里要填一個條件,叫“布爾類型參數”。

“數字類型參數”就是指它的值是數字,這很好理解。“布爾類型參數”也就是真和假,判斷符不符合條件。那為什么叫“布爾”,不叫“真假”或“T/F(True/False)”呢?因為這是一個叫布爾的人提出的,所以就命名為“布爾類型參數”。

(三)循環的嵌套

下面我們來講循環嵌套。循環嵌套就是循環里面還有循環。比如圖4-3是一個大循環套中循環,中循環又套小循環。你猜小貓會叫幾次?

059-1

圖4-3 循環的嵌套

有人會說:“這很簡單,10+10+10=30(次)。”哦!這當然不對了!想想看,你走10步,讓小貓在你每走一步后就對著你叫10聲,那小貓共叫了多少聲?

這道簡單的數學題你肯定會做:10×10=100(聲)啊!

循環的嵌套也是一樣的道理。上面的那個循環嵌套了3次,那小貓就要重復叫10×10×10=1000(聲)?

(四)寫循環的小秘訣

寫循環時要自問3個問題:

第1問:循環開始時變量有初始值嗎?

第2問:循環結束時變量有終止值嗎?

第3問:循環里,變量的值是怎樣變化的?

只要在心里時刻去想這3個問題,這樣做循環就不容易出錯了。

主站蜘蛛池模板: 宜宾县| 丹江口市| 桂平市| 思茅市| 清新县| 武功县| 德阳市| 鹿泉市| 合川市| 聂荣县| 商丘市| 临夏市| 临猗县| 蓝田县| 扎鲁特旗| 神木县| 谢通门县| 鄯善县| 闽清县| 娄烦县| 浦东新区| 庆安县| 岚皋县| 崇仁县| 嘉峪关市| 基隆市| 阳东县| 杭州市| 溧水县| 汕尾市| 分宜县| 项城市| 济宁市| 交城县| 德格县| 潮州市| 德阳市| 增城市| 日照市| 阳信县| 汝南县|