程序流程有三種最基本的控制結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和_第1頁
程序流程有三種最基本的控制結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和_第2頁
程序流程有三種最基本的控制結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和_第3頁
程序流程有三種最基本的控制結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和_第4頁
程序流程有三種最基本的控制結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第 4 章,選擇結(jié)構(gòu)設(shè)計(jì),程序流程有三種最基本的控制結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 在一個(gè)過程中,程序通常是按照由上而下的順序來執(zhí)行各個(gè)語句的,直到整個(gè)過程結(jié)束。引入選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),可以改變程序執(zhí)行的流程。,選擇程序結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果來控制程序的流程,本章主要內(nèi)容,條件表達(dá)式 關(guān)系表達(dá)式 / 邏輯表達(dá)式,條件語句 If.Then / If.Then.Else 條件語句的嵌套,多分支語句 select case,選擇性控件 單選按鈕 / 復(fù)選框 列表框/組合框,計(jì)時(shí)器控件,程序舉例,關(guān)系運(yùn)算符,符號(hào): 大于 =大于或等于 不等于 適用的類型和結(jié)果類型: 關(guān)系運(yùn)算符

2、適用于數(shù)值型、字符型、日期型和邏輯型 數(shù)據(jù),結(jié)果只能為邏輯型(真值True和假值False) 運(yùn)算符兩側(cè)必須是同類型的量或表達(dá)式 若不是,系統(tǒng)會(huì)自動(dòng)進(jìn)行強(qiáng)制類型轉(zhuǎn)換 “5”4 0(10) 若判斷的結(jié)論是成立,則結(jié)果為邏輯真值(True), 否則為邏輯假值(False) True的值等于-1,F(xiàn)alse的值等于0,關(guān)系運(yùn)算符,關(guān)系表達(dá)式,運(yùn)算次序:先分別求出運(yùn)算符兩側(cè)表達(dá)式的值, 然后再將二者進(jìn)行比較 其中:數(shù)值型數(shù)據(jù)按照數(shù)值大小比較 2+36 3=0 523 字符型數(shù)據(jù)按照字符的ASCII碼值大小比較 “1”“2” “a” “a” 日期型數(shù)據(jù)按照前后順序比較 #01/01/2003# # 12

3、/31/2002#,關(guān)系表達(dá)式的格式: ,關(guān)系表達(dá)式練習(xí),數(shù)值型數(shù)據(jù)按照數(shù)值大小比較 字符型數(shù)據(jù)按照字符的ASCII碼值大小比較 日期型數(shù)據(jù)按照前后順序比較, ?2/33/4 ?“a” “b” ?3=5 ?True=-1 ?#01/12/91#=#02/01/91# ? “abc”= “abb” ? “ab”= “我們” ?“123”“99” ?“你們”“我們”,False False True True True False True False False,布爾運(yùn)算符,符號(hào): NOT (邏輯非) AND (邏輯與) 即:并且,要同時(shí)成立 OR (邏輯或) 即:或者,只要有一個(gè)成立 適用的類

4、型和結(jié)果類型: 只適用于邏輯型數(shù)據(jù),運(yùn)算結(jié)果是邏輯值 規(guī)則: 非運(yùn)算的規(guī)則是:直接求反即可 與運(yùn)算的規(guī)則是:只有二者全為真時(shí)結(jié)果為真,否則為假 或運(yùn)算的規(guī)則是:只有二者全為假時(shí)結(jié)果為假,否則為真,布爾表達(dá)式練習(xí),?“a”“b” AND 12 False ?“a”“b” OR 111 False ?233 AND 510 False 表示一個(gè)數(shù)是偶數(shù) x Mod 2=0 或 int(x/2)=x/2 表示一個(gè)數(shù)X能被3或5或7整除 x Mod 3=0 OR x Mod 5=0 OR x Mod 7=0 表示身高不在1.65米以上或不是女生 身高1.65OR性別“女” NOT(身高1.65AND性

5、別“女”),布爾表達(dá)式練習(xí),?321 False a=3:b=4:c=5 ?a=b=c False 表示一個(gè)數(shù)x是能被3整除的奇數(shù) x Mod 3=0 and x Mod 20 x Mod 2=1 and x Mod 20 表示一個(gè)數(shù)x2,5 x2 and x5 表示一個(gè)數(shù)x不在2,5區(qū)間內(nèi) x2 or x5,運(yùn)算符的優(yōu)先順序,算術(shù)運(yùn)算符 字符串運(yùn)算符: 關(guān)系運(yùn)算符:、 布爾運(yùn)算符:Not And Or,運(yùn)算符的優(yōu)先順序練習(xí),設(shè)變量x=4,y=-1,a=7.5,b=-6.2,求表達(dá)式 x+ya+b And Not y0 ) OR (y Mod 400=0 AND y Mod 100=0 ) (

6、y Mod 4=0 AND y Mod 1000 ) OR y Mod 400=0,判斷閏年的科學(xué)依據(jù),地球公轉(zhuǎn)一周的時(shí)間為:365天5小時(shí)48分56秒 每經(jīng)過4年,剩余的時(shí)間為:5小時(shí)48分56秒423小時(shí)15分44秒 則每4年都要多加24小時(shí) 23小時(shí)15分44秒44分16秒 每經(jīng)過100年,就會(huì)多加44分16秒2518小時(shí)26分40秒 比較接近一天,所以每到100年,就將這多加的近似一天的時(shí)間減去, 即停止追加一天 而實(shí)際上又少加了24小時(shí) 18小時(shí)26分40秒5小時(shí)33分20秒 每經(jīng)過400年,就會(huì)少加4 5小時(shí)33分20秒24小時(shí) 所以每過400年,就應(yīng)該再補(bǔ)加一天 故:每4年閏年出

7、現(xiàn)一次;每400年,閏年再出現(xiàn)一次 其它的整100年,閏年停止出現(xiàn)一次,選擇控制結(jié)構(gòu),選擇控制結(jié)構(gòu)又稱分支結(jié)構(gòu) 它體現(xiàn)了程序運(yùn)行過程中的自我判斷能力 程序可以根據(jù)當(dāng)前執(zhí)行的某個(gè)條件,進(jìn)行比較、判斷,并依據(jù)判斷的結(jié)果(成立與否)來決定下一步做什么,不做什么(在兩條或多條程序路徑中選擇一條來執(zhí)行,即只執(zhí)行程序中的一部分語句) 可見,在此結(jié)構(gòu)的程序運(yùn)行過程中,有些語句會(huì)執(zhí)行一次,有些語句在此次程序運(yùn)行過程中沒有機(jī)會(huì)執(zhí)行。即:“無論分支多寡,必選其一;縱然分支眾多,僅選其一” VB中的選擇語句有: 雙分支語句 多分支語句(Select Case),單行(IF-THEN-ELSE),塊結(jié)構(gòu)(IF-THE

8、N-ELSE-END IF),選擇結(jié)構(gòu)(IF-THEN),語句格式: IF THEN ,N,語句序列,下一語句,Y,執(zhí)行過程: 判斷給定的條件 如果成立(其值為True),執(zhí)行所給語句序列,然后執(zhí)行下一條語句 否則(其值為False),跳過所給語句序列,直接執(zhí)行下一條語句 示例: 輸入一個(gè)數(shù),如果是正數(shù),就輸出 x=Val(Text1.text) If x0 Then Label1.Caption=x,問題:如果不是正數(shù),應(yīng)該顯示“不是正數(shù)”,語句格式: IF THEN ELSE ,執(zhí)行過程: 判斷給定的條件 如果成立(其值為True),執(zhí)行所給語句序列1,然后執(zhí)行下一條語句 否則(其值為Fa

9、lse),執(zhí)行所給語句序列2,然后執(zhí)行下一條語句,選擇結(jié)構(gòu)(IF-THEN-ELSE),命令序列1,命令序列2,下一語句,N,Y,(IF-THEN-ELSE)舉例,例二:根據(jù)用戶輸入的一個(gè)成績,判斷是否及格,Dim x As Single X=Val(InputBox(請(qǐng)輸入一個(gè)成績:,輸入,0) IF X=60 THEN Label1.Caption=“及格” Else Label1.Caption=“不及格” 使用IIF函數(shù),也可以實(shí)現(xiàn)相應(yīng)的判斷 格式:IIF(條件,條件為真時(shí)的值,條件為假時(shí)的值),例一:輸入一個(gè)數(shù),如果是正數(shù),就輸出;否則顯示非正數(shù) Dim x As Single x=

10、Val(Text1.text) If x0 Then Label1.Caption=x Else Label1.Caption= “非正數(shù),IIF函數(shù)的使用,Dim x As Single x=Val(Text1.text) If x0 Then Label1.Caption=x Else Label1.Caption= “非正數(shù)” Label1.Caption=IIf(x0,x,“非正數(shù)”) Dim x As Single X=Val(InputBox(請(qǐng)輸入一個(gè)成績:,輸入,0) IF X=60 THEN Label1.Caption=“及格” Else Label1.Caption=“不

11、及格” Label1.Caption=IIf(x=60,“及格”,“不及格”),語句格式: IF THEN ELSE END IF,執(zhí)行過程: 判斷給定的條件 如果成立(其值為True),執(zhí)行所給y語句序列1,然后執(zhí)行下一條語句 否則(其值為False),執(zhí)行所給語句序列2,然后執(zhí)行下一條語句,塊結(jié)構(gòu)(IF-THEN-ELSE-END IF),命令序列1,命令序列2,下一語句,N,Y,(IF-THEN-ELSE-END IF)舉例,示例:根據(jù)用戶輸入的一個(gè)成績,判斷是否及格,Dim x As Single x=Val(InputBox(請(qǐng)輸入一個(gè)成績:, 輸入, 0) If x = 60 Th

12、en Label1.Caption = 及格 Else Label1.Caption = 不及格 End If,(IF-THEN-ELSE-END IF)舉例,示例:輸入ABC的值,判斷能否構(gòu)成三角形,如果能,計(jì)算三角形的面積,Dim a As Single, b As Single, c As Single a=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text) s=(a + b + c) / 2 If a+bc And c0 And a+cb And b0 And b+ca And a0 Then area = Sqr(s * (s -

13、a) * (s - b) * (s - c) Label1.Caption=能構(gòu)成三角形,選擇一個(gè)選項(xiàng)按鈕會(huì)立即清除該組中的其它按鈕;每次只能選一個(gè)選項(xiàng)而且必須選擇一個(gè)選項(xiàng)(問題:在窗體上的是一組?在一個(gè)框架內(nèi)的是一組?) 常用屬性: Caption屬性: 單選按鈕旁邊的標(biāo)題文字 value屬性:表示該按鈕是否被選中。選中為True,否則為False Alignment屬性:單選按鈕標(biāo)題 的對(duì)齊方式 Style屬性:表示控件的外觀(標(biāo)準(zhǔn)格式或圖形方式) 可以將選項(xiàng)按鈕設(shè)計(jì)成圖形按鈕的形式,將Style改為1-Graphical(圖形方式),再依次修改其Caption屬性 單選按鈕使用最多的是c

14、lick事件,單選按鈕程序示例,Private Sub Option1_Click() Text1.FontName = 宋體 End Sub Private Sub Option2_Click() Text1.FontName = 幼圓 End Sub Private Sub Option3_Click() Text1.FontName = 楷體_GB2312 End Sub,提供簡單選擇的控件,復(fù)選框(CheckBox)控件:根據(jù)需要進(jìn)行多項(xiàng)選擇 可以只選一個(gè),也可全選,還可全不選 當(dāng)某一個(gè)復(fù)選框被選中時(shí),復(fù)選框中出現(xiàn)一個(gè)“” 常用屬性: Caption屬性:復(fù)選框旁邊的標(biāo)題文字 valu

15、e屬性:表示該按鈕是否被選中。 0默認(rèn)設(shè)置,未選中狀態(tài)1選中狀態(tài)2禁止?fàn)顟B(tài),不可用 Alignment屬性:復(fù)選框旁邊的標(biāo)題文字的對(duì)齊方式 Style屬性:表示控件的外觀(標(biāo)準(zhǔn)格式或圖形方式) 復(fù)選框按鈕使用最多的是click事件,在事件中需要對(duì)其Value屬性值做判斷,從而根據(jù)用戶的選中狀態(tài)決定程序如何執(zhí)行,復(fù)選按鈕程序示例,Private Sub Check1_Click() If Check1.Value = 1 Then 判復(fù)選框1是否選中 Text1.FontName = 楷體_GB2312 Else Text1.FontName = 宋體 End If End Sub Private Sub Check2_Click() If Check2.Value = 1 Then 判復(fù)選框2是否選中 Text1.FontItalic = True Else Text1.FontItalic = False End If End Sub,Priv

溫馨提示

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

評(píng)論

0/150

提交評(píng)論