23程式的選擇結構

2021-03-03 20:27:28 字數 4847 閱讀 9161

一、教學目標

1、知識與技能

理解程式選擇結構中的條件選擇語句的執行流程,掌握條件選擇語句和多種選擇語句的使用方法,能夠編寫簡單的選擇結構的程式,以解決生活中的一些計算問題。

2、方法與過程

本節從簡單的問題入手,通過一道求乙個數的絕對值的題目,讓學生明白條件選取擇語句的執行流程及使用方法。通過一道輸入學生分數,判斷該分數是屬於哪種等級的題目,讓學生初步接觸多種選擇語句的使用。進而再做類似的練習,加強學生的理解,課程安排形成循序漸進的梯度,充分挖掘學生潛力。

3、情感態度和價值觀

程式設計選取的題目都是生活中遇到的例子,加強學生利用本學科解決日學生活中的問題的意識。

二、重點難點

1、教學重點

(1)條件選擇語句和多重選擇語句的使用

(2)程式條件選擇結構的執行流程

(3)會使用條件語句和多重選擇語句編寫程式解決簡單的應用題

2、教學難點

根據題目寫出正確的程式

三、教學環境

1、教材處理

教材選自《廣東省普通高中資訊科技選修一:演算法與程式設計》第二章第三節,原教材的第乙個程式例子有關矩形的計算,涉及到解二元一次方程,使用的表示式也較為複雜,授課過程中可能花的時間太多。

所以上課時,把教材的匯入例子作了的簡單的處理,以求乙個數的絕對值作為匯入,學生更易理解條件語句的執行。至於多種選擇語句,教材選用一道求恩格爾系數,從而判斷生活水平的高低的題目,授新課前,就簡單說明一下,再用另一道根據學生分數判斷該成績是屬於哪乙個等級的題目作為實踐,從而與學生的學習更有聯絡,提高學習興趣。

2、預備知識

學生已掌握演算法的概念及描述方法,定義常量與變數的方法,程式設計的四個步驟——分析問題、建立模型、設計演算法和編寫程式。

3、硬體要求

建議本節課在多**電腦教室中完成,有廣播教學系統或投影儀。

4、所需軟體

學生機要安裝vb6.0或以上版本。

5、所需課時

2課時(100分鐘)

四、教學過程

匯入:演示求乙個數的絕對值這道題的程式,讓學生明白通過程式可以解決數學中的問題,也給學生展示完整的程式**,這道程式的功能就是靠這些**來控制的,引起學生的注意,激發他們的求知慾。

一、演示上述的程式,並把程式**中的各行**的作用解釋一遍,順便把程式的執行流程說明一下,編寫的程式與設計的演算法是一致的。

程式2-3

private sub ***mand1_click() 『定義名為***mand1_click()的事件過程

dim a as single 『定義求絕對值的數a為單精度實型

a=inputbox(「r=」,」請輸入半徑」) 『輸入a的值

if a>=0 then 『如果a>=0

print 「y=」;a 『輸出a的值

else

print 「y=」;-a 『輸出-a的值

end if

end sub 『過程結束

二、條件語句

在解決問題的過程中,常常需要對事物進行判斷和選擇,如上題中,求乙個數a的絕對值,如果a>=0,則這個數的絕對值為a,否則為-a。在程式設計中,如何實現判斷和選擇呢?在上述**中,有乙個用if開頭的語句,這就是條件語句。

(一)條件語句的基本格式是:

if 條件 then 語句組1 else 語句組2

或if 條件 then

語句組1

else

語句組2

end if

其中,條件是乙個邏輯表示式,語句組是一組vb的語句。

(二)條件執行語句的執行過程

條件語句的執行過程是:當條件成立時,執行then後面的語句組1,否則執行語句組2,條件語句的執行流程圖如下圖所示。

在條件語句的基本格式中有時可以省略else和語句組2,這時條件語句的執行過程是當條件成立時,執行then後面的語句組1,否則退出條件語句,執行下面的語句。

(三)關係表示式

在程式2-3中,程式的第三行是乙個條件語句,其中的條件a>=0表示式,一般稱為關係表示式,關係表示式是用關係運算子連線起來的式子。

關係運算符號有:

當關係表式成立時其值為真(ture),當表示式不成立時其值則為假(false);關係表示式的值既不是數值型量,也不是字元型量,而是一種新的數量型別——邏輯型。邏輯型只有兩個可能的值:假(false)和真(ture)。

關係表示式的值定義如下:

(1)對數值型的資料比較,是按照數值的大小來進行比較。如13>6的值為真。

(2)對其它型別資料的比較,則按照其序號進行比較。如"d">"b"其值為假。2(四)邏輯表示式

在實際問題中,對於一些複雜的條件,還需要幾個關係表示式組合起來才能表示。例如,條件2not(非)取運算元相反的值。即當運算元為假時,結果為真;當運算元為真時,結果為假。

and(與)當兩個運算元都為真時,結果才為真。

or(或)當兩個運算元都為假時,結果才為假。

(五)邏輯運算的順序

(1)當條件中只有邏輯運算子時,運算的順序為not、and、or

(2)當條件中既有算術運算子,又有關係運算子和邏輯運算子時,運算順序是:算術運算子,關係運算子,邏輯運算子

例如:a+b>c+d and a>=5 or not c>0 or d<0

當a=5,b=7,c=2,d=1時,運算結果是真。

三、練習

四、練習

問題1:某商場為了對蘋果進行**,規定購買2千克以上可以在原價每千克1.5的基礎上打8折。請設計乙個程式計算購買x千克蘋果的應付款。

(1)分析問題

設買蘋果的重量為x千克,應付款為y元,如果x>=2,則y=1.5*x*0.8,否則y=1.5*x。

(2)設計演算法

①輸入x的值

②如果x>=2,則y=1.5*x*0.8

③否則y=1.5*x

④輸出y的值

(3)編寫程式

private sub ***mand1_click()

dim x as single

x=inputbox(「請輸入購買蘋果的重量」)

if x>=2 then

y=1.5*x*0.8

else

y=1.5*x

end if

print 「應付款」;y;「元」

(4)調式程式

五、多重選擇語句

問題2:輸入乙個成績,如果90分以上,則輸出「優秀」;80-89,則輸出「良好」;70-79,則輸出「中等」;60-69,則輸出「及格」;60分以下則輸出「不及格」,請編寫程式。

如果這道題使用if語句來編寫程式的話,程式如下:

程式2-4

private sub ***mand_click()

x=inputbox(「請輸入乙個分數」)

if x>=90 then print」優秀」

if x>=80 and x<89 then print」良好」

if x>=70 and x<79 then print」中等」

if x>=60 and x<69 then print」及格」

if x <60 then print」不及格」

end sub

在程式2-4中,使用了5個if語句來處理5種情況。這樣的程式在可讀性和效率方面都是比較差的,如果再多一些情況,它的缺陷就會暴露得更加明顯,如何處理這個問題呢?

(一)多重選擇語句格式

在vb語言中,設定了乙個處理多種情況的語句,稱為多重選擇語句,它的基本格式為:

select case 表示式

case 表示式列表1

語句組1

case 表示式列表2

…… case else

語句組n+1

end select

其中(1)表示式和表示式列表可以是數值型或字元型,表示式列表還可以是多個用逗號分開的表示式。

(2)表示式列表與表示式的型別必須相同。

(3)表示式列表又稱值域,它有如下三種形式:

①表示式1,表示式2,……

②表示式1 to表示式2

③is關係表示式

(二)多重選擇語句的執行過程

多重選擇語句的執行過程是:

當表示式的值為表示式列表1時,執行語句組1;

當表示式的值為表示式列表2時,執行語句組2;

…… 當表示式的值為表示式列表n時,執行語句組n;

當表示式的值不是上述值時,執行語句組n+1;

有了多重選擇語句,對於多種情況的選擇問題,就可以利用它來解決。運用多重選擇語句編寫問題2的程式如下:

private sub ***mand_click()

x=inputbox(「請輸入學生成績」)

select case x

case is>=90

print」優秀」

case 80 to 89

print」良好」

case 70 to 79

print」中等」

case 60 to 69

print」及格」

case else

print」不及格」

end select

end sub

(三)練習

問題3:我們把字元作如下的分類:大寫字母:a…z;小寫字母:a…z;數字:0…9;其它字元。編寫程式,根據上述分類的方法,輸入乙個字元,報告該字元所屬的型別。

六、小結

與順序結構相比較,選擇結構就是程式的執行不再完全按照語句的順序執行,而是根據某種條件是否成立來決定程式執行的走向,它進一步體現了計算機的智慧型特點。

在vb語言中,選擇結構通過if語句和select case語句這兩個條件語句來實現,運用條件語句的關鍵是條件的表示,如果能夠正確地表達條件,就可以簡化程式,在多重選擇的情況下,使用select case語句,可以使程式更直觀,更準確地描述出分支的走向。

五、 課外拓展

問題4:編乙個程式,輸入三個數,輸出其中的最大數。

2 3程式的選擇結構

一 教學目標 1 知識與技能 理解程式選擇結構中的條件選擇語句的執行流程,掌握條件選擇語句和多種選擇語句的使用方法,能夠編寫簡單的選擇結構的程式,以解決生活中的一些計算問題。2 方法與過程 本節從簡單的問題入手,通過一道求乙個數的絕對值的題目,讓學生明白條件選取擇語句的執行流程及使用方法。通過一道輸...

23節程式的選擇結構

一 教學目標 1 知識與技能 理解程式選擇結構中的條件選擇語句的執行流程,掌握條件選擇語句和多種選擇語句的使用方法,能夠編寫簡單的選擇結構的程式,以解決生活中的一些計算問題。2 方法與過程 本節從簡單的問題入手,通過一道求乙個數的絕對值的題目,讓學生明白條件選取擇語句的執行流程及使用方法。通過一道輸...

2 3節程式的選擇結構

教學過程 匯入 演示求乙個數的絕對值這道題的程式,讓學生明白通過程式可以解決數學中的問題,也給學生展示完整的程式 這道程式的功能就是靠這些 來控制的,引起學生的注意,激發他們的求知慾。一演示上述的程式,並把程式 中的各行 的作用解釋一遍,順便把程式的執行流程說明一下,編寫的程式與設計的演算法是一致的...