免費預覽已結束,剩余1頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
強烈要求同學們注意:循環(huán)語句的功能介紹和應用的內容是程序設計課程的難點和重點,必須全力以赴注意聽講!下面我們分兩節(jié)課來講解。第38講 循環(huán)語句的功能介紹和應用(上)P21P95先復習一下上節(jié)課內容:1、VB的立即方式,幾個常用函數(shù)的使用介紹(演示):打開矩形求解.FRM的立即窗口? Str(10)+Str(5)? Val(“10”)+ Val(“5”)? Fix(6.1), Fix(6.7), Fix(-6.1),Fix(-6.7)Fix(x)的值為截去x的小數(shù)部分后的整數(shù)部分,而且不四舍五入。S=888? S=; S 兩個以上表達式可以用“,”或“;”分隔,用“;”結果是前后緊接在一起;? S=+ Str(S) 和上面結果一樣2、補講2個函數(shù):(1)、輸入函數(shù):InputBox(x) 運行時,會彈出一個輸入框,函數(shù)值是你鍵盤輸入的值,例如在矩形求解.FRM中,語句L = Text1.Text可用:L=InputBox(“L=”, “請輸入長度”,30)來代替,演示; 格式:InputBox(“提示字符串”, “輸入框名稱”,默認值) 從上面演示中,凡是單引號 后面的內容都不運行,單引號 后面的內容僅是注釋內容; (5)輸出函數(shù):MsgBox(表達式) 彈出一個輸出信息框,把表達式的值顯示出來,例如在程矩形求解.FRM中,語句Text3.Text = d可用:MsgBox(d)代替,演示; MsgBox(表達式)中的表達式可以是字符串(文本),例如:語句Text4.Text = 有二條相同的邊長: 高h=寬w= + Str(L / 4) + cm可用:MsgBox (有二條相同的邊長: 高h=寬w= + Str(L / 4) + cm)來代替;演示:當L=100,S=625時,d=0,只有一個根;一、循環(huán)結構 執(zhí)行語句:1、2行復習例2:求S=1+1/2+1/3+1/n示意性程序如下:(S=S+1/k, k=1,2,3,n)條件1 輸入n值=1002 S=0 : k=1 3 Y3 如果 kn 轉到7 N執(zhí)行程序段:4、54 S=S+1/k5 k=k+16 轉到3 6 轉到3 7 S7 輸出: S 8 結束二、循環(huán)語句功能演示:執(zhí)行例2:求S=1+1/2+1/3+1/n的例2累加求和程序.FRM;求S=1+1/2+1/3+1/n的例2程序的 VB程序代碼如下:n = Val(n)Do While n 1 or n Fix(n) n = InputBox(輸入n不是自然數(shù),請重新輸入n=?) Text1.Text = n n = Val(n)LoopPrivate Sub Command1_Click() 插入下面程序段,可限制n只能輸入自然數(shù): S = 0n = Text1.Text=100For k = 1 To n Step 1 S = S + 1 / kNext k=100+1=101Text2.Text = SEnd SubTrue; 當至少有一個條件為真時; False; 2個條件都為假時;注:邏輯運算符or 是:或者意思,條件表達式1 or 條件邏輯表達式2=邏輯值 (演示:用立即方式驗證Fix(x)和or) P71-73 1、 For語句的一般格式: P79For 循環(huán)變量=初值 To 終值 Step 步長程序段Next循環(huán)變量執(zhí)行功能流程圖如下:循環(huán)變量初值,把終值、步長記錄下來(一次性保存下來)循環(huán)變量超過終值?N Y結束循環(huán)執(zhí)行循環(huán)體內程序段循環(huán)變量循環(huán)變量+步長循環(huán)程序功能示例:(執(zhí)行兩種循環(huán)語句示例.FRM)(1) S=0For K = 1 To 10 Step 1 (注意:Step 1 可省略) Print K 1,2,3,4,10 S = S+K 0+1+2+3+ 10 Next K 執(zhí)行:K K+1,K終值10? Print SPrint K=終值+步長 下面討論For K = 1 To 10 Step 1的其它改變情況:(2) For K = 1 To 10 Step 2 (3) For K = 10 To 1 Step -1 K10+(-1), 9+(-1), 8+(-1),.,直到K=0終值1結束循環(huán)。大于終值; 當步長為正時;小于終值; 當步長為負時;這里說明:循環(huán)變量超過終值?的“超過”意思: “大于”或“小于”的兩種情況流程圖參見:課本P78圖,并和講稿上的執(zhí)行功能流程圖對照;(4) For K = 1 To 10 Step 1S = S+1 每次循環(huán)把當前的S加1,循環(huán)10次:S =1+1+1+1+1+1+1+1+1+1=10Next KPrint S 這里說明:循環(huán)體內程序段里當然可以沒有循環(huán)變量K,這里的K僅是控制循環(huán)次數(shù);(5) For K = 1 To 10 Step 1S = S+1K=K-1Next K=k+1=K+1Print S請問上程序執(zhí)行后,會出現(xiàn)什么情況?(循環(huán)變量不變化,死循環(huán)下去了,中斷死循環(huán),請同時按兩鍵:Ctrl+Break或Ctrl+ C);(提問1:有循環(huán)語句,但一次都不循環(huán)的話,上程序如何修改,如果步長是負的呢?)(6) a=1: b=10: c=1 (討論:初值、終值、步長是表達式情況)For K = a+1 To b Step c (先計算初值、終值、步長,后保存,以后不改變了)S = S+Kb=100 (不能再改變初值了)Next KPrint S討論:若上程序循環(huán)體內程序段里包含a、b、c值的改變情況(演示)這里說明:For語句中初值、終值、步長. 是一次性保存下來不變了,不能在循環(huán)體內改變初值、終值和步長值.。(注意上面的執(zhí)行功能流程圖)三、For/to循環(huán)語句功能練習1、看上講稿,并運行兩種循環(huán)語句示例.FRM,按上面的舉例修改程序并運行,理解For/to循環(huán)語句的功能;2、試完成上面提到的提問1;(請2個同學上來演示?)3、運行例2累加求和程序.FRM,理解For/to循環(huán)語句功能; 只記錄一次后不變了!第39講 循環(huán)語句的功能介紹和應用(下)P21P95復習For/to循環(huán)語句功能,對照流程圖,運行兩種循環(huán)語句示例.FRM;注意:死循環(huán)情況和一次都不循環(huán)得情況(分步長正負情況);四、Do循環(huán)語句的功能介紹 P80在某些情況下,我們事先不能確定For語句中的初值、終值、步長,比如在例2累加求和程序.FRM中,運行演示,我們要限制輸入的n 只能輸入自然數(shù),否則循環(huán)重輸,這里我們不知道重輸次數(shù)?那么這種重輸?shù)难h(huán)我們就不能用For/to循環(huán)語句了,咋辦?但我們知道循環(huán)重輸?shù)臈l件:n 1 或 n不是整數(shù),這時我們要用Do 語句來解決;Do語句的常用格式: n Fix(n)Do While 條件表達式 程序段Loop執(zhí)行功能為:當條件表達式= True(成立時),執(zhí)行執(zhí)行循環(huán)體內程序段,否則(False)終止Do語句循環(huán),其執(zhí)行功能流程圖參見:課本P80圖4.3.4。示范程序:在上例2程序中我們要限制輸入的n 只能輸入自然數(shù),要補充程序段如下:n = Val(n)Do While n 1 or n Fix(n) (只要一個條件成立,說明n不是自然數(shù)) n = InputBox(輸入n不是自然數(shù),請重新輸入n=?) Text1.Text = n n = Val(n)LoopTrue; 當至少有一個條件為真時; False; 2個條件都為假時;注:邏輯運算符or 是:或者意思,條件表達式1 or 條件邏輯表達式2=邏輯值 (演示:用立即方式驗證Fix(x)和or) P71-73 上面Do While程序段的功能就限制輸入的n 只能輸入自然數(shù):演示兩種循環(huán)語句示例.FRM并查看程序代碼 演示:查看上例2累加求和程序.FRM(求S=1+1/2+1/3+1/n)程序代碼并運行(提問2:在保持程序功能不變的情況下,你能不能把上面的For循環(huán)語句改成Do語句呢?)五、循環(huán)語句的應用程序舉例(一)、枚舉算法介紹:P21/P95像公檢法系統(tǒng)審查案件時用的逐一排查嫌疑對象的方法一樣,現(xiàn)實世界中有一類問題可以采用搜索的方法,在搜索結果的過程中,把各種可能的情況都考慮到,并對全部可能結果逐一進行判斷,過濾掉那些不符合要求的,保留符合要求的結果,這種方法叫做枚舉算法(enumerative algorithm)。枚舉算法就是按問題本身的性質,一一列舉出該問題所有可能的解,并在逐一列舉的過程中,檢驗每個可能解是否是問題的真正解,若是,就采納這個解,否則就拋棄它。在列舉的過程中,既不能遺漏也不應重復。1、枚舉算法編程舉例1(數(shù)字填空題): 枚舉算法一般用循環(huán)結構來實現(xiàn),例如:數(shù)字填空題如下: 已知: 25?6=37或67的倍數(shù), 求出滿足條件的所有?數(shù)字; 可知:?=00-99, ?6=(0-99)*10+6, 25?6=25006+(0-99)*10; 所以:設循環(huán)變量為j,則j=0-99, 25?6=25006+j*10; 其算法流程圖參見:課本P22圖2.1.2,其中C=C+1,統(tǒng)計滿足條件的5位數(shù)個數(shù)。 算法流程圖動畫演示:數(shù)字的推算.swf實際參考程序見:枚舉算法.FRM(演示)。 說明:在程序中:(1) If n / 37 = Fix(n / 37) Or n / 67 = Fix(n / 67) Then上面的條件成立,則表示n可以被37或67整除, (2) List1.AddItem n 表示把n值顯示在列表框List1.AddItem中 List1.AddItem c= + Str(c) 是把結果字符串n或c= + Str(c)按次序顯示在列表框(對象)上,一般格式: 列表框對象名. AddItem空格字符串 (使用演示) 列表框對象的功能比文本框對象的優(yōu)點是能顯示多行結果。 再次復習提醒: 列表框List1.AddItem的List1是默認對象名可改名,其屬性名AddItem不能改。 注意:列表框對象名. AddItem=字符串,是錯誤的,不能用=,只能用空格,這和文本框和標簽框對象=賦值不同。2、枚舉算法編程舉例2(求約數(shù)倍數(shù).frm): (1)、求約數(shù):如果i是n的約數(shù),則條件:n / i = Fix(n / i)成立;用立即方式驗證、理解:100/25=Fix(100/25) 成立; 100/27=Fix(100/27) 不成立;問:100以內的約數(shù)是那幾個?我們要輸入n=100,需要對i=1,2,3,.100進行循環(huán)驗證:(演示:求約數(shù)倍數(shù).frm)。(2)、求m的倍數(shù)i:(0n范圍內)我們知道:i=m、2*m、3*m、.,k*m是m的倍數(shù)(k*m=n),我們可以對k作為循環(huán)變量進行循環(huán)(步長Step 1,K=1,2,3,4,.),k*m就是是m的倍數(shù);但我們也可直接把i作為循環(huán)變量進行循環(huán),這時i=k*m就是是m的倍數(shù)(步長Step m):(演示:求約數(shù)倍數(shù).frm)。六、循環(huán)語句功能練習1、閱讀理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 船舶初步設計課程設計
- 生物課題研究的學生參與計劃
- 經理的時間管理技巧分享計劃
- 酒店管理的企業(yè)文化
- 敬業(yè)行業(yè)話務員崗位展望
- 2025年中考物理一輪復習之聲現(xiàn)象
- 酒店管理的利益最大化
- 物流行業(yè)倉儲配送培訓總結
- 汽車美容銷售顧問銷售總結報告
- 2024年設備監(jiān)理師考試題庫附答案(輕巧奪冠)
- 德邦物流人力資源管理規(guī)劃項目診療
- 基于西門子S7-200型PLC的消防給水泵控制系統(tǒng)設計
- 儀器設備采購流程圖
- 盈利能力分析外文翻譯
- 不合格醫(yī)療器械報損清單
- 高中物理全套培優(yōu)講義
- 新一代反洗錢監(jiān)測分析系統(tǒng)操作手冊all
- 礦山環(huán)境保護ppt課件(完整版)
- 檔案保護技術概論期末復習資料教材
- (高清版)外墻外保溫工程技術標準JGJ144-2019
- 聚氨酯基礎知識
評論
0/150
提交評論