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