《新編高中數(shù)學(xué)北師大版必修三教學(xué)案:第二章167;3第2課時 循環(huán)語句 Word版含答案》由會員分享,可在線閱讀,更多相關(guān)《新編高中數(shù)學(xué)北師大版必修三教學(xué)案:第二章167;3第2課時 循環(huán)語句 Word版含答案(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、新編數(shù)學(xué)北師大版精品資料
第2課時 循 環(huán) 語 句
[核心必知]
1.For語句
(1)格式:
For循環(huán)變量=初始值To終值
循環(huán)體
Next
(2)適用于預(yù)先知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu).
2.Do Loop語句
(1)格式:
(2)適用于預(yù)先不知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu).
[問題思考]
1.For語句與Do Loop語句有什么區(qū)別?
提示:兩種循環(huán)語句的區(qū)別是For語句是先從循環(huán)變量的初值開始執(zhí)行第一次循環(huán)體,直到循環(huán)變量取到其終值結(jié)束循環(huán),適用于預(yù)先知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu);而Do Loop語句則是先判斷條件,當(dāng)條件為真時,執(zhí)行循環(huán)體,否則結(jié)束循環(huán),適用于那
2、些預(yù)先不知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu).
2.何時才能用到循環(huán)語句?
提示:在問題處理中,經(jīng)常要對某一步驟或若干步驟重復(fù)執(zhí)行多次,即對不同的運算對象進(jìn)行若干次的相同運算或處理,這種模式就對應(yīng)程序設(shè)計中的循環(huán)結(jié)構(gòu),在算法中的循環(huán)結(jié)構(gòu)就是由循環(huán)語句來實現(xiàn)的.
講一講
1.畫出計算12+32+52+…+9992的算法框圖,并用For語句寫出相應(yīng)的程序.
[嘗試解答] 算法框圖如下:
S=0
For i=1 To 999 step 2
S=S+i*i
Next
輸出S.
1.For語句適合預(yù)先知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu),利用For語句表示循環(huán)結(jié)構(gòu)時首先要確定循環(huán)
3、變量的初始值和終值,然后確定循環(huán)體.
2.在For循環(huán)語句中,我們默認(rèn)循環(huán)變量每次的增量為1.如果需要考慮增量不為1的情況,需要使用參數(shù)Step.
例如,“輸出1到100內(nèi)的所有奇數(shù)”的算法語句為:
For i=1 To 100 Step 2.
輸出i
Next
練一練
1.用For語句設(shè)計算法,計算3+6+9+…+150的值.
解:S=0
For i=1 To 50
S=S+3*i
Next
輸出S.
講一講
2.設(shè)計一個求滿足1+3+5+…+n>500的最小自然數(shù)n的算法框圖,并用Do Loop語句描述這個算法.
[嘗試解答] 算法框圖如
4、下:
Do Loop語句
i=1
S=0
Do
S=S+i
i=i+2
Loop While S<=500
i=i-2
輸出i.
Do Loop語句,先執(zhí)行一次循環(huán)體,若符合條件,繼續(xù)執(zhí)行循環(huán)體;當(dāng)不符合條件時,跳出循環(huán),執(zhí)行Do Loop語句后的語句.
練一練
2.將求1×2×3×4×5×6×7×8×9×10的程序補充完整:
a=10
b=1
Do
b=b*a
__(1)__
Loop While __(2)__
輸出b
解析:a的初
5、始值為10,故循環(huán)體中的值應(yīng)該逆減,即a從10減小到1,循環(huán)體的條件應(yīng)為a≥1.
答案:(1)a=a-1 (2)a≥1
講一講
3.用循環(huán)語句表示求a1,a2,a3,a4的最大值的一個算法.
[嘗試解答]
輸入a1,a2,a3,a4;
M=a1,
i=2
Do
If ai>M Then
M=ai
i=i+1
Else
i=i+1
End If
Loop While i<=4
輸出M.
循環(huán)語句格式嚴(yán)格、條件準(zhǔn)確,不能有半點馬虎,一點不對,全題皆錯.當(dāng)循環(huán)語句中有嵌套條件語句時要先確定外層的循環(huán)語句,再逐步確定內(nèi)層的條件語句.
練一練
6、
3.給出以下10個數(shù):4,10,70,33,95,74,29,17,60,30.要求將大于40的數(shù)找出來,畫出求解該問題的算法框圖,并寫出程序.
解:算法框圖如圖所示:
i=1
Do
輸入x
If x>40 Then
輸出x
End If
i=i+1
Loop While i<=10.
【解題高手】【多解題】
用基本語句寫一個算法,計算2+4+6+…+20.
[解] 法一:用語句描述為:
i=2
S=0
Do
S=S+i
i=i+2
Loop While i<=20
輸出S.
法二:用語句描述為:
S=0
For i=2 To
7、 20 Step 2
S=S+i
Next
輸出S.
1.關(guān)于Do Loop循環(huán)語句敘述正確的是( )
A.總是執(zhí)行循環(huán)體
B.執(zhí)行一次循環(huán)體
C.滿足條件時執(zhí)行循環(huán)體
D.遇到Do Loop就結(jié)束
解析:選C 對于Do Loop循環(huán)語句,先執(zhí)行循環(huán)體,再根據(jù)條件是否成立來確定執(zhí)行循環(huán)體.
2.下列程序輸出的結(jié)果是( )
i=1
S=0
Do
S=S*2+1
i=i+1
Loop While i<=4
輸出S.
A.3 B.7 C.15 D.19
解析:選C 由程序語句可知,該循環(huán)體共循環(huán)4次,分別為S=2×
8、;0+1=1,S=2×1+1=3,S=2×3+1=7,S=2×7+1=15.
3.下列問題可以用循環(huán)語句設(shè)計程序的有( )
①求1+3+32+…+39的和;
②比較a,b兩個數(shù)的大??;
③對于分段函數(shù),要求輸入自變量,輸出函數(shù)值;
④求平方值小于100的最大自然數(shù).
A.0個 B.1個 C.2個 D.3個
解析:選C ①④可以用循環(huán)語句設(shè)計程序;②③要用條件語句設(shè)計程序.
4.給出下列方程,若運行程序后輸出的結(jié)果是1 320,則循環(huán)執(zhí)行的“條件”應(yīng)為________.
i=12
S=1
Do
S=S*i
i=i-1
L
9、oop While條件
輸出S
答案:i>=10
5.下面程序語句輸出的S值是________.
i=1
S=0
For i=1 To 5
S=S+i
Next
輸出S
解析:S=1+2+3+4+5=15.
答案:15
6.已知函數(shù)f(x)=,實數(shù)a1=f(1),a2=f(a1),…,an+1=f(an),試寫出用循環(huán)語句表示的求a8的算法,并畫出框圖.
解:用語句描述為:
A=1
n=1
For n=1 To 8
A=A/(1+A)
Next
輸出A.
框圖:
一、選擇題
1.以下程序
S=0
For x=-1 To 11
10、S=x*x
Next
輸出S.
該程序輸出結(jié)果是( )
A.-1 B.11 C.100 D.121
解析:選D 由For語句的算法特點可知,S=11×11=121.
2.下列程序的運行結(jié)果為( )
i=0
S=0
Do
i=i+1
S=S+i
Loop While S<=20
輸出i.
A.5 B.6 C.7 D.8
解析:選B 由于0+1+2+3+4+5=15,0+1+2+3+4+5+6=21,∴i=6.
3.下列程序中的For語句終止循環(huán)時,S等于( )
S=1
For M=1 To 13 S
11、tep 3
S=S+M
Next
輸出S.
A.1 B.5 C.10 D.35
解析:選D S=1+4+7+10+13=35.
4.下列算法的運行結(jié)果是( )
S=0
For i=1 To 5
S=S+1/i
Next
輸出S.
A. B. C. D.3
解析:選 A 本算法是求1++++的和.
5.下列算法運行后的輸出結(jié)果為( )
i=1
Do
i=i+2
S=3+2*i
i=i+1
Loop While i<=8
輸出S.
A.17 B.19 C.21 D.23
解析:選C
12、 這是用Do Loop語句編寫的算法,按Do Loop語句的運行程序可知最后一次執(zhí)行循環(huán)體時S=3+2×(7+2)=21.
二、填空題
6.
S=0
For i=0 To 10 000 Step 2
S=S+i
Next
輸出S.
則循環(huán)10次的結(jié)果是________.
解析:算法程序?qū)嶋H是在計算S=0+2+4+…+10 000,如果循環(huán)10次,則有S=0+2+4+6+8+…+18=90.
答案:90
7.
S=0
For i=1 To 100
S=S+i*i
Next
輸出S
則該語句的算法功能為______________.
解析:
13、S=12+22+…+1002.
答案:計算12+22+…+1002的值
8.把求+++…+的值的下列程序補充完整,則(1)____________;(2)____________.
i=1
S=0
Do
Loop While __(2)__
輸出S.
答案:(1)S=S+1/i*(i+3)
(2)i<=50
三、解答題
9.據(jù)下列框圖寫出對應(yīng)算法語句.
解:
S=0
i=1
Do
S=S+i
i=i+1
Loop While i<=1 000
輸出S.
10.猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個,第二天又將剩下的桃子吃掉一半,又多吃了一個,以后每天早上都吃前一天剩下的一半零一個,到第五天早上想吃時,見只剩一個桃子了,求第一天共摘了多少桃子?畫出算法框圖,并用語句描述.
解:算法框圖如圖所示.
程序如下:
S=1
For i=1 To 4
S=2*(S+1)
Next
輸出S.