蘇文麗
循環(huán)語句有直到型(UNTII,)和當型(WHILE)兩種,分別對應于程序框圖中的直到型循環(huán)結(jié)構(gòu)和當型循環(huán)結(jié)構(gòu),這兩種語句是可以相互轉(zhuǎn)化的。
一、循環(huán)語句解讀
1.當型循環(huán)語句當型(WHILE型)語句的一般格式為:
說明:WHILE循環(huán)是先判斷條件是否成立,如果成立,則執(zhí)行WHILE和WEND之間的循環(huán)體,然后返回到WHILE語句再判斷上述條件是否成立,若條件不成立,則不執(zhí)行循環(huán)體,執(zhí)行WEND后面的語句。2.直到型循環(huán)語句直到型(UNTIL型)語句的一般格式為:
說明:UNTIL循環(huán)是先執(zhí)行循環(huán)體,然后判斷條件是否成立,如果條件不成立,返回DO語句處重新執(zhí)行循環(huán)體,若條件成立,則退出循環(huán)。
二、循環(huán)語句編寫實例
例1 試分別用WHILE與UNTIL語句,編寫s=1+2+…+100的算法程序。
解:WHILE型循環(huán)語句:點撥:(1)在循環(huán)條件中i的范圍的確定是容易出錯的地方。同學們可以嘗試把所求問題縮小,如計算s=l十2+3+4+5,來找出i的不同所引發(fā)的s的差異和規(guī)律。
(2)循環(huán)語句書寫時要注意循環(huán)標志(如WHILE/WEND)的對應性,以保持程序的可讀性。
例2 試用WHILE語句編寫程序,求s=1!1+2!1+…+10!的值。(n!=1×2×3×…×n,讀作“n的階乘”)
解:本題是求10個正整數(shù)的階乘之和,解題時要注意兩個問題:①處理“n!”的值;②累加“n!”的值。解題時需要用兩個循環(huán)語句來完成,以循環(huán)語句的嵌套來實現(xiàn)。先通過10次循環(huán)分別求…1!,2!,…,10!的值,再同時進行累加,求得s的值。
算法程序如下:
點撥:(1)通過內(nèi)循環(huán)變量j,t,求出n!。(2)通過外循環(huán)變量s,i,累加n!,求出s。(3)在循環(huán)嵌套時,循環(huán)語句不能交錯。