程序的選擇結(jié)構(gòu)課件_第1頁(yè)
程序的選擇結(jié)構(gòu)課件_第2頁(yè)
程序的選擇結(jié)構(gòu)課件_第3頁(yè)
程序的選擇結(jié)構(gòu)課件_第4頁(yè)
程序的選擇結(jié)構(gòu)課件_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2.3 程序的程序的選擇結(jié)構(gòu)選擇結(jié)構(gòu)2.3.1從求一個(gè)數(shù)的絕對(duì)值開(kāi)始 v問(wèn)題問(wèn)題:求一求一個(gè)數(shù)個(gè)數(shù)a的的絕對(duì)值絕對(duì)值 v(2)設(shè)計(jì)設(shè)計(jì)算法。算法。 輸輸入入數(shù)數(shù)A 如果如果A=0,則這個(gè)數(shù)則這個(gè)數(shù)的的絕對(duì)值為絕對(duì)值為A 否否則為則為A 輸輸出出結(jié)結(jié)果果 結(jié)結(jié)束束求一個(gè)數(shù)求一個(gè)數(shù)A A的絕對(duì)值,如果的絕對(duì)值,如果A=0A=0,則這個(gè)數(shù)的絕對(duì)值為,則這個(gè)數(shù)的絕對(duì)值為A A,否則為,否則為A A。v(1)分析問(wèn)題。)分析問(wèn)題。v(3)編寫(xiě)編寫(xiě)程序程序v Private Sub command1_click()Dim A As Single, b As SingleA = InputBox(a=, 請(qǐng)

2、輸入請(qǐng)輸入a值值)If A = 0 Then b = AElse b = -AEnd IfPrint a的絕對(duì)值為的絕對(duì)值為; bEnd Sub v(4)調(diào)試調(diào)試程序程序程序的執(zhí)行流程程序的執(zhí)行流程: : 逐句演示程序的執(zhí)行過(guò)程,體會(huì)條件語(yǔ)句的執(zhí)行過(guò)程。與順序結(jié)構(gòu)逐句演示程序的執(zhí)行過(guò)程,體會(huì)條件語(yǔ)句的執(zhí)行過(guò)程。與順序結(jié)構(gòu)相比較,選擇結(jié)構(gòu)就是程序的執(zhí)行不再完全按照語(yǔ)句的順序執(zhí)行,相比較,選擇結(jié)構(gòu)就是程序的執(zhí)行不再完全按照語(yǔ)句的順序執(zhí)行,而是而是,它進(jìn),它進(jìn)一步體現(xiàn)了計(jì)算機(jī)的智能特點(diǎn)。一步體現(xiàn)了計(jì)算機(jī)的智能特點(diǎn)。如何實(shí)現(xiàn)判斷和選擇呢?在上述代碼中,有一個(gè)用如何實(shí)現(xiàn)判斷和選擇呢?在上述代碼中,有一個(gè)

3、用if if開(kāi)頭開(kāi)頭的語(yǔ)句的語(yǔ)句,這就是,這就是條件語(yǔ)句條件語(yǔ)句。實(shí)例涉及到實(shí)例涉及到判斷判斷,這就是我們今天的新課內(nèi)容,這就是我們今天的新課內(nèi)容 If A=0 then 2.3.2條件語(yǔ)句1.格式: (1) If Then 語(yǔ)語(yǔ)句句組組1 Else 語(yǔ)語(yǔ)句句組組2 (2) IfIf Then 語(yǔ)句組語(yǔ)句組1 1 Else 語(yǔ)句組語(yǔ)句組2 2End IfEnd If2.條件語(yǔ)句的執(zhí)行過(guò)程 條條件件語(yǔ)語(yǔ)句的句的執(zhí)執(zhí)行行過(guò)過(guò)程是:程是:當(dāng)當(dāng)時(shí)時(shí),執(zhí)執(zhí)行行Then后面的后面的,。在條件語(yǔ)句的基本格式中有時(shí)可以省略在條件語(yǔ)句的基本格式中有時(shí)可以省略else和語(yǔ)句組和語(yǔ)句組2,這時(shí)條件語(yǔ)句的執(zhí)行過(guò)程,這

4、時(shí)條件語(yǔ)句的執(zhí)行過(guò)程是當(dāng)條件成立時(shí),執(zhí)行是當(dāng)條件成立時(shí),執(zhí)行then后面的語(yǔ)句組后面的語(yǔ)句組1,否則退出條件語(yǔ)句,執(zhí)行下面的語(yǔ)句。,否則退出條件語(yǔ)句,執(zhí)行下面的語(yǔ)句。 單分支語(yǔ)法格式單分支語(yǔ)法格式單分支語(yǔ)法格式:?jiǎn)畏种дZ(yǔ)法格式:?jiǎn)涡姓Z(yǔ)法單行語(yǔ)法多行語(yǔ)法多行語(yǔ)法(1 1)If If 條件條件 Then Then 語(yǔ)句組語(yǔ)句組(2 2)If If 條件條件 ThenThen 語(yǔ)句組語(yǔ)句組 End If End If這里的條件是關(guān)系表達(dá)式(這里的條件是關(guān)系表達(dá)式( 、= =、=)或邏輯表達(dá)式)或邏輯表達(dá)式(andand、oror、notnot),其值只有真或假兩種,當(dāng)表達(dá)式的值為真時(shí),),其值只有真

5、或假兩種,當(dāng)表達(dá)式的值為真時(shí),視為條件成立。視為條件成立。語(yǔ)句可以是賦值語(yǔ)句(語(yǔ)句可以是賦值語(yǔ)句(a=3a=3)、輸出語(yǔ)句)、輸出語(yǔ)句(print(print、msgbox)msgbox)、結(jié)束、結(jié)束語(yǔ)句語(yǔ)句(end)(end)等。等。(1 1)If If 條件條件 Then Then 語(yǔ)句語(yǔ)句1 Else 1 Else 語(yǔ)句語(yǔ)句2 2(2 2)If If 條件條件 Then Then 語(yǔ)句塊語(yǔ)句塊1 1 Else Else 語(yǔ)句塊語(yǔ)句塊2 2 End If End If雙分支語(yǔ)法格式:雙分支語(yǔ)法格式:注意注意: :在在ifif語(yǔ)句中語(yǔ)句中elseelse部分不需要填寫(xiě)條件。部分不需要填寫(xiě)條件

6、。條件滿足條件滿足條件不滿足條件不滿足雙分支語(yǔ)法格式雙分支語(yǔ)法格式 單分支結(jié)構(gòu)只對(duì)判斷條件為真的情況進(jìn)行處理,雙分支結(jié)構(gòu)既對(duì)判斷條件單分支結(jié)構(gòu)只對(duì)判斷條件為真的情況進(jìn)行處理,雙分支結(jié)構(gòu)既對(duì)判斷條件為真的情況進(jìn)行處理,同時(shí)也對(duì)判斷條件為假的情況進(jìn)行處理,所以雙分為真的情況進(jìn)行處理,同時(shí)也對(duì)判斷條件為假的情況進(jìn)行處理,所以雙分支結(jié)構(gòu)也就多了支結(jié)構(gòu)也就多了elseelse部分的內(nèi)容。部分的內(nèi)容。v If then v v Else v v End ifIf 語(yǔ)句的嵌套If If 條件條件 Then Then 語(yǔ)句組語(yǔ)句組1 1ElseElse 語(yǔ)句組語(yǔ)句組2 2End IfEnd IfIf If t

7、hen2 then 2 ElseElse 3End ifEnd if判斷一個(gè)考試成績(jī),若大于等于判斷一個(gè)考試成績(jī),若大于等于60,則輸出,則輸出“順順利通過(guò)!利通過(guò)!”否則輸出否則輸出“繼續(xù)努力!繼續(xù)努力!”Private Sub Command1_Click()Dim s As Integers = Val(InputBox(請(qǐng)輸入一個(gè)成績(jī):)If s = 60 Then MsgBox 順利通過(guò)! + Str(s), 0, 成績(jī)“Else MsgBox 繼續(xù)努力!End IfEnd Sub語(yǔ)法格式:語(yǔ)法格式:作用:作用:?jiǎn)栴}問(wèn)題: :v 某商場(chǎng)為了對(duì)蘋(píng)果進(jìn)行促銷,規(guī)定購(gòu)買2千克以上可以在原價(jià)

8、每千克1.5的基礎(chǔ)上打8折。請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序計(jì)算購(gòu)買x千克蘋(píng)果的應(yīng)付款。(1)分析)分析問(wèn)題問(wèn)題v 設(shè)買設(shè)買蘋(píng)果的重量蘋(píng)果的重量為為x千克,千克,應(yīng)應(yīng)付款付款為為y元元,如果如果x=2,則則y=1.5*x*0.8,否否則則y=1.5*x (2)設(shè)計(jì)設(shè)計(jì)算法算法v 輸輸入入x的的值值v 如果如果x=2,則則y=1.5*x*0.8v 否否則則y=1.5*xv 輸輸出出y的的值值(3 3)編寫(xiě)程序)編寫(xiě)程序v Private sub command1_click()v Dim x as singlev x=Inputbox(“請(qǐng)輸入購(gòu)買蘋(píng)果的重量”)v if x=2 thenv y=1.5*x*0.8

9、 v elsev y=1.5*x v end if v Print “應(yīng)付款”;y;“元”v End sub(4 4)調(diào)試程序)調(diào)試程序v 在分支語(yǔ)句中,程序執(zhí)行一個(gè)分支后,其余分支不再執(zhí)行;在分支語(yǔ)句中,程序執(zhí)行一個(gè)分支后,其余分支不再執(zhí)行;總結(jié)總結(jié)If If Then Then End IfEnd IfIf If Then Then 1ElseElse 2End IfEnd If單分支結(jié)構(gòu):?jiǎn)畏种ЫY(jié)構(gòu):雙分支結(jié)構(gòu):雙分支結(jié)構(gòu):練習(xí):練習(xí): 凡在商場(chǎng)消費(fèi)滿500元以上(含500元),享受9折優(yōu)惠;消費(fèi)滿1000元以上(含1000元),享受8折優(yōu)惠;消費(fèi)在500元以下不優(yōu)惠。輸入消費(fèi)金額,計(jì)算

10、出實(shí)收金額。Private Sub command1_click()Private Sub command1_click()Dim m As Single,y as single Dim m As Single,y as single 消費(fèi)金額消費(fèi)金額m = Val(inputbox(“m=”,”m = Val(inputbox(“m=”,”輸入消費(fèi)金額輸入消費(fèi)金額”) y = m y = m * * 0.8 0.8 y = m y = m * * 0.9 0.9y = my = m print” print”應(yīng)付應(yīng)付”;y;”y;”元元”End SubEnd Sub簡(jiǎn)答題簡(jiǎn)答題: : 分別用

11、算法的三種描述方式描述下題,并寫(xiě)成程序上機(jī)調(diào)試:某圖書(shū)城書(shū)籍促銷,一次購(gòu)買100元以上書(shū)籍8折,100元以下9折。程序如下程序如下: :v Private Sub command1_click()v Dim a As Singlev a = InputBox(a=, 輸入)v If a = 100 Thenv y = 0.8 * av Elsev y = 0.9 * av End Ifv Print yv End Subv閱讀程序框圖,若輸入m=4,n=3, 則輸出a= ,i= 。 12 3 在線測(cè)試練習(xí)在線測(cè)試練習(xí)1 1語(yǔ)句語(yǔ)句If x=1 Then y=1,If x=1 Then y=1,

12、下列說(shuō)法正確的是(下列說(shuō)法正確的是( )。)。A A、x=1x=1和和 y=1 y=1 均為賦值語(yǔ)句均為賦值語(yǔ)句 B B、x=1x=1和和 y=1y=1均為關(guān)系表達(dá)式均為關(guān)系表達(dá)式C C、x=1x=1為關(guān)系表達(dá)式,為關(guān)系表達(dá)式,y=1y=1為賦值語(yǔ)句為賦值語(yǔ)句D D、x=1x=1為賦值語(yǔ)句,為賦值語(yǔ)句,y=1y=1為關(guān)系表達(dá)為關(guān)系表達(dá)2. 2.2. 2.電梯的最大容量為電梯的最大容量為1313人,在此范圍內(nèi)電梯能正常運(yùn)行,超出了這個(gè)范圍人,在此范圍內(nèi)電梯能正常運(yùn)行,超出了這個(gè)范圍電梯將發(fā)出警報(bào)。(電梯將發(fā)出警報(bào)。( )Dim a as integerDim a as integera=val(

13、inputbox(a=val(inputbox(“請(qǐng)輸入進(jìn)入電梯的人數(shù)請(qǐng)輸入進(jìn)入電梯的人數(shù)”)ifif a=13 a=13 thenthen print print “正常運(yùn)行正常運(yùn)行”elseelse print print “發(fā)出警報(bào)發(fā)出警報(bào)”end ifend ifA.ifA.if.then.thenend ifend ifelseelseB.thenB.thenififelseelseend ifend ifC.ifC.ifthenthenelseelseend ifend ifD.ifD.ifelseelsethenthenend if end if C CC C3.3.以下程序段運(yùn)

14、行后,分別輸入以下程序段運(yùn)行后,分別輸入5 5和和6 6,則輸出字符的排列順序是(,則輸出字符的排列順序是( )I=val(inputbox(I=val(inputbox(“請(qǐng)輸入請(qǐng)輸入I I的值的值”)If I 6 then If I =0表達(dá)式,一般稱為關(guān)系表達(dá)式,關(guān)系表達(dá)式是用關(guān)系運(yùn)算符連接起來(lái)的式子。 關(guān)系運(yùn)算符號(hào)有:關(guān)系運(yùn)算符號(hào)有:運(yùn)算符號(hào)運(yùn)算符號(hào)=含義含義等于等于大于大于大于等于大于等于小于小于小于等于小于等于不等于不等于當(dāng)關(guān)系表式成立時(shí)其值為真(當(dāng)關(guān)系表式成立時(shí)其值為真(Ture),當(dāng)表達(dá)式不成立時(shí)其值則為假(當(dāng)表達(dá)式不成立時(shí)其值則為假(False););關(guān)系表達(dá)式的值既不是數(shù)值

15、型量,也不是字符型量,而是一種新的數(shù)量類型關(guān)系表達(dá)式的值既不是數(shù)值型量,也不是字符型量,而是一種新的數(shù)量類型邏邏輯型。邏輯型只有兩個(gè)可能的值:假(輯型。邏輯型只有兩個(gè)可能的值:假(False)和真()和真(Ture)。)。關(guān)系表達(dá)式的值定義如下:關(guān)系表達(dá)式的值定義如下:(1)對(duì)數(shù)值型的數(shù)據(jù)比較,是按照數(shù)值的大小來(lái)進(jìn)行比較。如)對(duì)數(shù)值型的數(shù)據(jù)比較,是按照數(shù)值的大小來(lái)進(jìn)行比較。如136的值為真。的值為真。(2)對(duì)其它類型數(shù)據(jù)的比較,則按照其序號(hào)進(jìn)行比較。如)對(duì)其它類型數(shù)據(jù)的比較,則按照其序號(hào)進(jìn)行比較。如DB其值為其值為假。假。4.4.邏輯表達(dá)式邏輯表達(dá)式在實(shí)際問(wèn)題中,對(duì)于一些復(fù)雜的條件,還需要幾個(gè)

16、關(guān)系表達(dá)式組合起來(lái)才能表示。例如,條件2X9就需要用2X和X0) and (b10)a10(a0) and (a mod 2 =0)Not(a0) and (a mod 2 =0)5.5.邏輯運(yùn)算的順序邏輯運(yùn)算的順序v(1)當(dāng)條件中只有邏輯運(yùn)算符時(shí),運(yùn)算的順序?yàn)镹ot、And、Orv(2)當(dāng)條件中既有算術(shù)運(yùn)算符,又有關(guān)系運(yùn)算符和邏輯運(yùn)算符時(shí),運(yùn)算順序是:算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,邏輯運(yùn)算符v例如:v a+bc+d and a=5 or not c0 or d-6+1 and 4=4運(yùn)行的結(jié)果是:2.有如下vb程序段: a=2 b=5 if ab then m=a else m=b 該程序運(yùn)行后,

17、變量m的值為:點(diǎn)擊會(huì)考:點(diǎn)擊會(huì)考:v 在分支語(yǔ)句中,程序執(zhí)行一個(gè)分支后,其余分支不再執(zhí)行;在分支語(yǔ)句中,程序執(zhí)行一個(gè)分支后,其余分支不再執(zhí)行;總結(jié)總結(jié)If If Then Then End IfEnd IfIf If Then Then 1ElseElse 2End IfEnd If單分支結(jié)構(gòu):?jiǎn)畏种ЫY(jié)構(gòu):雙分支結(jié)構(gòu):雙分支結(jié)構(gòu):If then Else End ifIf If then2 then 2 ElseElse 3End ifEnd ifIFIF語(yǔ)句的嵌套:語(yǔ)句的嵌套:點(diǎn)擊會(huì)考:點(diǎn)擊會(huì)考:在左邊的文本框輸入一個(gè)在左邊的文本框輸入一個(gè)100100以內(nèi)的正整數(shù)(包括以內(nèi)的正整數(shù)(包括10

18、0100不包括不包括0 0),單擊),單擊“判斷判斷”按鈕,按鈕,在右邊的文本框中顯示是在右邊的文本框中顯示是“奇數(shù)奇數(shù)”還是還是“偶數(shù)偶數(shù)”,輸入大于,輸入大于100100的整數(shù)則顯示的整數(shù)則顯示“輸入輸入的整數(shù)不能超過(guò)的整數(shù)不能超過(guò)100”100”。x 100 x 100 x Mod 2 x Mod 2 End IfEnd If變量變量 = = 對(duì)象對(duì)象. .屬性屬性對(duì)象名對(duì)象名. .屬性名屬性名 = = 屬性值屬性值練習(xí):練習(xí):1.輸入三角形的三條邊長(zhǎng),首先判斷給出的三條邊能否構(gòu)成三角形(三角形的兩邊之和大于第三邊),如可以,則計(jì)算并輸出該三角形的面積;否則輸出不能構(gòu)成三角形。Priva

19、te Sub Command1_Click()Private Sub Command1_Click()Dim a, b, c, p, s As SingleDim a, b, c, p, s As Single a = Val(Text1.Text) a = Val(Text1.Text) b = Val(Text2.Text) b = Val(Text2.Text) c = Val(Text3.Text) c = Val(Text3.Text) p = (a + b + c) / 2 p = (a + b + c) / 2 If (a + b) = c If (a + b) = c OrOr

20、 (a + c) = b (a + c) = b OrOr (b + c) = a Then (b + c) = a Then Print Print 不能構(gòu)成三角形不能構(gòu)成三角形 Else Else s = Sqr(p s = Sqr(p * * (p - a) (p - a) * * (p - b) (p - b) * * (p - c) (p - c) Print Print 三角形的面積是三角形的面積是 & s & s End If End IfEnd SubEnd Sub練習(xí):練習(xí):2.判斷某年是否為閏年的方法是如果該年份的數(shù)值能被4整除但不能被100整除,或者能被4

21、00整除則該年份是閏年。Private Sub Command1_Click()Private Sub Command1_Click() Dim i As Long Dim i As Long i = Val(Text1.Text) i = Val(Text1.Text) If i Mod 4 = 0 And i Mod 100 0 Or i Mod 400 = 0 Then If i Mod 4 = 0 And i Mod 100 0 Or i Mod 400 = 0 Then ption = ption = 該年是閏年!該年是閏年! Else Else ption = ption = 該年

22、不是閏年!該年不是閏年! End If End IfEnd SubEnd Sub練習(xí):練習(xí):3.凡在商場(chǎng)消費(fèi)滿500元以上(含500元),享受9折優(yōu)惠;消費(fèi)滿1000元以上(含1000元),享受8折優(yōu)惠;消費(fèi)在500元以下不優(yōu)惠。輸入消費(fèi)金額,計(jì)算出實(shí)收金額。Private Sub command1_click()Private Sub command1_click() Dim m As Single Dim m As Single 消費(fèi)金額消費(fèi)金額 m = Val(Text1.Text)m = Val(Text1.Text) If m = 1000 Then If m = 1000 Then Text2.Text = m Text2.Text = m * * 0.8

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論