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

一、知識點

(一)什么是循環?

現在我來介紹循環。循環就是把一個或者幾個動作重復做很多次。比如我們想讓小貓排成一行,每隔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個問題,這樣做循環就不容易出錯了。

主站蜘蛛池模板: 米林县| 大悟县| 凤台县| 勐海县| 夏河县| 兴城市| 逊克县| 措勤县| 涞源县| 南川市| 苏尼特右旗| 乌海市| 新营市| 濮阳县| 平罗县| 诸城市| 廊坊市| 潞城市| 保山市| 麻栗坡县| 义马市| 北川| 泾阳县| 昔阳县| 金阳县| 五河县| 曲麻莱县| 石屏县| 如皋市| 扶绥县| 黄骅市| 边坝县| 闻喜县| 南华县| 平塘县| 凤冈县| 利川市| 宁明县| 古田县| 辉南县| 资溪县|