【正文】
主頁 計算機具有速度快、精度高的特點,特別適于進行重復性的工作,重復次數(shù)越多越能顯示它的威力。所以,使用計算機時,應盡量把問題歸納為簡單而有規(guī)則的重復運算和操作,以充分發(fā)揮計算機的特長。 主頁 采用循環(huán)程序可以解決一些按一定規(guī)則重復執(zhí)行的問題。例如,統(tǒng)計一個班幾十名學生,甚至全校幾千名學生的學期成績,如求平均分、不及格人數(shù)等 本章主要內(nèi)容 第 5章 循環(huán)結(jié)構(gòu)程序設計 Do...Loop For...Next 退出 循環(huán)出口語句 (Exit) 循環(huán)語句 多重循環(huán) 列表框與組合框 常用算法 程序舉例 主頁 循環(huán) 是指在指定的條件下多次重復執(zhí)行一組語句 被重復執(zhí)行的一組語句稱為 循環(huán)體 VB提供的循環(huán)語句有 For...Next Do...Loop While...Wend For Each...Next 最常用的是 For...Next和 Do...Loop語句 假 真 循環(huán)體 循環(huán)條件 主頁 For...Next循環(huán)主要是用在知道循環(huán)次數(shù)的情況下;若事先不知道循環(huán)次數(shù),可以使用當型循環(huán) Do...Loop 1. For...Next循環(huán)語句 (計數(shù)控制 ) For 循環(huán)變量=初值 To 終值 [Step 步長值 ] Next 循環(huán)變量 2. Do While...Loop語句 (條件控制 ) Do [{While|Until} 條件 ] 循環(huán)體 Loop 循環(huán)語句 示例 求 S = 1 + 2 + 3 + … + 8 s = 0 For k = 1 To 8 s = s + k Next k Print s=。 s s= 36 n = 1: s = 0 Do While n = 8 s = s + n n = n + 1 Loop Print s=。 s 例 K為循 環(huán)變量 專設變量 n來控制循環(huán) 主頁 例 求 S = 1 + 2 + 3 + ? 8 ,把結(jié)果顯示在窗體上。 s = 0 39。累加器初值為 0 For k = 1 To 8 s = s + k 39。累加器,在原有和的基礎上每次加一個數(shù) Next Print s= 。 s 程序執(zhí)行結(jié)果是: s= 36 分析 累加器 s = s + k 舊值。前 n項之和 新加的數(shù) k = 1 s ← s + k 0 1 k = 3 s ← s + k 1 + 2 3 k = 2 s ← s + k 1 2 k = 8 s ← s + k 1 + 2 + ? 7 8 …… 主頁 ? 算法:通常采用重復運算來解決問題 累加、累乘等 如用級數(shù) π/4= 1 1/3 + 1/5 1/7 + …… 來求 π ? 設置循環(huán)變量 使每次運算變量值有所不同 ? 控制循環(huán) 計數(shù)控制或條件控制 循環(huán)結(jié)構(gòu)程序的實現(xiàn) 求 S = 1 + 2 + 3 + … + 8 s = 0 For k = 1 To 8 s = s + k Next k Print s=。 s 把長式子改為 8次加 主頁 采用 Print直接在窗體上輸出結(jié)果,程序代碼: Private Sub Form_Load() Show t = 1 For c = 1 To 8 t = t * c Next c Print T=。 t End Sub T= 40320 語句 t=t*c 稱為乘法器。先將 t置 1(不能置 0) 在循環(huán)程序中,常用累加和累乘來完成各種計算任務 例 求 T = 8! = 1 2 3 … 8 例 主頁 例 T = 8! = 1 2 3 ? 8 ,把結(jié)果顯示在網(wǎng)頁上。 t = 1 39。累乘器初值為1 For c = 1 To 8 t = t * c 39。累乘器,在原有積的基礎上每次乘一個數(shù) Next Print T=。 t 程序執(zhí)行結(jié)果是: T= 40320 分析 c = 1 t ← t * c 1 1 c = 3 t ← t * c 1 * 2 3 c = 2 t ← t * c 1 2 c = 8 t ← t * c 1 * 2 * ? 7 8 …… 累乘器 t = t * k 舊值。前 n項之積 新乘的數(shù) 主頁 采用 Print直接在窗體上輸出結(jié)果,程序代碼如下: Private Sub Form_Load() Show Dim pi As Single, c As Integer, s As Integer pi = 0 s = 1 39。s表示加或減運算 For c = 1 To 10000 Step 2 pi = pi + s / c s = s 39。交替改變加、減號 Next c Print π=。 pi * 4 End Sub 程序運行結(jié)果是: π= 例 用 π/4= 1 1/3 + 1/5 1/7 + …… 級數(shù)求 π的近似值 (取前 5000項來進行計算 ) 例 主頁 For t = 1 To 3 If t = 1 Then a = 3 If t = 2 Then a = 2 If t = 3 Then a = 1 Print a。 Next t Print t A. 3 3 3 3 B. 1 2 3 4 C. 3 2 1 4 D. 1 1 1 4 下列程序的運行結(jié)果是? 想一想 思考題 D 主頁 For t = 1 To 3 If t = 1 Then a = 3 If t = 2 Then a = 2 If t = 3 Then a = 1 Print