【正文】
Do While n = 100 s = s + n * n n = n + 1 Loop Print s=。求最大最小值及總 If r min Then min = r sum = sum + r = + + Str$(r) p = p + 1 39。計隨機數(shù)的個數(shù) For i = 2 To r 1 39。 ( 4)隨機素數(shù)累加: sum = sum + r ( 5)重復步驟① ~④ m次產(chǎn)生 m個隨機數(shù)。用變量 max和 min分別存放最大和最小值。也就是說,要判斷 r是否為素數(shù),只要依次用整數(shù) 2, 3, 4, …… , r1去除 r,只要有一個能整除 r,則 r不是素數(shù),否則 r是素數(shù)。 算法分析 ( 1)產(chǎn)生隨機數(shù): r= Int( Rnd*90) +10 ( 2)判斷 r 是否素數(shù)。 [實例 ] 產(chǎn)生 m個 10~99之間的隨機整數(shù),求出其中的素數(shù),并求出素數(shù)中的最大值、最小值和平均值。 ? Exit Do:從循環(huán)中間退出循環(huán),執(zhí)行do循環(huán)后的語句。 、 Do語句 ( 一般用于循環(huán)次數(shù)未知) 1.先判斷后語句形式 1(執(zhí)行,執(zhí)行次數(shù) =0) Do [While 或 Until 條件 ] 語句塊 [Exit Do] 語句塊 Loop 語句形式 2(先執(zhí)行后判定,執(zhí)行次數(shù) =1) Do 語句塊 [Exit Do] 語句塊 Loop [While 或 Until 條件 ] 語句說明: ? While條件:當條件成立時執(zhí)行循環(huán),條件不成立時結(jié)束循環(huán)。 “ 手動計算 ” If j = 0 Then fact = 1 If fact = 5000 Then j = j + 1 fact = fact * j = j = fact Else = False End If 任務三 用 wile …wend 結(jié)構(gòu)實現(xiàn)5+10+15+……+100 的操作。窗體界面如圖所示。 C. 一直循環(huán)到邏輯表達式不成立為止。 i = 1 fac = 1 While fac = 5000 fac = fac * i i = i + 1 Wend 、 While語句 ( 一般用于循環(huán)次數(shù)未知) While 條件 循環(huán)體 Wend ( 1)功能:當條件成立 (為真 )時,執(zhí)行循環(huán)體; 當條件不成立 (為假 )時,終止循環(huán)。 i = 1 fac = 1 While fac = 5000 fac = fac * i i = i + 1 Wend 算法分析 (1)1*2*3*……+n 和的過程可以描述如下: fac=fac*1 fac=fac*2 fac=fac*3 重復執(zhí)行 fac=fac*i的過程 …… fac=fac*n (2)循環(huán)的 次數(shù)未確定 ,所以用 While循環(huán)。 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 s = ABCDEFGHIJ: c = For k = 2 To Len(s) Step 3 a = Mid(s, k) c = c + Left(a, 1) Next k Print c A. BDF B. CFI C. BEH 下列程序的運行結(jié)果是? 想一想 思考題 C (1) 問題中的共性: 程序設計中需要按照某種規(guī)律反復不斷執(zhí)行某一段程序;能夠完成此功能的程序結(jié)構(gòu)成為“ 循環(huán)結(jié)構(gòu) ”,被反復執(zhí)行的“程序段”成為“ 循環(huán)體語句 ”。超過終值時,退出循環(huán),執(zhí)行 Next之后的語句;沒有超過,則執(zhí)行循環(huán)體 (3)遇到 Next語句時,修改循環(huán)變量值(即 循環(huán)變量 =循環(huán)變量 +步長值 ),再轉(zhuǎn)到 (2)去判斷循環(huán)條件。 任務一 求正整數(shù) N的階乘 如: 10! =1*2*3*4*…*10 算法分析 (1)1*2*3*……+n 和的過程可以描述如下: fac=fac*1 fac=fac*2 fac=fac*3 重復執(zhí)行 fac=fac*i的過程 …… fac=fac*n fac = 1 For i=1 to n fac = fac * i Next i 實例拓展 求 1—n之間的奇數(shù)和的代碼段為: For i=1 to ( n+1)\2 Sum=Sum+2*i1 Next i 當然,也可以通過調(diào)整步長解決,代碼段為: For i=1 to n Step 2 Sum=Sum+i Next i 求 1+1/2+1/3+……1/n 的代碼段為: For i=1 to n Sum=Sum+1/i Next i 補充作業(yè):求 n! For 語句 ( 一般用于循環(huán)次數(shù)已知) For 循環(huán)變量=初值 to 終值 [Step 步長 ] 語句塊