資源簡(jiǎn)介 厚天地之大美 達(dá)萬(wàn)物之至理學(xué)案6:程序的循環(huán)結(jié)構(gòu)教師寄語(yǔ):希望,只有和勤奮作伴,才能如虎添翼。【學(xué)習(xí)目標(biāo)】1.了解循環(huán)的概念,理解循環(huán)結(jié)構(gòu)的基本思想2.掌握For-Next語(yǔ)句的基本結(jié)構(gòu)的寫法:循環(huán)變量,初值,終值和步長(zhǎng)3.理解For-Next語(yǔ)句的執(zhí)行過(guò)程【學(xué)習(xí)重、難點(diǎn)】1.理解循環(huán)結(jié)構(gòu)的基本思想2.理解For-Next語(yǔ)句的執(zhí)行過(guò)程【復(fù)習(xí)回顧】1. 在前面的章節(jié)我們已經(jīng)學(xué)過(guò)兩種程序結(jié)構(gòu),所有語(yǔ)句會(huì)自上而下逐一執(zhí)行的結(jié)構(gòu)是 ,根據(jù)條件,有的語(yǔ)句執(zhí)行有的不被執(zhí)行的結(jié)構(gòu)是 。2. 以下程序段執(zhí)行后,輸出結(jié)果為(?? )。 ? m=29 If m Mod 3 <> 0? Then ? Print m & "不能被3整除" ? Else Print m & "能被3整除"? End If A m能被3整除 B m不能被3整除 C 29不能被3整除 D 29能被3整除 以下程序段運(yùn)行后,y的值是(?)。 x=3 If x>3?Then y=2*x Else y=3*x+1End if A 25 B 26 C 10 D 5【學(xué)習(xí)過(guò)程】1、 導(dǎo)入編程:?jiǎn)螕鬋ommand1,在輸入框任意輸入5個(gè)數(shù)字,并用Print方法輸出,效果如圖:程序段一:A = Val(InputBox("輸入第1個(gè)數(shù)"))B = Val(InputBox("輸入第2個(gè)數(shù)"))C = Val(InputBox("輸入第3個(gè)數(shù)"))D = Val(InputBox("輸入第4個(gè)數(shù)"))E = Val(InputBox("輸入第5個(gè)數(shù)"))Print APrint BPrint CPrint DPrint E*問(wèn)題:輸入10個(gè)、20個(gè)……甚至更多數(shù)字呢? 使用程序段二替換程序一試試效果。程序段二:For i=1 To 5 step 1A = Val(InputBox("輸入5個(gè)數(shù)"))Print ANext i這種解決重復(fù)性操作的結(jié)構(gòu),稱為循環(huán)結(jié)構(gòu)。本節(jié)我們將學(xué)習(xí)第一種循環(huán)語(yǔ)句:For—Next。二、新知學(xué)習(xí)我們體驗(yàn)了使用循環(huán)語(yǔ)句的便捷,那么循環(huán)語(yǔ)句的執(zhí)行過(guò)程是如何的呢?通過(guò)程序段二的流程圖,進(jìn)一步了解初值、終值、步長(zhǎng)和循環(huán)體語(yǔ)句的變化,以及執(zhí)行過(guò)程。從上圖可以看出,循環(huán)結(jié)構(gòu)其實(shí)就是一種重復(fù)結(jié)構(gòu),它的作用是使一段程序能重復(fù)執(zhí)行,被重復(fù)執(zhí)行的語(yǔ)句部分稱為循環(huán)體。本程序For語(yǔ)句中的i被稱為循環(huán)變量,作用是控制循環(huán)次數(shù),首先賦值的正整數(shù)1,被稱為循環(huán)變量的初值。To 5是指循環(huán)變量i的取值范圍為從1到5的正整數(shù),正整數(shù)5是i的最大值,稱為終值,是用于判斷循環(huán)是否結(jié)束的值。Step 1表示循環(huán)變量i的增量為1,被稱為步長(zhǎng)。中間的輸入和打印語(yǔ)句是本程序段中重復(fù)執(zhí)行的語(yǔ)句部分,即循環(huán)體,每執(zhí)行完一次循環(huán)體,循環(huán)變量就會(huì)增加一個(gè)步長(zhǎng),并回到For語(yǔ)句對(duì)循環(huán)變量的當(dāng)前值進(jìn)行判斷,仍在取值范圍內(nèi),就繼續(xù)執(zhí)行循環(huán)體,否則結(jié)束循環(huán)。由此可見,循環(huán)結(jié)構(gòu)的重復(fù)一般都是有條件的,即在滿足For語(yǔ)句中的條件時(shí)才執(zhí)行循環(huán)體,否則退出循環(huán)體。*思考:當(dāng)i的值為 時(shí),程序段二結(jié)束循環(huán)? 循環(huán)體被重復(fù)執(zhí)行了 次?三、合作探究根據(jù)程序段二,總結(jié)For-Next語(yǔ)句的語(yǔ)句格式: ? For 循環(huán)變量 = 初值?To 終值 ?[step 步長(zhǎng) ]? 語(yǔ)句組(即循環(huán)體) Next [循環(huán)變量]? 四、小試牛刀 編程:?jiǎn)螕舸绑w,輸出 " 1+2+3…+10="? 思考分析: 程序參考:1、這是重復(fù)的加法運(yùn)算,算式中的數(shù)從1以固定值1遞增到10,初步認(rèn)定可以進(jìn)入循環(huán)。2、可設(shè)置循環(huán)變量i,初值為1,終值為10,步長(zhǎng)為1,及存放和的變量s。 3、可以用一個(gè)通式(循環(huán)體)來(lái)表達(dá)運(yùn)算:s+i,滿足循環(huán)結(jié)構(gòu)的條件。 4、當(dāng)i大于10時(shí)結(jié)束重復(fù)加法,輸出累加和的值s。 Private Sub Form_click() Dim s As Single, i As Integer s = 0 For i = 1 To 10 Step 1 s = s + i Next i Print " 1+2+3…+10= ";sEnd Sub(*思考:s的初值為何設(shè)置為0)五、精講點(diǎn)撥1.循環(huán)變量為數(shù)值型變量。2.初值、終值、步長(zhǎng)均為數(shù)值表達(dá)式。3.當(dāng)初值小于終值時(shí),步長(zhǎng)為正數(shù);當(dāng)初值大于終值時(shí),步長(zhǎng)為負(fù)數(shù);步長(zhǎng)為1時(shí),可 省略step。(思考:步長(zhǎng)是否可以等于0?)4.語(yǔ)句組可以是一個(gè)或多個(gè)語(yǔ)句,也可以沒(méi)有(稱為空循環(huán))。5.循環(huán)體執(zhí)行的次數(shù),通常 ,遇Exit For等 不適用。6.For—Next必須成對(duì)出現(xiàn)。7.循環(huán)體語(yǔ)句可以含有循環(huán)結(jié)構(gòu)(循環(huán)嵌套)。【當(dāng)堂檢測(cè)】 (提示:嘗試在VB中驗(yàn)證答案)1.以下程序段運(yùn)行后,整型變量s的值是(?)。 ?s=1 ? For i=1 To 10 Step 3 ? s=s*iNext i ?Print s A? 55 B?3640 C 28 D? 280 (*思考:s的初值為何賦值為1) 2.閱讀程序,寫出運(yùn)行結(jié)果Dim i As Integer, x As Integer, y As Integer y=30For i=1 To 3 x=Val(InputBox("x=")) If y < x Then y=x End If Next i Print y 程序運(yùn)行后,依次輸入:36? 87? 51運(yùn)行后輸出結(jié)果是_________________。3、以下是計(jì)算s=1+6+11+…+101的程序代碼,請(qǐng)完善程序。 Dim s As Integer, i As Integer s=0 For i=1 To 101 Step__________ s=____________ Next i Print s 4、以下是計(jì)算s=1*2*3*…*10的程序代碼,請(qǐng)補(bǔ)全程序。 Dim s As Long Dim i As Integer s=__________ For i=1 To 10 ??s=__________ Next i Print s【上機(jī)操作】1、 編程:(1)計(jì)算12+22+32+…+1002的值要求:?jiǎn)螕舸绑w,輸出格式為"12+22+32+…+1002="?(2)*編程:?jiǎn)螕鬋ommand1,在輸入框任意輸入正整數(shù)N,計(jì)算1*2*…*N的值。要求:輸入框提示信息為:"請(qǐng)輸入正整數(shù)N",輸出格式為"1*2*…*N="?2、 編程: (1)單擊Command1,輸出如右圖一的圖形。 (圖一)(2)*【課后能力拓展】* 單擊窗體,輸出如右圖二的圖形,該如何編程? (圖二)【課堂小結(jié)】第2頁(yè)共4頁(yè) 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)