VB選擇結構

2021-03-25 07:05:42 字數 4549 閱讀 9657

第四章選擇結構程式設計

程式設計基本過程

①.變數定義

②.變數賦值(直接輸入、文字框輸入、inputbox函式)

③.問題解決計算過程

④.輸出計算結果(print語句、文字框輸出)

執行、除錯、修改及完善程式;儲存程式。

例[4.9] 編寫程式,從鍵盤上輸入三角形的三個邊長值,應用下面計算三角形面積的公式求三角形面積。

⑴.定義變數a, b, c,l,s

⑵.輸入三個邊長值。(任兩邊和大於第三邊)

⑶.根據公式求面積:

第一步求出半周長l:l = ( a + b + c ) / 2。

第二步求出面積s :

⑷.輸出三角形面積s。

程式**設計

dim a!, b!, c!, l!, s!

a = text1

b = text2

c = text3

l = (a + b + c) / 2

s = sqr(l * (l - a) * (l - b) * (l - c))

text4 = s

問題:如果出現a+b 所以要對是否能構成三角形進行判斷,可以才能進行計算;否則就不能計算面積。

用選擇結構可以很容易處理上面的問題。

程式如下:

dim a!, b!, c!, l!, s!

a = text1

b = text2

c = text3

if a+b>c and a+c>b and b+c>a then

l = (a + b + c) / 2

s = sqr(l * (l - a) * (l - b) * (l - c))

text4 = s

end if

4.3 選擇結構程式設計(條件結構)

順序結構程式:順序從上到下依次執行語句。

選擇結構程式:根據條件的成立與否來分別執行不同的程式語句。

主要有以下幾種形式:

行結構條件語句 if … then … else …

塊結構條件語句 if … then … else … end if

多分支條件語句 if … then … elseif … end if

多分支選擇語句 select case … end select。

4.31、32 if語句

格式一:(單分支)

if 條件 then 語句

執行過程:條件滿足,執行語句;否則就不執行。

一般多使用塊結構,格式如下:

if 條件 then

語句 end if

格式二:(雙分支)

if 條件 then 語句1 else 語句2

執行過程:條件滿足,執行語句1;否則執行語句2。兩個語句必會執行其中之一。

一般多使用塊結構,格式如下:

if 條件 then

語句1else

語句2end if

注意:● 格式一是格式二的特例。

● 注意書寫時候各項之間都要空格。

● 注意行if 語句要求把整個語句寫在同一行上;塊if語句then、else後不能跟寫語句,並一定要用end if 結束。

● 寫塊結構if 語句注意縮排,避免語句格式錯誤。

例1: 輸出a、b兩數中較大的乙個數(有程式)

解1a b

a = 100

b = 34

if a>b then print a

if a解2:

a = 100

b = 34

if a>b then print a else print b

解3:(有問題,要修改)

a = text1

b = text2

if a>b then print a else print b

解4:(同上)

a = inputbox("")

b = inputbox("")

if a>b then print a else print b

說明:先定義變數,再使用。(dim a%, b%)

解5: 比較a、b ,找出大的數值放入變數m中去,輸出最大值

dim a%, b%

a = text1

b = text2

if a>b then max = a else max = b

print max

ab max

說明:例[4-12] 任意輸入三個數a,b,c,要求輸出其中數值最大的數。

abc前面2個數好比較大小,3個數怎麼找它們的大小呢?也有多種方法

方法1.

⑴先比較a和b,把大的數放入max中;

⑵再比較c和max,如果c大則將c放入max。

abcmax程式語句:(設a、b、c都已經賦值)

if a>b then max = a else max = b

if c>max then max = c

print max

方法2. 將最大數放在a變數中,最後輸出a。

⑴先比較a和b,如果b大,就將b放入a中;

⑵再比較c和a,c大就將c放入a中。

abc程式語句:(設a、b、c都已經賦值)

if b>a then a = b

if c>a then a = c

print a

演示執行過程: 如b大

abc說明:可以看到,一般都會有變數值丟失的情況。

方法3. 將最大數放在a變數中,最後輸出a。(採用交換方法。)

⑴先比較a和b,如果b大,就交換b、a

⑵再比較c和a,如果c大就將交換c、a

程式語句:(設a、b、c都已經賦值)

if b>a then m = a : a = b: b = m

if c>a then m = a : a = c: c = m

print a

說明:採用這種方法,不會有變數值丟失的情況。

演示執行過程: 如c大

abc例[4-15] 任意輸入三個數a,b,c,要求按大小輸出3個數。

解題:(設a、b、c都已經賦值)

第一步: 將最大數放在a中

第二步: 將次大數放在b中最小數自然就在c中了

最後輸出a 、b、 c

第一步:

if b>a then m = a : a = b: b = m

if c>a then m = a : a = c: c = m

第二步:

if c>b then m = b : b = c: c = m

最後:print a , b , c

設計程式介面如圖所示。其中使用了6個文字框,6個標籤,1個命令按鈕。

圖4-42 程式執行後的介面

「排序」按鈕的單擊事件過程**如下:

dim a!, b!, c!

a = text1

b =text2

c = text3

if a < b then

m = a : a = b : b = m

end if

if a < c then

m = a : a = c : c = m

end if

if b < c then

m = c : c = b : b = m

end if

text4 = a

text5 = b

text6 = c

4.33 iif函式:

iif函式的格式如下:

x =iif(條件,表示式1,表示式2)

「條件」為真,函式值為「表示式1」,否則為「表示式2」。

例 : if a>b then max = a else max = b

可以用下面的iif函式來代替:

max = iif(a > b ,a ,b)

4.34. if語句的巢狀(自己看)

標準if語句:

if 《條件》 then

語句1else

語句2end if

巢狀if語句

if 《條件》 then

if 《條件》 then

語句1else

語句2end if

else

語句3end if

例題4.13

1 x > 0

y= 0 x = 0

1 x < 0

解程式語句如下:

if x > 0 then

y=1else

if x=0 then

y=0else

y=-1

end if

end if

4.35 elseif語句

elseif語句可對多種不同的條件要求進行判斷,從而作出不同的處理。是一種特殊的if巢狀結構。

格式如下:

if 條件1 then

VB選擇結構

三 完善程式鞏固新知 引入 半成品加工策略 出示順序結構中曾經完成的練習,要求學生指出原程式中有哪些還不夠完善的地方,請運用本課知識,進行修改 除錯,鞏固本課重點。要求兩人一組,兩人共同對兩個練習進行分析,然後每人選做一題,可以互相幫助,做完後互相交流,互相評價結果。練習一 乙個小球,不停地向上方滾...

VB選擇結構

按要求儲存檔案,窗體檔名為e6.frm,工程檔名為e6.vbp。7.彈球。窗體上有乙個紅色實心小球shape1,兩個命令按鈕 mand1和 mand2,乙個定時器timer1。shape1控制項屬性設定 shape 3 circle borderstyle 0 transparent fillsty...

VB選擇結構程式設計

阜陽市一職高 尚克震2008年10月15日第一節課 07計 1 教學目標分析 通過教師引導學生去 發現技術背後所蘊含的技術價值和技術思想,使其獲得知識與技能的同時,理解和掌握過程與方法,這樣才能夠學會認知,學會做事,乃至學會生活,提高終生學習的能力 分析解決問題的能力,滿足其終身發展的需要,成為適應...