- 相關(guān)推薦
VB《選擇結(jié)構(gòu)程序設(shè)計》教案
第一節(jié) IF語句 【教學(xué)目的】 1、 掌握單行結(jié)構(gòu)條件語句IF…THEN…ELSE的語法格式和使用方法。 2、掌握條件表達式的分類、運算符和優(yōu)先順序。 3、掌握IIF函數(shù)的格式和使用方法。 【教學(xué)重點】 單行結(jié)構(gòu)條件語句IF…THEN…ELSE的語法格式和使用方法。 【教學(xué)難點】 單行結(jié)構(gòu)條件語句IF…THEN…ELSE的語法格式和使用方法。 【教學(xué)過程】 (一)組織教學(xué) (二)復(fù) 習(xí) 順序結(jié)構(gòu)程序設(shè)計的方法 (三)新 授 一、條件表達式 1、關(guān)系運算符與關(guān)系表達式 (1)關(guān)系運算符 < , <= , = , > , <> (2)關(guān)系表達式 格式:〈表達式1〉〈關(guān)系運算符〉〈表達式2〉[〈關(guān)系運算符〉〈表達式3〉…] 2、 邏輯運算符與邏輯表達式 VB提供的邏輯運算符有:And、Or、Not、Xor、Eqv、Imp等6種 (1)類型應(yīng)一致。 (2)與數(shù)學(xué)不等式不同 (3)字符型數(shù)據(jù)按其ASCII碼值進行比較。 3、 邏輯運算符的優(yōu)先順序: not → and → Or → Xor → Eqv → Imp (1)同級運算按照它們從左到右出現(xiàn)的順序進行計算。 (2)可以用括號改變優(yōu)先順序,強令表達式的某些部分優(yōu)先運行。 (3)括號內(nèi)的運算總是優(yōu)先于括號外的運算,在括號之內(nèi),運算符的優(yōu)先順序不變。 【例5-1】設(shè)變量x=4,y=-1,a=7.5,b=-6.2,求表達式x +y> a + b And Not y < b的值。 分析:(1) 先作算術(shù)運算: 3 > –1.3 And Not y < b (2) 再作關(guān)系運算: True And Not False (3) 作非運算: True And True (4) 最后得: True 【例5-2】判斷某個年份是閏年的根據(jù)是年份數(shù)滿足下述條件之一。 (1) 能被4整除,但不能被100整除的年份都是閏年。 (2) 能被100整除,又能被400整除的年份都是閏年。 設(shè)變量y表示年份,寫出判斷y是否閏年的布爾表達式。 解:判斷y是否滿足條件(1)的布爾表達式是 y Mod 4=0 And y Mod 100<>0 判斷y是否滿足條件(2)的布爾表達式是 y Mod 100=0 And y Mod 400=0 兩者取“或”,即得判斷閏年的布爾表達式 y Mod 4=0 And y Mod 100<>0 Or y Mod 100=0 And y Mod 400=0 二、單行結(jié)構(gòu)條件語句IF……THEN……ELSE 單行If語句的語法格式為: If〈條件〉Then [<語句序列1>] [ Else<語句序列2>] 單條件選擇結(jié)構(gòu)的流程圖 如果 條件 {該(選擇)條件成立嗎?} 真 a1塊 {條件成立時所執(zhí)行的操作塊,一般為非空塊} 假 a2塊 {條件不成立時所執(zhí)行的操作塊,可為空塊} 單條件選擇結(jié)構(gòu)是最常用的雙分支選擇結(jié)構(gòu),其特點是:所給定條件(條件表達式)的值如果為真,執(zhí)行a1塊;如果為假,則執(zhí)行a2塊。如圖示。 說明: (1)這里的a1塊或a2塊可以是空操作塊(簡稱空塊,也就是不作任何處理的操作塊)。 (2)如果必須設(shè)立空分支時,應(yīng)該把它設(shè)在選擇條件為假的相應(yīng)分支(如a2塊)中。 (3)實現(xiàn)單條件選擇結(jié)構(gòu)的語句是If語句,在V B中有行If語句和塊If語句兩種。 【例5-3】輸入x,計算y的值。其中 分 析:該題是數(shù)學(xué)中的一個分段函數(shù),它表示當(dāng)x≥0時,用公式y(tǒng)=1+x來計算y的值;當(dāng)x < 0時,用公式y(tǒng)=1-2x來計算y的值。在選擇條件時,我們即可以選擇x≥0作為條件,也可以選擇x<0作為條件。在這里,我們選x≥0作為選擇條件。這時,當(dāng)x≥0為真時,執(zhí)行y = 1+x;為假時,執(zhí)行y = 1-2x。 設(shè)計步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對象屬性。 (2) 編寫程序代碼。 寫出命令按鈕Command1的單擊(Click)事件代碼為 Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x >= 0 Then y = 1 + x Else y = 1 – 2 * x Text2.Text = y End Sub 【練習(xí)1】輸入整數(shù)x,根據(jù)x的值顯示是奇數(shù)還是偶數(shù)。 提示:在文本框中顯示結(jié)果。 方法:提問,可讓學(xué)生板書,最后講評 【例5-4】學(xué)校對學(xué)習(xí)成績優(yōu)良的學(xué)生進行獎勵,獲獎的條件如下: (1) 所考5門課的總分超過450分。 (2) 每門課的成績都在88分以上。 (3) 前3門(主課)的成績都在95分以上,其他兩門(非主課)的成績都在80分以上。 輸入某學(xué)生5門課的成績s1、s2、s3、s4、s5,判斷他是否能夠獲獎。 分析:依題意列出3個條件表達式: (1)s1 + s2 + s3 + s4 + s5 >= 450 (2)s1 >= 88 And s2 >= 88 And s3 >= 88 And s4 >= 88 And s5 >= 88 (3)s1 >= 95 And s2 >= 95 And s3 >= 95 And s4 >= 80 And s5 >= 80 設(shè)計步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對象屬性。 (2) 編寫程序代碼。 窗體中各控件的屬性設(shè)置見教材P69 可以寫出命令按鈕Command1的單擊(Click)事件代碼為: Private Sub Command1_Click() Dim s1 As Single, s2 As Single, s3 As Single, s4 As Single, s5 As Single Dim p As String s1 = Val(InputBox(請輸入第1門課的成績:, 輸入框, 0)) s2 = Val(InputBox(請輸入第2門課的成績:, 輸入框, 0)) s3 = Val(InputBox(請輸入第3門課的成績:, 輸入框, 0)) s4 = Val(InputBox(請輸入第4門課的成績:, 輸入框, 0)) s5 = Val(InputBox(請輸入第5門課的成績:, 輸入框, 0)) t1 = (s1 + s2 + s3 + s4 + s5 >= 450) t2 = (s1 >= 88 And s2 >= 88 And s3 >= 88 And s4 >= 88 And s5 >= 88) t3 = (s1 >= 95 And s2 >= 95 And s3 >= 95 And s4 >= 80 And s5 >= 80) If t1 Or t2 Or t3 Then p= 可以獲獎! Else p=不能獲獎! p=Str(s1) & , & Str(s2) & , & Str(s3) & , & Str(s4)&,& Str(s5)&Chr(13)& p Label1.Caption = 該生五門課的成績分別是: & Chr(13) & p End Sub 分析:(1)InputBox語句的格式。 (2)程序中p變量的作用。 【練習(xí)2】修改程序中的條件,讓學(xué)生編寫程序。 提問及討論 【例5-5】利用輸入框函數(shù)輸入3個不同的數(shù),選出其中最大的數(shù)。 設(shè)計步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對象屬性。 (2) 編寫程序代碼。 可以寫出命令按鈕Command1的單擊(Click)事件代碼為 Private Sub Command1_Click() Dim a As Single, b As Single, c As Single a = Val(InputBox(請輸入第1個數(shù):, 輸入框, 0)) b = Val(InputBox(請輸入第2個數(shù):, 輸入框, 0)) c = Val(InputBox(請輸入第3個數(shù):, 輸入框, 0)) p = & a & , & b & , & c p = p & 三個數(shù)中最大的數(shù)是: If a > b And a > c Then p = p & a If b > a And b > c Then p = p & b If c > a And c > b Then p = p & c Label1.Caption = p End Sub 討論:可以用哪些方法編寫求最大值的程序段? 【練習(xí)3】利用輸入框函數(shù)輸入4個不同的數(shù),選出其中最大的數(shù)。 提問,討論,練習(xí) 三、IIf函數(shù)的語法結(jié)構(gòu)為 格式:IIf(〈條件表達式〉,〈真部分〉,〈假部分〉) 【例5-6】例5-3中命令按鈕Command1的單擊(Click)事件代碼可以改為 輸入x,計算y的值。其中: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) y = IIf(x >= 0, 1 + x, 1 – 2 * x) Text2.Text = y End Sub (四)總結(jié): (五)作業(yè): 1、利用輸入框函數(shù)輸入4個不同的數(shù),選出其中最小的數(shù)。 2、輸入整數(shù)x,根據(jù)x的值判斷是正數(shù)還是負數(shù)、0。【VB《選擇結(jié)構(gòu)程序設(shè)計》教案】相關(guān)文章:
表示選擇的并列結(jié)構(gòu)05-04
《結(jié)構(gòu)法則》教案09-16
大班結(jié)構(gòu)游戲教案04-01
細胞的基本結(jié)構(gòu)教案01-14
vb實訓(xùn)心得11-25
程序設(shè)計心得11-15
《讀書要有選擇》教案03-03
《未選擇的路》教案03-12