第四章選擇結構程式設計
程式設計基本過程
①.變數定義
②.變數賦值(直接輸入、文字框輸入、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 教學目標分析 通過教師引導學生去 發現技術背後所蘊含的技術價值和技術思想,使其獲得知識與技能的同時,理解和掌握過程與方法,這樣才能夠學會認知,學會做事,乃至學會生活,提高終生學習的能力 分析解決問題的能力,滿足其終身發展的需要,成為適應...