VB程序的計(jì)VB基本語(yǔ)句_第1頁(yè)
VB程序的計(jì)VB基本語(yǔ)句_第2頁(yè)
VB程序的計(jì)VB基本語(yǔ)句_第3頁(yè)
VB程序的計(jì)VB基本語(yǔ)句_第4頁(yè)
VB程序的計(jì)VB基本語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、分支結(jié)構(gòu)分支結(jié)構(gòu) 程序示例程序示例 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 順序結(jié)構(gòu)順序結(jié)構(gòu) 算法及程序設(shè)計(jì)基礎(chǔ)算法及程序設(shè)計(jì)基礎(chǔ)鹽城工學(xué)院鹽城工學(xué)院 先對(duì)條件測(cè)試,根據(jù)測(cè)試的結(jié)果選擇執(zhí)行不同的分支先對(duì)條件測(cè)試,根據(jù)測(cè)試的結(jié)果選擇執(zhí)行不同的分支1.if1.if條件語(yǔ)句條件語(yǔ)句2.select case 2.select case 結(jié)構(gòu)結(jié)構(gòu)visual basic 程序設(shè)計(jì)程序設(shè)計(jì)選擇結(jié)構(gòu)選擇結(jié)構(gòu)3.3.條件函數(shù)條件函數(shù) 例:例: score = 60 then print 祝賀你考試通過(guò)!祝賀你考試通過(guò)! print “繼續(xù)努力!繼續(xù)努力!” : score=60 then score=60 then print

2、“print “祝賀你考試通過(guò)!祝賀你考試通過(guò)!” print “print “繼續(xù)努力繼續(xù)努力!” !” 格式格式:(1) :(1) ifif 條件條件 then then (a(a組語(yǔ)句組語(yǔ)句) ) endifendif (2)(2) if if 條件條件 then then 語(yǔ)句語(yǔ)句執(zhí)行規(guī)則:若執(zhí)行規(guī)則:若, ,執(zhí)行執(zhí)行a a組語(yǔ)句組語(yǔ)句; ; 條件不成立條件不成立, ,跳過(guò)跳過(guò)a a組語(yǔ)句組語(yǔ)句. .if if條件語(yǔ)句條件語(yǔ)句條件條件a組語(yǔ)句組語(yǔ)句tf使用前提:使用前提:,a,a組語(yǔ)句中只一條執(zhí)行語(yǔ)句組語(yǔ)句中只一條執(zhí)行語(yǔ)句 例:例: if score = 60 then print s

3、core print 祝賀你考試通過(guò)!祝賀你考試通過(guò)! end if print “繼續(xù)努力!繼續(xù)努力!” 單分支示例單分支示例.例例1:輸入兩個(gè)數(shù),分別放在:輸入兩個(gè)數(shù),分別放在x和和y變量中,比較它們大小,變量中,比較它們大小, 然后將大數(shù)放在然后將大數(shù)放在x中,小數(shù)放在中,小數(shù)放在y中。中。x yx%=text1.texty%=text2.textif x = 60 then print “祝賀你考試通過(guò)!祝賀你考試通過(guò)!” else print “考試未通過(guò)考試未通過(guò).” end if print 繼續(xù)努力!繼續(xù)努力!格式:格式: 條件條件 thenthen a a組語(yǔ)句組語(yǔ)句 els

4、eelse b b組語(yǔ)句組語(yǔ)句 執(zhí)行規(guī)則執(zhí)行規(guī)則: :條件條件成立成立, ,執(zhí)行執(zhí)行a a組語(yǔ)句組語(yǔ)句, , 條件條件不成立不成立, ,執(zhí)行執(zhí)行b b組語(yǔ)句組語(yǔ)句例例2:計(jì)算分段函數(shù):計(jì)算分段函數(shù): (可用可用、和和實(shí)現(xiàn))實(shí)現(xiàn))y=x2+1 (x0) x3+3x (x=0)條件條件a組語(yǔ)句組語(yǔ)句tfb組語(yǔ)句組語(yǔ)句1. 1. if if條件語(yǔ)句條件語(yǔ)句雙分支雙分支f兩邊之和大于第三邊??jī)蛇呏痛笥诘谌??例?: 3: 已知已知三邊的長(zhǎng),設(shè)計(jì)三邊的長(zhǎng),設(shè)計(jì) 求求面積的程序。面積的程序。( (實(shí)驗(yàn)實(shí)驗(yàn)5)5)輸入輸入a,b,ca,b,c求求s s結(jié)束結(jié)束輸出輸出s s求半周長(zhǎng)求半周長(zhǎng)l lt提示提

5、示數(shù)據(jù)錯(cuò)數(shù)據(jù)錯(cuò)開(kāi)始開(kāi)始if if條件語(yǔ)句條件語(yǔ)句例例4:輸入二級(jí)考試成績(jī),要求顯示對(duì)應(yīng)三級(jí)制的:輸入二級(jí)考試成績(jī),要求顯示對(duì)應(yīng)三級(jí)制的 評(píng)定。評(píng)定條件為:評(píng)定。評(píng)定條件為: 優(yōu):優(yōu):mark 90等級(jí):等級(jí): 通過(guò):通過(guò):60 mark 90 未通過(guò):未通過(guò):= 90 then print 優(yōu)elseif mark = 60 then print “通過(guò)else print “未通過(guò)end if格式:格式: 條件條件1 then1 then (a a組語(yǔ)句)組語(yǔ)句) elseif elseif 條件條件2 then2 then (b b組語(yǔ)句)組語(yǔ)句) elseif elseif 條件條件3

6、then3 then (c c組語(yǔ)句)組語(yǔ)句) elseelse (n n組語(yǔ)句)組語(yǔ)句) if if條件語(yǔ)句條件語(yǔ)句注意:注意: 多分支語(yǔ)句中,有多分支語(yǔ)句中,有多個(gè)分多個(gè)分 支同時(shí)滿(mǎn)足,只支同時(shí)滿(mǎn)足,只執(zhí)行執(zhí)行與之匹配的與之匹配的語(yǔ)句塊。語(yǔ)句塊。 注意注意 的寫(xiě)法的寫(xiě)法.例例5 5 編寫(xiě)一個(gè)按月收入額計(jì)算個(gè)人收入調(diào)節(jié)稅的程序編寫(xiě)一個(gè)按月收入額計(jì)算個(gè)人收入調(diào)節(jié)稅的程序 計(jì)算方法如下計(jì)算方法如下 0 pay10000 pay1000或離退休或離退休 (pay-1000)(pay-1000)* *0.05 10000.05 1000pay2000pay2000 z z (pay-2000)(pa

7、y-2000)* *0.15+50 20000.15+50 2000pay3000pay3000 (pay-3000) (pay-3000)* *0.25+200 30000.25+200 3000pay4000 pay4000 (pay-4000) (pay-4000)* *0.35+450 pay4000 0.35+450 pay4000 :選擇語(yǔ)句結(jié)構(gòu)選擇語(yǔ)句結(jié)構(gòu) 每個(gè)條件的表示及先后順序每個(gè)條件的表示及先后順序if if條件語(yǔ)句條件語(yǔ)句多分支多分支.if if條件語(yǔ)句條件語(yǔ)句 ifif語(yǔ)句的嵌套是指語(yǔ)句的嵌套是指if if 或或elseelse后面的后面的語(yǔ)句塊中又包含語(yǔ)句塊中又包含i

8、fif語(yǔ)句。語(yǔ)句形式:語(yǔ)句。語(yǔ)句形式: then1 then then11 then (1) (1) 對(duì)于嵌套結(jié)構(gòu),為了增強(qiáng)程序的可讀性,應(yīng)該采用縮進(jìn)對(duì)于嵌套結(jié)構(gòu),為了增強(qiáng)程序的可讀性,應(yīng)該采用縮進(jìn) 形式書(shū)寫(xiě);形式書(shū)寫(xiě);(2) if(2) if語(yǔ)句形式若不在一行上書(shū)寫(xiě),必須與語(yǔ)句形式若不在一行上書(shū)寫(xiě),必須與end ifend if配對(duì)配對(duì) 多個(gè)多個(gè)ifif嵌套,嵌套,end ifend if與它最接近的與它最接近的if if 配對(duì)。配對(duì)。 單分支語(yǔ)句 雙分支語(yǔ)句 多分支語(yǔ)句select caseselect case 測(cè)試表達(dá)式測(cè)試表達(dá)式 case case 測(cè)試項(xiàng)測(cè)試項(xiàng)1 1 a a組語(yǔ)句組

9、語(yǔ)句 case case 測(cè)試項(xiàng)測(cè)試項(xiàng)2 2 b b組語(yǔ)句組語(yǔ)句 case case elseelse n n組語(yǔ)句組語(yǔ)句end selectend select 測(cè)試表達(dá)式的值應(yīng)是數(shù)字或字符型測(cè)試表達(dá)式的值應(yīng)是數(shù)字或字符型 測(cè)試項(xiàng)的取值測(cè)試項(xiàng)的取值必須必須與測(cè)試表達(dá)式與測(cè)試表達(dá)式 的值的值類(lèi)型相同,類(lèi)型相同,常用形式為:常用形式為:具體取值,用逗號(hào)隔開(kāi)具體取值,用逗號(hào)隔開(kāi)如:如:1 1,5 5,9 9連續(xù)的范圍:界連續(xù)的范圍:界1 to 1 to 界界2 2如:如:12 to 2012 to 20 滿(mǎn)足某個(gè)條件:滿(mǎn)足某個(gè)條件:isis運(yùn)算符運(yùn)算符如:如:is10is10 三種形式可以組合使用

10、三種形式可以組合使用select caseselect case語(yǔ)句語(yǔ)句例例5:輸入二級(jí)考試成績(jī),要求顯:輸入二級(jí)考試成績(jī),要求顯 示對(duì)應(yīng)三級(jí)制的評(píng)定。示對(duì)應(yīng)三級(jí)制的評(píng)定。 mark=val(text1.text)select case mark case is=90 print 優(yōu) case 90 to 60 print “通過(guò) case else print “未通過(guò)end selectmark=val(text1.text)k=mark10select case case 10,9 print 優(yōu) case 8 to 6 print “通過(guò) case else print “未通過(guò)end

11、 select例例7 7 編寫(xiě)一個(gè)加油站計(jì)費(fèi)程序編寫(xiě)一個(gè)加油站計(jì)費(fèi)程序 在在“種類(lèi)種類(lèi)”中選擇油品種類(lèi),界面上的說(shuō)明文字將中選擇油品種類(lèi),界面上的說(shuō)明文字將隨之改變,并將隨之改變,并將“數(shù)量數(shù)量”文本框設(shè)為焦點(diǎn);在數(shù)量文本文本框設(shè)為焦點(diǎn);在數(shù)量文本框中輸入需購(gòu)的油品數(shù)量后,單擊框中輸入需購(gòu)的油品數(shù)量后,單擊“計(jì)算計(jì)算”按鈕,在按鈕,在“總價(jià)總價(jià)”文本框顯示所購(gòu)油品種類(lèi)應(yīng)付的金額。已知汽油文本框顯示所購(gòu)油品種類(lèi)應(yīng)付的金額。已知汽油單價(jià):?jiǎn)蝺r(jià): 90號(hào) 2.30元/升 95號(hào) 2.45元/升 100號(hào) 2.60元/升分支結(jié)構(gòu)分支結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)例例4-8 :4-8 :編寫(xiě)一個(gè)按月收入額計(jì)個(gè)人收

12、入調(diào)節(jié)稅編寫(xiě)一個(gè)按月收入額計(jì)個(gè)人收入調(diào)節(jié)稅的應(yīng)用程序的應(yīng)用程序. .計(jì)稅公式如下計(jì)稅公式如下: : tax tax = = 0 pay=1000 0 pay=1000 (pay-1000) (pay-1000)* *0.05 1000pay=15000.05 1000pay=1500 (pay-1500) (pay-1500)* *0.1+25 1500pay=20000.1+25 1500pay=2000 (pay-2000) (pay-2000)* *0.15+75 2000pay=25000.15+75 2000pay=2500 (pay-2500) (pay-2500)* *0.2+1

13、50 2500pay=30000.2+150 2500pay30000.3+300 pay3000賦值語(yǔ)句賦值語(yǔ)句分支語(yǔ)句分支語(yǔ)句 變量名變量名= =表達(dá)式表達(dá)式 對(duì)象對(duì)象. .屬性屬性= =表達(dá)式表達(dá)式 變量變量= =對(duì)象對(duì)象. .屬性屬性變量賦值:變量賦值: 屬性賦值:屬性賦值: 1. 1. ififthen then 結(jié)構(gòu)結(jié)構(gòu)2. 2. ififthenthenelse else 結(jié)構(gòu)結(jié)構(gòu)3. 3. ififthenthenelseif elseif 結(jié)構(gòu)結(jié)構(gòu)4. 4. select case select case 結(jié)構(gòu)結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)循環(huán): :是在指定的條件下多次重復(fù)執(zhí)行一組

14、語(yǔ)句是在指定的條件下多次重復(fù)執(zhí)行一組語(yǔ)句1. for 1. for nextnext2. do2. doloop loop 3. 3. 循環(huán)嵌套循環(huán)嵌套 4.4.其他輔助控制語(yǔ)句其他輔助控制語(yǔ)句循環(huán)變量循環(huán)變量= =循環(huán)變量循環(huán)變量+ +步長(zhǎng)步長(zhǎng)語(yǔ)句塊語(yǔ)句塊fexit forexit for語(yǔ)句塊語(yǔ)句塊t循環(huán)變量循環(huán)變量=終值終值 for for 循環(huán)變量循環(huán)變量= =初值初值 to to 終值終值 step step 步長(zhǎng)步長(zhǎng) 語(yǔ)句塊語(yǔ)句塊 exit forexit for 語(yǔ)句塊語(yǔ)句塊 next next 循環(huán)變量循環(huán)變量執(zhí)行過(guò)程執(zhí)行過(guò)程: (1) 將初值賦循環(huán)變量;將初值賦循環(huán)變量; (

15、2) 判斷循環(huán)變量值是否判斷循環(huán)變量值是否小于等于小于等于 終止值;終止值; (3) 若是若是,執(zhí)行循環(huán)體(語(yǔ)句塊);執(zhí)行循環(huán)體(語(yǔ)句塊); (4) 然后將變量增加一個(gè)步長(zhǎng);然后將變量增加一個(gè)步長(zhǎng); (5)重復(fù)重復(fù)24步驟。步驟。 (6)否則,結(jié)束循環(huán)否則,結(jié)束循環(huán)forfor循環(huán)循環(huán)步長(zhǎng)省略,步長(zhǎng)省略,默認(rèn)為默認(rèn)為1 1循環(huán)變量賦初值循環(huán)變量賦初值ft循環(huán)體循環(huán)體程序代碼:程序代碼: dim i%, s % for i = 1 to 10 step 1 next i print i, s例例1:1:求求1+2+3+4+1+2+3+4+10+10之和之和. .分析分析: :重復(fù)過(guò)程重復(fù)過(guò)程(

16、(循環(huán)體循環(huán)體) ): s: ss s+i+i初值、終值和增量初值、終值和增量:1、10、i循環(huán)體的執(zhí)行次數(shù)是多少循環(huán)體的執(zhí)行次數(shù)是多少 ? ? 輸出的輸出的i、s的值是多少的值是多少 ? ?for i = 1 to 10執(zhí)行多少次?執(zhí)行多少次?s = s + ifor i=10 to 1 step -1forfor循環(huán)循環(huán) for for 循環(huán)變量循環(huán)變量= =初值初值 to to 終值終值 step step 步長(zhǎng)步長(zhǎng) 語(yǔ)句塊語(yǔ)句塊 exit forexit for 語(yǔ)句塊語(yǔ)句塊 next next 循環(huán)變量循環(huán)變量循環(huán)體循環(huán)體 dim i, s as integer for i = 1

17、to 10 s = s + i next i print i, s 例例2:2: 求求1010!分析分析: :重復(fù)過(guò)程重復(fù)過(guò)程: :* *初值、終值與增量不變初值、終值與增量不變 例例1:1:求求1+2+3+4+ 1+2+3+4+ +10+10之和之和. .分析分析: :重復(fù)過(guò)程重復(fù)過(guò)程( (循環(huán)體循環(huán)體) ): : + +初值、終值和增量初值、終值和增量:1、10、1 dim i, s as integer for i = 1 to 10 s = s * i next i print i, ss=1for i = 1 to 10for i = 1 to 10 s=1forfor循環(huán)循環(huán)s1

18、=0s2 =0for i = s1 = s1 + inext i練習(xí)練習(xí)1 1:計(jì)算:計(jì)算1 110001000的奇數(shù)和與偶數(shù)和的奇數(shù)和與偶數(shù)和 方法一:方法一: 方法二:方法二:for i = s2 = s2 + inext iprint s1,s2s1 =0s2 =0for i = if i mod 20 then s1 = s1 + i else s2 = s2 + i end ifnext iprint s1,s2forfor循環(huán)循環(huán)練習(xí)練習(xí)2 2:輸入一個(gè)正整數(shù),求個(gè)位數(shù)字之和:輸入一個(gè)正整數(shù),求個(gè)位數(shù)字之和 輸入正整數(shù)輸入正整數(shù)k 求它的位數(shù)求它的位數(shù) 用用for循環(huán)循環(huán) 1,位數(shù)

19、和步長(zhǎng),位數(shù)和步長(zhǎng) 取取k的末位數(shù),求和的末位數(shù),求和 使使k去掉末位數(shù)去掉末位數(shù) 重復(fù)以上兩步,直到結(jié)束重復(fù)以上兩步,直到結(jié)束 在在text2中顯示結(jié)果中顯示結(jié)果forfor循環(huán)循環(huán)例:分析下列程序段的輸出結(jié)果:例:分析下列程序段的輸出結(jié)果: dim i as integer, j as integer j = 0 for i = 0 to 10 step 2 i = i + 3 j = j + 1 next i注意:注意:1.1.初值、終值、步長(zhǎng)必須是初值、終值、步長(zhǎng)必須是數(shù)值型數(shù)值型, 步長(zhǎng)為步長(zhǎng)為正正,初值,初值 終值;終值;缺省缺省為默認(rèn)為為默認(rèn)為1 12.2.在已知循環(huán)次數(shù)時(shí)使用在

20、已知循環(huán)次數(shù)時(shí)使用forfor循環(huán),循環(huán),循環(huán)次數(shù)循環(huán)次數(shù)=int(=int(終值終值- -初值初值)/)/步長(zhǎng)步長(zhǎng))+1)+13.3.組成循環(huán)體的語(yǔ)句塊可以是一條或多條語(yǔ)句組成循環(huán)體的語(yǔ)句塊可以是一條或多條語(yǔ)句4.exit for4.exit for表示當(dāng)遇到該語(yǔ)句時(shí),退出循環(huán)體,執(zhí)行表示當(dāng)遇到該語(yǔ)句時(shí),退出循環(huán)體,執(zhí)行nextnext的下一句;的下一句;5.5.退出循環(huán)后,循環(huán)變量保持退出時(shí)的值退出循環(huán)后,循環(huán)變量保持退出時(shí)的值6.6.只有當(dāng)循環(huán)變量發(fā)生變化時(shí)只有當(dāng)循環(huán)變量發(fā)生變化時(shí), ,執(zhí)行的次數(shù)才會(huì)改變執(zhí)行的次數(shù)才會(huì)改變. .forfor循環(huán)循環(huán)1. do 1. do whilewhi

21、le 循環(huán)體循環(huán)體 looploop2. d0 2. d0 循環(huán)體循環(huán)體 loop loop whilewhile 3. do 3. do untiluntil 循環(huán)體循環(huán)體 looploop4. do 4. do 循環(huán)體循環(huán)體 loop loop until until dodolooploop循環(huán)循環(huán) do while do while 循環(huán)體循環(huán)體 looploop執(zhí)行過(guò)程執(zhí)行過(guò)程: :(先判斷,后執(zhí)行)(先判斷,后執(zhí)行)先判斷循環(huán)條件先判斷循環(huán)條件, ,若為真若為真: :執(zhí)行循環(huán)體執(zhí)行循環(huán)體, ,再判斷循環(huán)條件再判斷循環(huán)條件否則,跳過(guò)循環(huán)體否則,跳過(guò)循環(huán)體, ,執(zhí)行執(zhí)行l(wèi)ooploop

22、之后語(yǔ)句之后語(yǔ)句循環(huán)條件循環(huán)條件語(yǔ)句塊語(yǔ)句塊tf語(yǔ)句塊語(yǔ)句塊fexit doexit dotdodolooploop循環(huán)循環(huán) do while do while 循環(huán)體循環(huán)體 looploop dim i, s as integer for i = 1 to 10 s = s + i next i print i, s例例1:1:求求1+2+3+4+1+2+3+4+10+10的和的和. .dim i,s as integer dim i,s as integer i=1i=1do whiledo whilelooploopprint i,s print i,s s=s+i s=s+i i=10

23、i=10i=i+1i=i+1i=11i=11(1)(1)循環(huán)體執(zhí)行了幾次循環(huán)體執(zhí)行了幾次? ? (2)(2)沒(méi)有沒(méi)有i=1i=1會(huì)怎樣會(huì)怎樣? ?(3)(3)將將printprint語(yǔ)句移到語(yǔ)句移到looploop的的 前面結(jié)果怎樣前面結(jié)果怎樣? ?(4)i(4)i先賦值為先賦值為11,11,結(jié)果如何結(jié)果如何? ?dodolooploop循環(huán)循環(huán) d0 d0 循環(huán)體循環(huán)體 loop while loop while 執(zhí)行過(guò)程執(zhí)行過(guò)程: :(先執(zhí)行,后判斷)(先執(zhí)行,后判斷)先執(zhí)行循環(huán)體先執(zhí)行循環(huán)體, ,再判斷循環(huán)條件再判斷循環(huán)條件, ,若為真,若為真, 繼續(xù)執(zhí)行循環(huán)體繼續(xù)執(zhí)行循環(huán)體; ;否則,

24、結(jié)束循環(huán)否則,結(jié)束循環(huán), ,執(zhí)行執(zhí)行l(wèi)ooploop之后語(yǔ)句之后語(yǔ)句循環(huán)條件循環(huán)條件語(yǔ)句塊語(yǔ)句塊tf語(yǔ)句塊語(yǔ)句塊fexit doexit dotdodolooploop循環(huán)循環(huán) d0 d0 循環(huán)體循環(huán)體 loop while loop while 例例4:4:修改例修改例3 3 dim i,s as integer dim i,s as integer i=1 i=1 do do while i=10while i=10 s=s+i s=s+i i=i+1 i=i+1 loop loop print i,s print i,s dim i,s as integer dim i,s as int

25、eger i=1 i=1 do do s=s+i s=s+i i=i+1 i=i+1 loop loop while i=10while i=10 print i,s print i,s dodolooploop循環(huán)循環(huán) do do whilewhile 循環(huán)體循環(huán)體 looploop d0 d0 循環(huán)體循環(huán)體 loop loop whilewhile 區(qū)別區(qū)別: :(1)(1)執(zhí)行順序不同執(zhí)行順序不同 形形式一式一: :先判斷先判斷, ,后執(zhí)行后執(zhí)行循環(huán)體循環(huán)體; ; 形式二形式二: :先執(zhí)行先執(zhí)行循環(huán)體循環(huán)體, ,后判斷后判斷 (2)(2)執(zhí)行次數(shù)不同執(zhí)行次數(shù)不同(特殊情況下) 形式一形式

26、一: :條件不滿(mǎn)足條件不滿(mǎn)足, ,循環(huán)體可能一次也不執(zhí)行循環(huán)體可能一次也不執(zhí)行 形式二形式二: :不論條件如何不論條件如何, ,至少執(zhí)行一次至少執(zhí)行一次dodolooploop循環(huán)循環(huán)練習(xí)練習(xí)3:用輾轉(zhuǎn)相除法求兩自然數(shù):用輾轉(zhuǎn)相除法求兩自然數(shù)m、n的最大公約數(shù)的最大公約數(shù)和和 最小公倍數(shù)最小公倍數(shù)分析:分析:最大公約數(shù)最大公約數(shù) 已知兩數(shù)已知兩數(shù)m、n m mod n的值為的值為r mn,nr, 若若r0 ,則重復(fù),則重復(fù) 否則,循環(huán)結(jié)束,否則,循環(huán)結(jié)束,m為所求的最大公約數(shù),為所求的最大公約數(shù),最小公倍數(shù)最小公倍數(shù)原兩個(gè)數(shù)相乘,再除以最大公約數(shù)原兩個(gè)數(shù)相乘,再除以最大公約數(shù)dodoloopl

27、oop循環(huán)循環(huán)執(zhí)行過(guò)程執(zhí)行過(guò)程: :(先判斷,后執(zhí)行)(先判斷,后執(zhí)行)先判斷循環(huán)條件:先判斷循環(huán)條件:條件為條件為假假: : 執(zhí)行循環(huán)體執(zhí)行循環(huán)體, , 然后再判斷條件然后再判斷條件. .條件為條件為真真: : 跳過(guò)循環(huán)體跳過(guò)循環(huán)體, , 執(zhí)行執(zhí)行l(wèi)ooploop之后語(yǔ)句之后語(yǔ)句 do until do until 循環(huán)體循環(huán)體 looploop循環(huán)條件循環(huán)條件語(yǔ)句塊語(yǔ)句塊語(yǔ)句塊語(yǔ)句塊fexit doexit dotdodolooploop循環(huán)循環(huán) do until do until 循環(huán)體循環(huán)體 looploop例例5:5:修改上例修改上例dim i,s as integer dim i,

28、s as integer i=1i=1do do while i=10while i=10 s=s+i s=s+i i=i+1 i=i+1looploopprint i,s print i,s dim i,s as integer dim i,s as integer i=1i=1do do until until s=s+is=s+i i=i+1 i=i+1looploopprint i,s print i,s 條件應(yīng)該如何寫(xiě)出條件應(yīng)該如何寫(xiě)出? 顯示的顯示的i、s值與值與 上例一樣嗎?上例一樣嗎? do do 循環(huán)體循環(huán)體 loop until loop until dodolooploo

29、p循環(huán)循環(huán) dodo while while 循環(huán)體循環(huán)體 looploop( while while ) do do until until 循環(huán)體循環(huán)體 looploop( until until )區(qū)別區(qū)別: : while while 條件為條件為真真時(shí)執(zhí)行循環(huán)體時(shí)執(zhí)行循環(huán)體, ,否則退出循環(huán)否則退出循環(huán) until until 條件為條件為假假時(shí)執(zhí)行循環(huán)體時(shí)執(zhí)行循環(huán)體, ,否則退出循環(huán)否則退出循環(huán)關(guān)系:關(guān)系: whilewhile和和untiluntil可以相互可以相互轉(zhuǎn)換轉(zhuǎn)換,但循環(huán)條件,但循環(huán)條件取反取反dodolooploop循環(huán)循環(huán)在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)在一

30、個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)4.4.3 4.4.3 循環(huán)嵌套循環(huán)嵌套 for i = 1 to 9 for j = 1 to i s = i & & j & = & i * j picture1.print tab(j - 1) * 8 + 1); s; next j picture1.print next i注意:注意: 內(nèi)、外循環(huán)變量不能同名內(nèi)、外循環(huán)變量不能同名 外循環(huán)必須完全包含內(nèi)循環(huán),不能出現(xiàn)交叉外循環(huán)必須完全包含內(nèi)循環(huán),不能出現(xiàn)交叉 分析:用三種循環(huán)分析:用三種循環(huán)個(gè)位個(gè)位x x的可能取值為的可能取值為0 09 9十位十位y y的可能取值為的

31、可能取值為0 09 9百位百位z z的可能取值為的可能取值為1 19 9, 看三個(gè)位置上的數(shù)是否滿(mǎn)足如下條件,若滿(mǎn)足,即看三個(gè)位置上的數(shù)是否滿(mǎn)足如下條件,若滿(mǎn)足,即是其中一個(gè)解是其中一個(gè)解 x x3 3+y+y3 3+z+z3 3=z=z100100y y1010 x x 練習(xí)練習(xí)6 6:求水仙花數(shù):求水仙花數(shù) 水仙花數(shù)是指一個(gè)水仙花數(shù)是指一個(gè)3 3位數(shù),其各個(gè)數(shù)字的立方和等于位數(shù),其各個(gè)數(shù)字的立方和等于數(shù)字本身。數(shù)字本身。循環(huán)嵌套循環(huán)嵌套 滿(mǎn)足循環(huán)條件的情況下,提前跳出循環(huán)體,結(jié)束循環(huán)。滿(mǎn)足循環(huán)條件的情況下,提前跳出循環(huán)體,結(jié)束循環(huán)。 兩種形式:兩種形式:exit for、exit do 作

32、用:無(wú)條件的轉(zhuǎn)移到標(biāo)號(hào)或行號(hào)指定的語(yǔ)句作用:無(wú)條件的轉(zhuǎn)移到標(biāo)號(hào)或行號(hào)指定的語(yǔ)句 語(yǔ)法:語(yǔ)法:goto 標(biāo)號(hào)標(biāo)號(hào)|行號(hào)行號(hào) 100100 if i = 100 then if i = 100 then s = s + i s = s + i i = i + 2 i = i + 2 goto 100 goto 100 end if end if其他輔助控制語(yǔ)句其他輔助控制語(yǔ)句dim i as integerif i mod 17 =0 then print i end if for i=100 to 200 next iexit for分析:分析: 重復(fù)工作:判斷每個(gè)數(shù)除重復(fù)工作:判斷每個(gè)數(shù)除17

33、的余數(shù)是否為的余數(shù)是否為0 初值、終值和增量:初值、終值和增量:練習(xí)練習(xí)7 7: 求出求出100100200200之間的之間的第一個(gè)第一個(gè)能被能被1717整除的整數(shù)。整除的整數(shù)。其他輔助控制語(yǔ)句其他輔助控制語(yǔ)句程序示例程序示例51.1.累加、連乘累加、連乘例例1 1:編寫(xiě)一個(gè)大獎(jiǎng)賽統(tǒng)計(jì)選手得分的程序。:編寫(xiě)一個(gè)大獎(jiǎng)賽統(tǒng)計(jì)選手得分的程序。 要求單擊要求單擊“得分顯示得分顯示”按鈕,則可以利用隨機(jī)函數(shù)產(chǎn)生按鈕,則可以利用隨機(jī)函數(shù)產(chǎn)生1010個(gè)個(gè)8080100100分之間的隨機(jī)整數(shù),輸出在窗體上,并將計(jì)算選手的分之間的隨機(jī)整數(shù),輸出在窗體上,并將計(jì)算選手的最后得分也在窗體上顯示。最后得分也在窗體上顯

34、示。如果在評(píng)委的給分中,去掉一個(gè)最高分和一個(gè)最低分,然如果在評(píng)委的給分中,去掉一個(gè)最高分和一個(gè)最低分,然后計(jì)算最后得分后計(jì)算最后得分分析:由隨機(jī)函數(shù)生成分析:由隨機(jī)函數(shù)生成8080100100之間的之間的1010個(gè)數(shù)據(jù)個(gè)數(shù)據(jù) 連續(xù)求和連續(xù)求和 求平均值求平均值 2.2.求階乘求階乘例例2 2:求任一給定整數(shù)的階乘,:求任一給定整數(shù)的階乘,n n!分析:對(duì)于任意整數(shù)分析:對(duì)于任意整數(shù)n n,有三種可能:,有三種可能: 若若 :n=0:n0:n0:用循環(huán)實(shí)現(xiàn)乘運(yùn)算用循環(huán)實(shí)現(xiàn)乘運(yùn)算 輸出結(jié)果輸出結(jié)果: 1.1.已知已知n n,求,求1! 1! n!n!之和之和 2.2.給定條件給定條件1! 1! n

35、!n!之和之和=5000=5000,求最大,求最大n n值值 3.3.求近似值求近似值例例3 3:利用級(jí)數(shù)和求:利用級(jí)數(shù)和求cos(x)cos(x)函數(shù)的近似值函數(shù)的近似值( (誤差誤差 10-6) =ix=i時(shí)時(shí) 如果如果x mod ix mod i0 0 ,i i是一個(gè)因子是一個(gè)因子 否則否則i i加加1 1:判斷一個(gè)正整數(shù):判斷一個(gè)正整數(shù)n n是否是完數(shù)是否是完數(shù) 即一個(gè)數(shù)恰好等于它的因子之和即一個(gè)數(shù)恰好等于它的因子之和 如:如:28281 12 24 47 714 14 4.4.窮舉法窮舉法窮舉法:就是將可能出現(xiàn)的各種情況一一測(cè)試,判斷是否窮舉法:就是將可能出現(xiàn)的各種情況一一測(cè)試,判斷

36、是否 滿(mǎn)足條件滿(mǎn)足條件 for x = 0 to 100 for y = 0 to 100 for z = 0 to 100 if x + y + z = 100 and _ 3 * x + 2 * y + 0.5 * z = 100 then print x, y, z end if next z next y next x例:百錢(qián)買(mǎi)百雞例:百錢(qián)買(mǎi)百雞 假設(shè):小雞假設(shè):小雞5 5角角/ /只,公雞只,公雞2 2元元/ /只,母雞只,母雞3 3元元/ /只,現(xiàn)有只,現(xiàn)有100100元錢(qián)要買(mǎi)元錢(qián)要買(mǎi)100100只雞,編只雞,編程列出所有可能的購(gòu)雞方程列出所有可能的購(gòu)雞方案案分析:設(shè)母雞、公雞、小

37、分析:設(shè)母雞、公雞、小雞分別買(mǎi)雞分別買(mǎi)x x、y y、z z只只 x+y+z=100 x+y+z=100 3 3* *x+2x+2* *y+0.5y+0.5* *z=100z=100 for x = 0 to 33 for y = 0 to 50 if 3 * x + 2 * y + 0.5 * (100 - x - y)_ = 100 then print x, y, z end if next y next x4.4.字符轉(zhuǎn)換字符轉(zhuǎn)換例:將一個(gè)二進(jìn)制的原碼轉(zhuǎn)換成反碼例:將一個(gè)二進(jìn)制的原碼轉(zhuǎn)換成反碼分析:分析: 循環(huán)語(yǔ)句循環(huán)語(yǔ)句決定轉(zhuǎn)換的次數(shù)決定轉(zhuǎn)換的次數(shù) midmid函數(shù)獲取一個(gè)二進(jìn)制位函

38、數(shù)獲取一個(gè)二進(jìn)制位 ifif語(yǔ)句判斷該位語(yǔ)句判斷該位0 01,11,10 0思考題:輸入一個(gè)十進(jìn)制整數(shù),輸出其原碼和反碼思考題:輸入一個(gè)十進(jìn)制整數(shù),輸出其原碼和反碼4.4.字符轉(zhuǎn)換字符轉(zhuǎn)換例:字符加密。將由大寫(xiě)英文字母組成的字符串的每個(gè)字符的例:字符加密。將由大寫(xiě)英文字母組成的字符串的每個(gè)字符的asciiascii代碼轉(zhuǎn)換成二進(jìn)制,按位與指定密鑰代碼轉(zhuǎn)換成二進(jìn)制,按位與指定密鑰“01111111”01111111”進(jìn)行異進(jìn)行異或運(yùn)算,把得到的結(jié)果轉(zhuǎn)換成十進(jìn)制數(shù),再轉(zhuǎn)換成對(duì)應(yīng)的加密字或運(yùn)算,把得到的結(jié)果轉(zhuǎn)換成十進(jìn)制數(shù),再轉(zhuǎn)換成對(duì)應(yīng)的加密字符符分析:其中一個(gè)字符的轉(zhuǎn)換分析:其中一個(gè)字符的轉(zhuǎn)換 獲取

39、每個(gè)字母的獲取每個(gè)字母的asciiascii碼(碼(ascasc函數(shù),函數(shù),取子串函數(shù))取子串函數(shù)) 將十進(jìn)制將十進(jìn)制asciiascii碼轉(zhuǎn)換成二進(jìn)制碼轉(zhuǎn)換成二進(jìn)制asciiascii碼。碼。 再與再與0111111101111111進(jìn)行異或運(yùn)算進(jìn)行異或運(yùn)算 再轉(zhuǎn)換成對(duì)應(yīng)的字符(再轉(zhuǎn)換成對(duì)應(yīng)的字符(chrchr函數(shù))函數(shù)) 連接成字符串連接成字符串2. 建立登錄窗口建立登錄窗口3. 一家水果店出售蘋(píng)果、桔子、香蕉和菠蘿四種水果,編一程序,一家水果店出售蘋(píng)果、桔子、香蕉和菠蘿四種水果,編一程序,輸入價(jià)格和重量,輸出應(yīng)付金額。輸入價(jià)格和重量,輸出應(yīng)付金額。4. 要求單擊窗體時(shí),在窗體上顯示系統(tǒng)當(dāng)

40、前的日期。要求單擊窗體時(shí),在窗體上顯示系統(tǒng)當(dāng)前的日期。 輸出格式為輸出格式為“年年月月日星期日星期” 1. 根據(jù)輸入的半徑長(zhǎng)度,計(jì)算圓的周長(zhǎng)和面積根據(jù)輸入的半徑長(zhǎng)度,計(jì)算圓的周長(zhǎng)和面積1. 求求z的值,的值,z 本題能否用本題能否用select case語(yǔ)句替換實(shí)現(xiàn)?為什么?語(yǔ)句替換實(shí)現(xiàn)?為什么?2. 實(shí)驗(yàn)實(shí)驗(yàn)5-23. 貨幣兌換(實(shí)驗(yàn)書(shū)貨幣兌換(實(shí)驗(yàn)書(shū)5-4)4. 計(jì)算運(yùn)費(fèi)(實(shí)驗(yàn)書(shū)計(jì)算運(yùn)費(fèi)(實(shí)驗(yàn)書(shū)5-5)* 5. 編寫(xiě)一個(gè)高速公路收費(fèi)程序編寫(xiě)一個(gè)高速公路收費(fèi)程序 不同的車(chē)行不同的里數(shù),收費(fèi)標(biāo)準(zhǔn)不同。小型客車(chē)收費(fèi)系數(shù)為不同的車(chē)行不同的里數(shù),收費(fèi)標(biāo)準(zhǔn)不同。小型客車(chē)收費(fèi)系數(shù)為1,大型客車(chē),大型客車(chē)

41、的收費(fèi)系數(shù)為的收費(fèi)系數(shù)為1.5,貨車(chē)的收費(fèi)系數(shù)為,貨車(chē)的收費(fèi)系數(shù)為2,當(dāng)行程不超過(guò),當(dāng)行程不超過(guò)100km時(shí),應(yīng)付費(fèi)時(shí),應(yīng)付費(fèi)20收費(fèi)系數(shù),當(dāng)行程不超過(guò)收費(fèi)系數(shù),當(dāng)行程不超過(guò)200km時(shí),應(yīng)付費(fèi)時(shí),應(yīng)付費(fèi)40收費(fèi)系數(shù)收費(fèi),當(dāng)行收費(fèi)系數(shù)收費(fèi),當(dāng)行程不超過(guò)程不超過(guò)300km時(shí),應(yīng)付費(fèi)時(shí),應(yīng)付費(fèi)60收費(fèi)系數(shù)收費(fèi)當(dāng)行程超過(guò)收費(fèi)系數(shù)收費(fèi)當(dāng)行程超過(guò)300km時(shí),應(yīng)付時(shí),應(yīng)付費(fèi)費(fèi)80收費(fèi)系數(shù)收費(fèi)收費(fèi)系數(shù)收費(fèi) 實(shí)現(xiàn):選擇不同的車(chē)型,在實(shí)現(xiàn):選擇不同的車(chē)型,在text1中輸入行使的里數(shù),單擊中輸入行使的里數(shù),單擊“確定確定”按鈕按鈕,在,在text2中顯示其應(yīng)付費(fèi)。中顯示其應(yīng)付費(fèi)。ex+y x0,y0e2x-y 0=x=0lnx x=1實(shí)驗(yàn)循環(huán)結(jié)構(gòu)實(shí)驗(yàn)循環(huán)結(jié)構(gòu)( (一一) )1.6-11.6-1求素?cái)?shù)求素?cái)?shù)2.6-32.6-3求近似值求近似值3.6-4,3.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論