VB課件 第5章_第1頁(yè)
VB課件 第5章_第2頁(yè)
VB課件 第5章_第3頁(yè)
VB課件 第5章_第4頁(yè)
VB課件 第5章_第5頁(yè)
已閱讀5頁(yè),還剩79頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、內(nèi)容提要:本章主要介紹內(nèi)容提要:本章主要介紹VBVB的常用控制結(jié)構(gòu)的常用控制結(jié)構(gòu)選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)本章重點(diǎn):掌握本章重點(diǎn):掌握VBVB的流程控制語(yǔ)句的格式、功能、的流程控制語(yǔ)句的格式、功能、使用方法,并能靈活運(yùn)用。使用方法,并能靈活運(yùn)用。5.1.1 5.1.1 算法的概念算法的概念 是解決問(wèn)題的有序步驟。是解決問(wèn)題的有序步驟。順序結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)當(dāng)循環(huán)結(jié)構(gòu)當(dāng)循環(huán)結(jié)構(gòu)直到循環(huán)結(jié)構(gòu)直到循環(huán)結(jié)構(gòu)通常是關(guān)系表達(dá)式或邏輯表達(dá)式通常是關(guān)系表達(dá)式或邏輯表達(dá)式可以是簡(jiǎn)單句,也可以是復(fù)雜句可以是簡(jiǎn)單句,也可以是復(fù)雜句選擇結(jié)構(gòu)示意圖選擇結(jié)構(gòu)示意圖5.2 選 擇 結(jié) 構(gòu) 例:已知兩個(gè)數(shù)

2、例:已知兩個(gè)數(shù)x x和和y y,比較它們的大小,使得,比較它們的大小,使得x x大大于于y.y. If xy Then If xy Then t=x t=x x=y x=y y=t y=t End If End If 或或 If xy Then t=x: x=y: y=tIf x max Then max = b If c max Then max = c Print a; ,; b; ,; c; 中最大值是:中最大值是:; maxEnd Sub比較大小的核心語(yǔ)句功能:若功能:若“表達(dá)式表達(dá)式1”1”成立,執(zhí)行成立,執(zhí)行“語(yǔ)句塊語(yǔ)句塊1”1”;否則若;否則若“表達(dá)式表達(dá)式2”2”成立,執(zhí)行成立

3、,執(zhí)行“語(yǔ)句塊語(yǔ)句塊2”2”;若上述條若上述條件均不成立,執(zhí)行件均不成立,執(zhí)行“語(yǔ)句塊語(yǔ)句塊n+1”n+1”。5.2.2 5.2.2 塊結(jié)構(gòu)條件語(yǔ)句塊結(jié)構(gòu)條件語(yǔ)句yxxxxxxxsincos231030例例5-2 5-2 編程求符號(hào)函數(shù)編程求符號(hào)函數(shù)sgn(x)sgn(x)的值。的值。 P93P93例例5-3 5-3 輸入系數(shù)輸入系數(shù)a,ba,b和和c c,求二次方程,求二次方程axax2 2+bx+c=0+bx+c=0的實(shí)根。的實(shí)根。( (程序流程圖見(jiàn)程序流程圖見(jiàn)P94 P94 圖圖5-11)5-11)代碼如下頁(yè)所示:代碼如下頁(yè)所示:例例5-3代碼:代碼:Private Sub Comman

4、d1_Click() Dim a!, b!, c!, d!, x1!, x2!, x a = Val(InputBox(請(qǐng)輸入系數(shù)請(qǐng)輸入系數(shù)a:):b = Val(InputBox(請(qǐng)輸入系數(shù)請(qǐng)輸入系數(shù)b:) c = Val(InputBox(請(qǐng)輸入系數(shù)請(qǐng)輸入系數(shù)c:):d = b * b - 4 * a * c If d 0 Then x1 = (-b + Sqr(d) / (2 * a): x2 = (-b - Sqr(d) / (2 * a) Print x1=; x1, x2=; x2 Else If d = 0 Then x = -b / (2 * a): Print x=; x E

5、lse Print 此方程無(wú)實(shí)根此方程無(wú)實(shí)根 End If End If End SubPrivate Sub Command2_Click()EndEnd SubIf-Else嵌套調(diào)用構(gòu)成嵌套調(diào)用構(gòu)成多路選擇結(jié)構(gòu)多路選擇結(jié)構(gòu)格式:格式:GoTo GoTo 功能:把控制轉(zhuǎn)移到功能:把控制轉(zhuǎn)移到“標(biāo)號(hào)標(biāo)號(hào)”所在的程序行,并從所在的程序行,并從該行開(kāi)始往下執(zhí)行。該行開(kāi)始往下執(zhí)行。說(shuō)明:說(shuō)明:1 1、標(biāo)號(hào)是一個(gè)標(biāo)識(shí)符或整型數(shù);、標(biāo)號(hào)是一個(gè)標(biāo)識(shí)符或整型數(shù); 2 2、程序必須給、程序必須給GoToGoTo語(yǔ)句提供唯一的轉(zhuǎn)向入語(yǔ)句提供唯一的轉(zhuǎn)向入口,入口處格式為:口,入口處格式為:: 3 3、不能用、不能

6、用GoToGoTo語(yǔ)句轉(zhuǎn)向另一個(gè)過(guò)程。語(yǔ)句轉(zhuǎn)向另一個(gè)過(guò)程。 例例5-4 (5-4 (選講選講) ) 設(shè)計(jì)一個(gè)程序,從鍵盤(pán)上輸入學(xué)生的分?jǐn)?shù),統(tǒng)計(jì)其設(shè)計(jì)一個(gè)程序,從鍵盤(pán)上輸入學(xué)生的分?jǐn)?shù),統(tǒng)計(jì)其中及格的人數(shù)以及總平均分?jǐn)?shù)。中及格的人數(shù)以及總平均分?jǐn)?shù)。見(jiàn)教材見(jiàn)教材P95P95的的 例例5-45-4(應(yīng)用了(應(yīng)用了GotoGoto語(yǔ)句)語(yǔ)句):與:與同類(lèi)型的下面形式之一:同類(lèi)型的下面形式之一: 表達(dá)式表達(dá)式 例例: A: A 一組枚舉表達(dá)式一組枚舉表達(dá)式( (用逗號(hào)分隔用逗號(hào)分隔) 2,4,6,8 ) 2,4,6,8 表達(dá)式表達(dá)式1 To 1 To 表達(dá)式表達(dá)式2 2 60 To 100 60 To 1

7、00 Is Is 關(guān)系運(yùn)算符表達(dá)式關(guān)系運(yùn)算符表達(dá)式 Is 60Is yx y,x x,y y)If If語(yǔ)句的嵌套注意事項(xiàng):書(shū)寫(xiě)鋸齒型;語(yǔ)句的嵌套注意事項(xiàng):書(shū)寫(xiě)鋸齒型; If If 與與End IfEnd If配對(duì)。配對(duì)。T x yT z 為最小數(shù)T 使得 x yFFF x yzx y x 與 y 交換y z y 與 z 交換xyzxyz,用一個(gè),用一個(gè)IFIF語(yǔ)句和一個(gè)嵌語(yǔ)句和一個(gè)嵌套的套的IFIF語(yǔ)句實(shí)現(xiàn)語(yǔ)句實(shí)現(xiàn) If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xy Then t=x: x=y: y=t End If End If

8、例例5-7 (5-7 (選講選講) ) 給出給出a,b,ca,b,c的值,判斷它們能否構(gòu)成三角形。的值,判斷它們能否構(gòu)成三角形。若能構(gòu)成三角形,計(jì)算此三角形的面積。代碼見(jiàn)下頁(yè):若能構(gòu)成三角形,計(jì)算此三角形的面積。代碼見(jiàn)下頁(yè):(3) (3) 選擇結(jié)構(gòu)中的典型問(wèn)題:選擇結(jié)構(gòu)中的典型問(wèn)題: 最大、最小值問(wèn)題,奇偶數(shù)問(wèn)題,成績(jī)判定問(wèn)題等。最大、最小值問(wèn)題,奇偶數(shù)問(wèn)題,成績(jī)判定問(wèn)題等。(2) (2) 什么時(shí)候用單行結(jié)構(gòu)?什么時(shí)候用塊結(jié)構(gòu)?什么時(shí)候用單行結(jié)構(gòu)?什么時(shí)候用塊結(jié)構(gòu)? 當(dāng)語(yǔ)句塊只有一個(gè)語(yǔ)句時(shí),一般用單行結(jié)構(gòu);當(dāng)語(yǔ)句塊只有一個(gè)語(yǔ)句時(shí),一般用單行結(jié)構(gòu); 當(dāng)語(yǔ)句塊不止一個(gè)語(yǔ)句時(shí),一般用塊結(jié)構(gòu);當(dāng)語(yǔ)句塊

9、不止一個(gè)語(yǔ)句時(shí),一般用塊結(jié)構(gòu); 當(dāng)結(jié)構(gòu)比較復(fù)雜時(shí),一般也用塊結(jié)構(gòu)。當(dāng)結(jié)構(gòu)比較復(fù)雜時(shí),一般也用塊結(jié)構(gòu)。 注意:不管是哪種塊結(jié)構(gòu),注意:不管是哪種塊結(jié)構(gòu),ThenThen后的同一行內(nèi)不能有語(yǔ)句,后的同一行內(nèi)不能有語(yǔ)句,如果有,則變成單行結(jié)構(gòu),而且會(huì)導(dǎo)致塊結(jié)構(gòu)的混亂。如果有,則變成單行結(jié)構(gòu),而且會(huì)導(dǎo)致塊結(jié)構(gòu)的混亂。1 1在選擇結(jié)構(gòu)中缺少配對(duì)的結(jié)束語(yǔ)句在選擇結(jié)構(gòu)中缺少配對(duì)的結(jié)束語(yǔ)句 在多行的在多行的If If塊語(yǔ)句中,應(yīng)有配對(duì)的塊語(yǔ)句中,應(yīng)有配對(duì)的 End IfEnd If語(yǔ)句。語(yǔ)句。2. 2. 多選擇多選擇ElseIfElseIf關(guān)鍵字的書(shū)寫(xiě)和條件表達(dá)式的表示關(guān)鍵字的書(shū)寫(xiě)和條件表達(dá)式的表示 Else

10、If ElseIf 不要寫(xiě)成不要寫(xiě)成Else IfElse If。3. Select Case3. Select Case語(yǔ)句的使用語(yǔ)句的使用 Select Case Select Case 后不能出現(xiàn)多個(gè)變量;后不能出現(xiàn)多個(gè)變量;CaseCase子句后不子句后不能出現(xiàn)變量。能出現(xiàn)變量。常常 見(jiàn)見(jiàn) 錯(cuò)錯(cuò) 誤誤5.3.15.3.1ForNextForNext循環(huán)(通常用于循環(huán)次數(shù)已知的情況):循環(huán)(通常用于循環(huán)次數(shù)已知的情況):For For = = To To Step Step Exit ForExit ForNext Next 功能:功能: ForFor循環(huán)按確定的次數(shù)循環(huán)按確定的次數(shù)執(zhí)行

11、循環(huán)體,循環(huán)次數(shù)執(zhí)行循環(huán)體,循環(huán)次數(shù)Int(Int(終值初值終值初值)/ )/步長(zhǎng)步長(zhǎng) 1) 1)此刻步長(zhǎng)為正數(shù)說(shuō)明:說(shuō)明: 1 1、循環(huán)變量:數(shù)值變量。、循環(huán)變量:數(shù)值變量。 2 2、初值、終值、步長(zhǎng):數(shù)值表達(dá)式,值若為實(shí)數(shù),則、初值、終值、步長(zhǎng):數(shù)值表達(dá)式,值若為實(shí)數(shù),則自動(dòng)取整。步長(zhǎng)在不同情況下可為正、負(fù),當(dāng)自動(dòng)取整。步長(zhǎng)在不同情況下可為正、負(fù),當(dāng)“初初值值”“終值終值”時(shí),步長(zhǎng)應(yīng)為正數(shù),反之應(yīng)為負(fù)數(shù);若時(shí),步長(zhǎng)應(yīng)為正數(shù),反之應(yīng)為負(fù)數(shù);若省略則為省略則為1 1。 3 3、循環(huán)體:需重復(fù)執(zhí)行的語(yǔ)句,可以是一句或多句。、循環(huán)體:需重復(fù)執(zhí)行的語(yǔ)句,可以是一句或多句。 4 4、Exit ForE

12、xit For:用于退出循環(huán)。:用于退出循環(huán)。 5 5、NextNext:循環(huán)終端語(yǔ)句。其后的循環(huán)變量與:循環(huán)終端語(yǔ)句。其后的循環(huán)變量與ForFor語(yǔ)句語(yǔ)句中的中的“循環(huán)變量循環(huán)變量”必須相同。必須相同。注意循環(huán)結(jié)束后,注意循環(huán)結(jié)束后,循環(huán)變量循環(huán)變量a a的值的值 例例5-8 5-8 求自然數(shù)求自然數(shù)n n的階乘。的階乘。Private Sub Form_Click() Dim n, i, k As Integer n = Val(InputBox(請(qǐng)輸入n值) k = 1 For i = 1 To n k = k * i Next i Print n; !=; kEnd Sub注意注意k

13、k的初的初值值例例5-9 5-9 輸入一個(gè)班的學(xué)生成績(jī),統(tǒng)計(jì)其中及格的學(xué)生人數(shù),輸入一個(gè)班的學(xué)生成績(jī),統(tǒng)計(jì)其中及格的學(xué)生人數(shù),并計(jì)算出全班的平均分?jǐn)?shù)。并計(jì)算出全班的平均分?jǐn)?shù)。Private Sub Command1_Click() Dim score%, i%, passn%, sum%, n% sum = 0: passn = 0: n = 0 For i = 1 To 50 score = InputBox(請(qǐng)輸入學(xué)生成績(jī)) If score = 60 Then passn = passn + 1 n = n + 1:sum = sum + score End If Next i Text

14、1.Text = Str$(n):Text2.Text = Str$(passn) Text3.Text = Str$(sum / n)End SubPrivate Sub Command2_Click() EndEnd Sub此處跳出For循環(huán)注意注意sumsum的初值的初值功能:功能: 當(dāng)給定的當(dāng)給定的“條件條件”為為T(mén)rueTrue時(shí),執(zhí)行循環(huán)體;時(shí),執(zhí)行循環(huán)體;否則,跳出循環(huán)體,執(zhí)行否則,跳出循環(huán)體,執(zhí)行WendWend后面的語(yǔ)句。后面的語(yǔ)句。注意:注意:(1 1)該循環(huán)結(jié)構(gòu)先測(cè)試條件,該循環(huán)結(jié)構(gòu)先測(cè)試條件,然后決定是否執(zhí)行循環(huán)體然后決定是否執(zhí)行循環(huán)體(2 2)如果)如果“條件條件”總

15、成立,總成立,則構(gòu)成死循環(huán),所以,在循環(huán)則構(gòu)成死循環(huán),所以,在循環(huán)體中應(yīng)該包含有修改體中應(yīng)該包含有修改“條件條件”的操作,使循環(huán)能正常結(jié)束。的操作,使循環(huán)能正常結(jié)束。(3 3)當(dāng)循環(huán)可以嵌套,不允)當(dāng)循環(huán)可以嵌套,不允許交叉。每個(gè)許交叉。每個(gè)WendWend和最近的和最近的WhileWhile相匹配。相匹配。Private Sub Form_Click() Dim age As Integer age = 12 While age * 2 age + 30 age = age + 1 Wend Print “經(jīng)過(guò)”; age - 12; “年,小紅父女的年齡分別是:”;_ age + 30;

16、和; ageEnd Sub表達(dá)式部分形式形式1 1: Do While|Until Do While|Until 語(yǔ)句塊語(yǔ)句塊 Exit Do Exit Do 語(yǔ)句塊語(yǔ)句塊 Loop Loop 形式形式2 2: Do Do 語(yǔ)句塊語(yǔ)句塊 Exit DoExit Do 語(yǔ)句塊語(yǔ)句塊 Loop While|Until Loop While|Until 5.3.3 DoLoop5.3.3 DoLoop循環(huán)循環(huán) ( (通常用于控制循環(huán)次數(shù)未知通常用于控制循環(huán)次數(shù)未知) )Private Sub Form_Click() Dim n%, i%, k% n = Val(InputBox(請(qǐng)輸入一個(gè)正整數(shù)(

17、=2) i = 2: k = Int(n / 2) k=int(sqr(n) Do While i k Then Print n; 是素?cái)?shù) Else Print n; 不是素?cái)?shù)End Sub跳出Do While循環(huán)分析:求最大公約數(shù)的算法思想:分析:求最大公約數(shù)的算法思想: (1)(1)對(duì)于已知兩數(shù)對(duì)于已知兩數(shù)mm,n n,使得使得mnmn; (2) (2) mm除以除以n n得余數(shù)得余數(shù)r r; (3)(3)若若r=r=0 0,則,則n n為最大公約數(shù)結(jié)束;否則執(zhí)行為最大公約數(shù)結(jié)束;否則執(zhí)行(4)(4); (4)(4)mmn n,n nr r,再重復(fù)執(zhí)行,再重復(fù)執(zhí)行(2)(2)。 例例: :

18、 求求 m=14 ,n=6m=14 ,n=6 的最大公約數(shù)。的最大公約數(shù)。 m n r 14 6 2 6 2 0輾轉(zhuǎn)相減法輾轉(zhuǎn)相減法 m=m-n mnm=m-n mn n=n-m nm n=n-m nm mm、n n為公約數(shù)為公約數(shù) m=nm=nDo While m n m Do While m n m n n If m n Then 14 6 If m n Then 14 6 m = m m = m n 8 6 n 8 6 Else 2 6 Else 2 6 n = n n = n m 2 4 m 2 4 End If 2 2 End If 2 2LoopLoop例例5-13 5-13 用輾

19、轉(zhuǎn)相除法求兩自然數(shù)用輾轉(zhuǎn)相除法求兩自然數(shù)mm,n n的最大公約數(shù)和最的最大公約數(shù)和最小公倍數(shù)。小公倍數(shù)。If m Max Then Max = x Next i Print Print 最大值最大值=; MaxEnd Sub求最小值求最小值? ? 求某個(gè)范圍內(nèi)的素?cái)?shù)求某個(gè)范圍內(nèi)的素?cái)?shù) 素?cái)?shù)是一個(gè)素?cái)?shù)是一個(gè)=2=2,除了,除了1 1和自身外,不能被任何整數(shù)整除和自身外,不能被任何整數(shù)整除的整數(shù)。的整數(shù)。 判別某數(shù)判別某數(shù)mm是否為素?cái)?shù)最簡(jiǎn)單的方法是:對(duì)于是否為素?cái)?shù)最簡(jiǎn)單的方法是:對(duì)于m m ,從,從 i=2i=2,3 3,m-1m-1判別判別mm能否被能否被i i整除,只要有一個(gè)能整除整除,只要

20、有一個(gè)能整除,mm不是素?cái)?shù),否則不是素?cái)?shù),否則mm是素?cái)?shù)。是素?cái)?shù)。素?cái)?shù)問(wèn)題:素?cái)?shù)問(wèn)題:1. 1.判斷一個(gè)數(shù)是否是素?cái)?shù)。判斷一個(gè)數(shù)是否是素?cái)?shù)。2.2.求求100100以?xún)?nèi)的素?cái)?shù),每以?xún)?nèi)的素?cái)?shù),每 5 5個(gè)一行(代碼見(jiàn)下頁(yè))。個(gè)一行(代碼見(jiàn)下頁(yè))。3.3.求大于求大于1500015000的第一個(gè)素?cái)?shù)。的第一個(gè)素?cái)?shù)。4.4.求小于求小于1800018000的最大素?cái)?shù)。的最大素?cái)?shù)。求求100以?xún)?nèi)的素?cái)?shù)以?xún)?nèi)的素?cái)?shù)m是否為素?cái)?shù)的條件是否為素?cái)?shù)的條件1. 1. 不循環(huán)或死循環(huán)的問(wèn)題不循環(huán)或死循環(huán)的問(wèn)題 主要是循環(huán)條件、循環(huán)初值、循環(huán)終值、循環(huán)步長(zhǎng)的設(shè)置有問(wèn)題。主要是循環(huán)條件、循環(huán)初值、循環(huán)終值、循環(huán)步長(zhǎng)的設(shè)

21、置有問(wèn)題。2. 2. 循環(huán)結(jié)構(gòu)中缺少配對(duì)的結(jié)束語(yǔ)句循環(huán)結(jié)構(gòu)中缺少配對(duì)的結(jié)束語(yǔ)句 For For 缺少配對(duì)的缺少配對(duì)的Next Next 。3. 3. 循環(huán)嵌套時(shí)循環(huán)嵌套時(shí), ,內(nèi)外循環(huán)交叉。內(nèi)外循環(huán)交叉。4. 4. 累加、連乘時(shí),存放累加、連乘結(jié)果的變量賦初值問(wèn)題累加、連乘時(shí),存放累加、連乘結(jié)果的變量賦初值問(wèn)題 (1) (1)一重循環(huán)一重循環(huán) 在一重循環(huán)中在一重循環(huán)中, ,存放累加、連乘結(jié)果的變量初值設(shè)置應(yīng)在循環(huán)語(yǔ)句存放累加、連乘結(jié)果的變量初值設(shè)置應(yīng)在循環(huán)語(yǔ)句前。前。(2 2)多重循環(huán))多重循環(huán) 這要視具體問(wèn)題分別對(duì)待。這要視具體問(wèn)題分別對(duì)待。常常 見(jiàn)見(jiàn) 錯(cuò)錯(cuò) 誤誤IIf函數(shù)和Choose函數(shù)

22、 1. IIf( )函數(shù) 格式: IIf(條件表達(dá)式,表達(dá)式為(條件表達(dá)式,表達(dá)式為T(mén)rue時(shí)的值,表達(dá)式為時(shí)的值,表達(dá)式為False時(shí)的值)時(shí)的值) 例如,求x,y中大的數(shù),放入Tmax變量中,語(yǔ)句如下: Tmax=IIf(x y,x,y) 2. Choose( )函數(shù) 格式: Choose(數(shù)字類(lèi)型變量,值為(數(shù)字類(lèi)型變量,值為1的返回值,值為的返回值,值為2的返回值的返回值) 例如,Nop是1-4的值,轉(zhuǎn)換成 + 、-、運(yùn)算符的語(yǔ)句如下: Op= Choose(Nop,+,-,) 當(dāng)值為1,返回字符串“+”,然后放入Op變量中,值為2,返回字符串“-”,依次類(lèi)推;當(dāng)Nop是1-4的非整數(shù)

23、,系統(tǒng)自動(dòng)取Nop的整數(shù)再判斷;若Nop不在14之間,函數(shù)返回Null值。 (3) Switch函數(shù)形式是(教材上未寫(xiě)) Switch(條件表達(dá)式(條件表達(dá)式1,條件表達(dá)式,條件表達(dá)式1為為T(mén)rue時(shí)的值時(shí)的值,條件表達(dá)式,條件表達(dá)式2,條件表達(dá)式,條件表達(dá)式2為為T(mén)rue時(shí)的值時(shí)的值)例5.4(補(bǔ)) 變量strC中存放了一個(gè)字符,判斷該字符類(lèi)型。 用多分支結(jié)構(gòu)實(shí)現(xiàn)用多分支結(jié)構(gòu)實(shí)現(xiàn): If Ucase(strC) =A And Ucase (strC) =0 And strC =9 Then Print strC + 是數(shù)字字符 Else Print strC + 其他字符 End If用用S

24、elect Case語(yǔ)句實(shí)現(xiàn)語(yǔ)句實(shí)現(xiàn): Select Case strCCase a To z,A To ZPrint strC + 是字母字符Case 0 To 9Print strC + 是數(shù)字字符Case ElsePrint strC + “是其它字符 End Select例例5-6 5-6 (選講選講) 商店售貨,按購(gòu)買(mǎi)貨物的多少分別給予不同優(yōu)惠商店售貨,按購(gòu)買(mǎi)貨物的多少分別給予不同優(yōu)惠折扣如下折扣如下:編程計(jì)算購(gòu)物款數(shù)。購(gòu)物不足編程計(jì)算購(gòu)物款數(shù)。購(gòu)物不足250元,無(wú)折扣,元,無(wú)折扣,購(gòu)物購(gòu)物滿(mǎn)滿(mǎn)250元、不足元、不足500元,減價(jià)元,減價(jià)5%,計(jì)算機(jī)根據(jù)學(xué)生的答案判斷計(jì)算機(jī)根據(jù)學(xué)生的

25、答案判斷正確與否,當(dāng)結(jié)束時(shí)給出成績(jī)。正確與否,當(dāng)結(jié)束時(shí)給出成績(jī)。購(gòu)物滿(mǎn)購(gòu)物滿(mǎn)500元、不足元、不足1000元,元,減價(jià)減價(jià)7.5%,購(gòu)物滿(mǎn),購(gòu)物滿(mǎn)1000元、不足元、不足2000元,減價(jià)元,減價(jià)10%,購(gòu)物滿(mǎn),購(gòu)物滿(mǎn)2000元,減價(jià)元,減價(jià)15%。 分析分析:設(shè)購(gòu)物款為設(shè)購(gòu)物款為m,折扣為,折扣為d,以上規(guī)定可表示如下:,以上規(guī)定可表示如下:d=0 (m250)5% (250m500)7.5% (500m1000)10% (1000m2000)15% (2000m)代碼如下:Private Sub Command1_Click() Dim m!, d! m = Val(InputBox(請(qǐng)輸應(yīng)

26、付款請(qǐng)輸應(yīng)付款:) Select Case m Case Is 250: d = 0 Case Is 500: d = 0.05 Case Is 1000: d = 0.075 Case Is 2000: d = 0.1 Case Else: d = 0.15 End Select Text1.Text = Str$(m) Text2.Text = Str$(d) Text3.Text = Str$(m * (1 - d)End SubPrivate Sub Command2_Click() EndEnd Subu If If語(yǔ)句的嵌套語(yǔ)句的嵌套 If語(yǔ)句的嵌套是指If或Else后面的語(yǔ)句塊中

27、又包含If語(yǔ)句。 形式如下: If Then If Then End If End If T x yT z 為最小數(shù)T 使得 x yFFF x yzx y x 與 y 交換y z y 與 z 交換xyz,用一個(gè)IF語(yǔ)句和一個(gè)嵌套的IF語(yǔ)句實(shí)現(xiàn) If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If x 0 And y 0 ThenIf x 0 And y 0 Then Print Print 在第一象限在第一象限 ElseIf x 0 ThenElseIf x 0 Then Print Print 在第二象限在第二象限 ElseIf x 0 A

28、nd y 0 ThenElseIf x 0 And y 0 And y 0 And y 0 And y 0 Case x 0 And y 0Print Print 在第一象限在第一象限 Case x 0 Case x 0Print Print 在第二象限在第二象限 Case x 0 And y 0 Case x 0 And y 0 And y 0 And y 0Print Print 在第四象限在第四象限End SelectEnd Select方法二代碼錯(cuò)誤方法二代碼錯(cuò)誤:1. Select Case 后不能出現(xiàn)多個(gè)變量;后不能出現(xiàn)多個(gè)變量;2. Case后不能出現(xiàn)變量及有關(guān)運(yùn)算符。后不能出現(xiàn)變量及有關(guān)運(yùn)算符。此刻步長(zhǎng)為正數(shù)形式1: Do While|Until 語(yǔ)句塊語(yǔ)句塊 Exit Do 語(yǔ)句塊語(yǔ)句塊 Loop 形式2: Do 語(yǔ)句塊語(yǔ)句塊 Exit Do 語(yǔ)句塊語(yǔ)句塊 Loop While|Until 條件成立嗎? F T F T Exit Do 語(yǔ)句塊 語(yǔ)句塊 Exit Do 語(yǔ)句塊 語(yǔ)句塊 條件成立嗎? Do Loop Whi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論