教學(xué)目標(biāo)
知識與技能:理解程序設(shè)計的順序結(jié)構(gòu)基本思想,掌握順序結(jié)構(gòu)語句特點。
過程與方法:培養(yǎng)用算法分析問題的能力,能夠使用順序結(jié)構(gòu)編寫簡單的程序解決具體問題。
情感態(tài)度與價值觀:體會用結(jié)構(gòu)化方法解決數(shù)學(xué)問題的便捷性;明確結(jié)構(gòu)化在程序設(shè)計中的重要作用。
教學(xué)重點
理解程序設(shè)計的順序結(jié)構(gòu)基本思想。
教學(xué)難點
1 順序結(jié)構(gòu)實現(xiàn)語句的格式和功能;2 編寫簡單的程序過程;3 變量的特點。
教學(xué)方法
任務(wù)驅(qū)動法、直觀演示法、師生互動法。
教學(xué)過程
情境導(dǎo)入
通過開始的學(xué)習(xí),我們對VB編程有了初步的體驗,知道了計算機(jī)解決問題的過程和三種描述算法的方法。接下來我們應(yīng)如何來實現(xiàn)算法和進(jìn)行編程呢?
例如,有一次在上體育課的時候,a同學(xué)想和b同學(xué)做一個換球的游戲,同學(xué)們能不能幫他們出出主意?(如a原來拿籃球,b原來拿排球,交換后,a拿排球,b拿籃球)游戲規(guī)則:要求每次交換只允許每人手中最多有一個球。
依照人的正常邏輯,必有學(xué)生想到直接互拋法來交換兩個球的方法。分析算法,引出程序。
算法1直接互拋法
Stepl:a(或b)拿籃球;
Step2:b(或a)拿排球;
Step3:a將籃球(或排球)給b;
Step4:b將排球(或籃球)給a;
Step5:結(jié)束
程序可描述為。
Dim a asinteger
Dim b as integer
a=1
b=2
Print“交換前:a=”;a,“b=”.b
a=b
b=a
Prim”交換后:a=“;a,“b=”;b
運(yùn)行程序不正確,設(shè)下疑點
提問:程序運(yùn)行結(jié)果為什么會和我們交換的結(jié)果不一致呢?
講解:變量的特點,每個變量占用一個內(nèi)存空間,有新的內(nèi)容被送到這個變量中,舊的內(nèi)容就被沖刷掉了。
結(jié)論:上述程序運(yùn)行結(jié)果不能滿足要求,直接互拋法程序不成功。
算法2“第三人”交換法:第三人就像一個郵遞員
Stepl:a(或b)拿籃球,b(或a)拿排球
Step2:輸出交換前a、b的值
Step3:第三人<-a(或b)
step4:第三人<-a(或a)
Step5:b(或a)<-第三人
Step6:輸出交換后a、b的值
Step7:程序結(jié)束
程序程序可描述為。
Dim aasinteger
Dimb asinteger
a=1
b=2
Print“交換前:a=”;a,“b=”;b
C=a
a=b
b=c
Print“交換后:a=”;a,“b=”;b
結(jié)論:第三人就像一個郵遞員,它是a和b換球的中轉(zhuǎn)站,交換真方便,
鞏固練習(xí)
有兩個錐形瓶,1號瓶里面裝的是溴水,2號瓶里面裝的是水,如果我們要交換兩個瓶子里的液體,該怎么辦?
學(xué)生練,老師講:利用第三個變量c來進(jìn)行交換,交換的過程如下。
C=A
A=B
B=C
第三步:輸出交換后A、B的值。
流程圖:由學(xué)生上講臺完成。編寫程序代碼:師生互動完成。
算法3(拓展題)針對體育課的那個題,若允許某一瞬間有人可以同時拿著兩個球,程序應(yīng)該怎么編寫?
師生共同討論完成:算法復(fù)雜,學(xué)生可能無法想到,理解程序的運(yùn)行結(jié)果即可。
a=1
b=2
Print“交換前:a=”;a,“b=”;b
a=a+b
b=a-b
a=a-b
Print”交換后:a=”;a,“b=”;b
隨堂練習(xí)
1 以下是一段VB程序。
a=1
b=a+1
c=a+b
它的基本結(jié)構(gòu)屬于( )
A、順序結(jié)構(gòu)B、選擇結(jié)構(gòu)C、循環(huán)結(jié)構(gòu)D、樹型結(jié)構(gòu)
2 下列VB程序運(yùn)行后,變量x的值為( )
x=2
Printx+l
Print x+2
A、2 B、3 C、5 D、8
課堂總結(jié)
總結(jié)(師):縱觀上述三個程序,運(yùn)行程序,不難發(fā)現(xiàn)代碼是按照由上到下的順序一行一行地執(zhí)行。這種結(jié)構(gòu)叫順序結(jié)構(gòu)。
順序結(jié)構(gòu)定義:在程序執(zhí)行過程中,語句按先后順序一行一行執(zhí)行,沒有分支,沒有重復(fù),直到程序結(jié)