第一篇:02.《順序結(jié)構(gòu)》教學(xué)案例(本站推薦)
高中 《順序結(jié)構(gòu)》教學(xué)案例
案例名稱:順序結(jié)構(gòu) 適用范圍:高中一年級
教 材:教科版《算法與程序設(shè)計(jì)》(選修模塊)2.3.1順序結(jié)構(gòu) 課 時(shí):1課時(shí) 作 者:戈萬紅
單 位:江蘇省東海高級中學(xué)(222300)E-----Mail:jsdhgwh@163.com *教學(xué)課題】順序結(jié)構(gòu) *適用年級】普通高中一年級
*所用教材】教育科學(xué)出版社選修課之一《算法與程序設(shè)計(jì)》
*學(xué)生分析】學(xué)習(xí)了一段時(shí)間的VB基礎(chǔ)知識后,由于種種原因,學(xué)生普遍認(rèn)為《算法與程序設(shè)計(jì)》難度比較大,滋生一些畏難情緒。本節(jié)課的內(nèi)容相對簡單,希望通過編程解決和自己密切相關(guān)的問題來激發(fā)學(xué)生學(xué)習(xí)編程的興趣,增強(qiáng)學(xué)生學(xué)習(xí)編程的信心。
*教材分析】第三節(jié)程序的基本結(jié)構(gòu)是建立在前兩節(jié)的基礎(chǔ)上的,在本節(jié)乃至本章既是重點(diǎn)又是難點(diǎn),本節(jié)課要學(xué)習(xí)的順序結(jié)構(gòu)則相對簡單,學(xué)生容易掌握。
*教學(xué)目的】
1、知識技能:掌握順序結(jié)構(gòu)的功能,交換兩變量的算法。
2、過程與方法:用程序設(shè)計(jì)方法解決實(shí)際問題。
3、情感態(tài)度與價(jià)值觀:培養(yǎng)學(xué)生對程序設(shè)計(jì)的興趣和嚴(yán)謹(jǐn)?shù)乃季S習(xí)慣。*教學(xué)重點(diǎn)】
1、順序結(jié)構(gòu)的格式和功能。
2、交換兩個變量的值。*教學(xué)難點(diǎn)】交換兩個變量的值。
*主要教法】自主探究、講解、演示、實(shí)踐等 *教學(xué)環(huán)境】微機(jī)房多媒體演示系統(tǒng) *教學(xué)過程】:
一.創(chuàng)設(shè)情境,復(fù)習(xí)導(dǎo)入
(一)學(xué)生完成課本P31頁實(shí)踐中第二小題,檢測學(xué)生對賦值語句和函數(shù)掌握情況。程序參考代碼如下:
Private Sub Command1_Click()Dim d As Single, i As Single Dim m As Integer,f As Single d = Val(Text1.Text)i = Val(Text2.Text)m = Val(Text3.Text)f = d *((1 + i)^ m-1)/ i Text4.Text = Str(f)End Sub
(二)讓學(xué)生交換最后兩行語句的位置,運(yùn)行程序,觀察結(jié)果有什么不同,為什么?
(三)學(xué)生通過實(shí)踐觀察得出:把給變量f賦值語句換到最后,則Text4文本框就不能正確顯示變量f的值。引導(dǎo)學(xué)生探究原因,得出沒有給變量f賦值,則Text4文本框只能顯示變量f初始值。兩。
二、合作討論,探索新知
(一)由改變上面兩個語句的順序引發(fā)的問題,引導(dǎo)學(xué)生討論得出順序結(jié)構(gòu)的含義。
(二)老師給出任務(wù):有兩個杯子,其中一只杯子里裝的是糖水,另一只杯子里裝的是鹽水,如何交換兩個杯子中的液體?
(三)學(xué)生用頭腦風(fēng)暴法思考,討論,找到一個比較好的切實(shí)可行的辦法:找來一個空杯子,作為中轉(zhuǎn)來解決這個問題。
(四)老師繼續(xù)問:在程序設(shè)計(jì)中如何交換兩個變量的值?學(xué)生討論,實(shí)踐。
(五)廣播部分同學(xué)的代碼窗口,找出典型錯誤并進(jìn)行修改,加深學(xué)生對交換變量思想的理解。
(六)請同學(xué)們盡量多地嘗試各種輸入和輸出方法。
(七)廣播部分學(xué)生代碼窗口,讓學(xué)生觀察有哪幾種輸入和輸出方法,然后共同歸納常用幾種輸入方式:文本框、Inputbox函數(shù);常用輸出方式:Print語句、MsgBox函數(shù)、文本框和標(biāo)簽等。
(八)學(xué)生練習(xí)使用各種輸出語句來輸出交換后變量a和變量b的值。
三、回歸生活,學(xué)以致用
師:請每位同學(xué)算出自己出生多少天,多少小時(shí)了。生:太復(fù)雜了,算不出來。
師:把復(fù)雜的事交給電腦來完成吧。讓我們編個小程序就能輕易解決這個問題。生:老師,我不知道如何下手。你可以提示一下嗎? 師:要知道自己出生多少天,必須知道什么? 生:自己的生日和現(xiàn)在的日期。師:現(xiàn)在的日期如何表示? 生:date()師:兩個日期型相減其結(jié)果是什么類型?
生:數(shù)值型。老師,我們知道怎么計(jì)算自己出生的天數(shù)了。(老師巡視,提醒學(xué)生注意使用相關(guān)的日期函數(shù),個別進(jìn)行指導(dǎo)。)生:老師,我的答案不準(zhǔn)確,體現(xiàn)不出我是幾點(diǎn)出生的,如何更精確一點(diǎn)? 師:這個問題問得好。有哪位同學(xué)可以幫他解決這個問題?
生:計(jì)算出出生的小時(shí)數(shù)后,再用當(dāng)前時(shí)間減去出生時(shí)間,就可以得到精確的小時(shí)數(shù)。
四、適當(dāng)拓展,延伸課堂
(一)老師給出任務(wù):通過自己設(shè)計(jì)的程序,同學(xué)們現(xiàn)在可以很快算出自己出生的天數(shù)和小時(shí),當(dāng)然也可以隨時(shí)幫其他人算出出生的天數(shù)和小時(shí)數(shù)。下面我想再請同學(xué)們編個程序解決這樣的問題:假如你可以活到100歲,那么你還可以活多少天?
(二)學(xué)生思考后開始繼續(xù)編程。
(三)通過編程計(jì)算的結(jié)果,引導(dǎo)學(xué)生思考:人的生命是有限的,要熱愛生命,在有限的生命中,如何活得更充實(shí)、更精彩、更有意義;如何保持一顆樂觀、健康和積極向上的心態(tài)。
*教學(xué)反思】本案例通過復(fù)習(xí)賦值語句,然后老師交換語句的位置,使程序運(yùn)行的結(jié)果不同,再讓學(xué)生找出問題產(chǎn)生的原因,從而使學(xué)生明確一般的程序都是按由上到下的順序一行一行執(zhí)行,這樣加深了學(xué)生對順序結(jié)構(gòu)的理解。由于順序結(jié)構(gòu)的格式和功能比較簡單,把理解“交換兩個變量值的算法”作為本節(jié)課重點(diǎn)。這個問題我采用頭腦風(fēng)暴法,先讓學(xué)生自主探究如何交換兩個杯子中的不同液體的方法,學(xué)生思維異?;钴S,找出很多解次問題的方法,和學(xué)生一起討論歸納后總結(jié)出一種比較好的方法。有了解決生活中的相似問題的方法,然后引導(dǎo)學(xué)生探究“如何交換兩個變量值”,這樣降低了VB中“如何交換兩個變量值”這個問題的難度。
因?yàn)楸竟?jié)課內(nèi)容相對較少,我把VB中常用輸入和輸出的方式穿插在程序中讓學(xué)生進(jìn)行歸納總結(jié)。用和學(xué)生密切相關(guān)的問題“你出生多少天,多少小時(shí)”來應(yīng)用和鞏固所學(xué)知識,在這個問題的基礎(chǔ)上繼續(xù)進(jìn)行拓展:“假如你可以活到100歲,那么你還可以活多少天?”最后進(jìn)行升華:“人的生命是有限的,如何使有限的生命更有意義?”經(jīng)過這樣的處理,本節(jié)課內(nèi)容得到充實(shí),使課堂容量加大。
第二篇:《順序結(jié)構(gòu)》 教學(xué)設(shè)計(jì)
鹽城中學(xué)
何娟
《順序結(jié)構(gòu)》教學(xué)設(shè)計(jì)
一、教材分析
本節(jié)課是《算法與程序設(shè)計(jì)》(選修)
鹽城中學(xué)
何娟
★
學(xué)習(xí)方法:模仿學(xué)習(xí)、自主探究學(xué)習(xí),小組交流合作學(xué)習(xí)
六、設(shè)計(jì)思想
尊重學(xué)生解決問題的思維過程,模擬學(xué)生的學(xué)習(xí)體驗(yàn)和情感體驗(yàn),在以學(xué)生為主體、教師為主導(dǎo)的架構(gòu)下,搭建以生為本的學(xué)習(xí)的平臺,幫助學(xué)生通過學(xué)與練,以不斷解決問題為手段,一步步完成學(xué)習(xí)任務(wù)。
新課標(biāo)中提出了信息技術(shù)課程要以進(jìn)一步提高學(xué)生信息素養(yǎng)為宗旨,強(qiáng)調(diào)通過合作解決實(shí)際問題,掌握信息技術(shù),感受信息文化,增強(qiáng)信息意識,提高學(xué)生總體的信息素養(yǎng)。而在本節(jié)課中就堅(jiān)持了以教師為主導(dǎo),學(xué)生為主體,發(fā)展能力和提高素質(zhì)為主線的啟發(fā)式教學(xué)思想,努力為學(xué)生創(chuàng)設(shè)了開放式的學(xué)習(xí)環(huán)境。
本節(jié)課以一個簡單的例子——計(jì)算圖形的周長、面積并打印為主線介紹順序結(jié)構(gòu)的特點(diǎn)、執(zhí)行過程和基本思想,并通過這個程序抽象出代碼設(shè)計(jì)的四個基本部分:定義常變量、輸入數(shù)據(jù)、處理數(shù)據(jù)、輸出數(shù)據(jù)。讓學(xué)生通過模仿學(xué)習(xí)、自主學(xué)習(xí)相結(jié)合的方式編寫程序,發(fā)現(xiàn)問題,探究解決問題,最后學(xué)會自我總結(jié)。
七、教學(xué)過程
1.分組體驗(yàn),導(dǎo)入新課
導(dǎo)入:上節(jié)課我們學(xué)習(xí)了賦值語句,現(xiàn)在屏幕上有三道題目,請同學(xué)選擇其一解答。學(xué)生分組體驗(yàn)程序的運(yùn)行結(jié)果。題一:
Dim a As Integer Dim b As Integer a = a + 1 a = 3 b = a b = b + 1 Print a, b 運(yùn)行結(jié)果:3 4 題二:
Dim a As Integer Dim b As Integer a = 3 a = a + 1 b = a b = b + 1 Print a, b 運(yùn)行結(jié)果:4 5
題三:
Dim a As Integer Dim b As Integer
鹽城中學(xué)
何娟
a = 3 b = a a = a + 1 b = b + 1 Print a, b 運(yùn)行結(jié)果:4 4 教師:經(jīng)過觀察,我們發(fā)現(xiàn)上述三個例子中涉及到的語句都是一模一樣的,可是為什么得到結(jié)果不一樣呢?
學(xué)生:順序不同。
教師:對,由于這個程序的執(zhí)行過程是按語句書寫的先后順序一句一句執(zhí)行的,每次給變量賦的值不同,所以得到的結(jié)果不一樣。這種按語句順序執(zhí)行的結(jié)構(gòu)我們成為順序結(jié)構(gòu),在以后的學(xué)習(xí)過程中我們還將學(xué)習(xí)另外兩種結(jié)構(gòu):分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。分支結(jié)構(gòu)根據(jù)不同的條件判斷來決定程序執(zhí)行的走向,循環(huán)結(jié)構(gòu)根據(jù)條件判斷,需要重復(fù)執(zhí)行某一段代碼。而順序結(jié)構(gòu)每一條語句執(zhí)行且只執(zhí)行一次,沒有跳過某一條語句,也沒有重復(fù)執(zhí)行某一條語句。老師這里有三幅圖,圖中顯示的路途方式和程序設(shè)計(jì)的三種基本結(jié)構(gòu)非常的類似,同學(xué)們仔細(xì)觀察一下,你能猜出哪一幅圖對應(yīng)于順序結(jié)構(gòu)嗎?
圖1
圖2
圖3 學(xué)生:圖1
2.學(xué)科遷移,設(shè)計(jì)代碼
鹽城中學(xué)
何娟
教師:這節(jié)課我們著重學(xué)習(xí)順序結(jié)構(gòu)。請看這道題目:已知圓的半徑為1000,編寫程序求解其周長和面積,并作圖。如果是一道數(shù)學(xué)題,同學(xué)肯定不費(fèi)吹灰之力,可是編程怎么求解呢?同學(xué)可能一時(shí)犯了難,沒關(guān)系,既然同學(xué)們對數(shù)學(xué)的解題步驟比較熟悉,我們姑且把把它當(dāng)作一道數(shù)學(xué)題來解答。首先,我們分析一下,題目中涉及到幾個變量?哪幾個?
學(xué)生:三個,半徑、周長和面積。
教師:和數(shù)學(xué)中一樣,我們分別用r、c、s表示這三個變量。請一位同學(xué)書寫相關(guān)語句
學(xué)生操作:
教師:剛才的三個變量哪些是已知條件?
學(xué)生:半徑
教師:其值是多少?
學(xué)生:1000 教師:好,利用賦值語句給半徑賦值,代碼是?
學(xué)生回答,教師操作:r=1000 教師:此時(shí),我們已經(jīng)知道r的值了,那么如何通過已知條件求解出c和s呢?請一位同學(xué)在教師機(jī)上演示。
學(xué)生操作:c=2*3.14*r
s=3.14*r*r
(書寫過程中若有語法錯誤,請其他同學(xué)糾正)設(shè)疑:程序編寫到這里是否行了呢?同學(xué)的意見出現(xiàn)了分歧,都說實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),那么我們就讓機(jī)器來驗(yàn)證吧
教師:程序并沒有如我們所料想的那樣顯示結(jié)果,事實(shí)證明我們的程序存在一些小問題,那究竟是哪里出錯了呢?正如同學(xué)們知道的,我們其實(shí)已經(jīng)把周長和面積的值求出來了,可是程序?yàn)槭裁床伙@示結(jié)果呢?對!我們把求出來的結(jié)果存放在變量c和s中,而對于用戶而言,并不知道變量c和s的存在,他只關(guān)心屏幕上有沒有顯示結(jié)果,所以,我們還應(yīng)該打印變量c和s。代碼是?
學(xué)生:print c,s 教師:這樣的代碼已經(jīng)能完成基本功能了,為了使用戶看得更清楚明了,再添加一些說明性文字。Print “圓的周長為”;c Print “圓的面積為”;s 教師:接下來我們還要作圖。你們平時(shí)是怎么畫圓的?
學(xué)生:用圓規(guī)畫圓,先確定圓心位置,然后確定半徑畫圓。
教師:vb中提供了circle方法可以象圓規(guī)一樣畫圓,請同學(xué)看老師演示代碼
Circle(2000, 2000), 1000其中(2000,2000)是圓心位置,1000是圓半徑。需要說明的是,vb中的坐標(biāo)系和數(shù)學(xué)中不同,原點(diǎn)(0,0)的位置為窗口左上角,窗口左邊框?yàn)榭v軸正方向,窗口上邊框?yàn)闄M軸正方向。關(guān)于circle方法我還提供了一個小資料,同學(xué)們可以根據(jù)小資料修改不同參數(shù)畫出不一樣的圓。
3.現(xiàn)學(xué)現(xiàn)賣,小試牛刀
鹽城中學(xué)
何娟
課堂實(shí)踐一:已知圓的半徑為1000,編寫程序畫出此圓,然后求解其周長和面積。(提供代碼圖片和circle小資料)
展示學(xué)生程序:老師不但可選成功的程序,也可選取較不成功的作品,但要有典型意義。
4.層層遞進(jìn),探究實(shí)踐
教師:現(xiàn)在我們已經(jīng)能夠求出指定半徑圓的周長和面積并作圖了,如果我們把這個程序給用戶使用,他們可能會想這個程序只能求半徑為1000的圓,我要是能輸入其他的半徑值就好了,而用戶不一定懂得修改程序代碼,直接修改程序行不通,同學(xué)們能不能想想辦法讓用戶能自己輸入半徑的值?
學(xué)生1:我們可以用文本框
學(xué)生2:還可以用inputbox函數(shù)
教師:那就剛才程序的基礎(chǔ)上修改代碼實(shí)現(xiàn)你的想法吧。
課堂實(shí)踐二:根據(jù)用戶輸入的半徑值求圓的周長和面積并作圖。解法一:
鹽城中學(xué)
何娟
解法2:
展示學(xué)生程序:演示幾個學(xué)生的程序,請學(xué)生相互評價(jià)指出優(yōu)點(diǎn)和不足,教師適當(dāng)點(diǎn)評。教師總結(jié):一個完整的代碼通常包括這樣幾個部分:
1、定義常變量
2、輸入
3、處理
4、輸出
5.課堂小結(jié),提出希望
一直以來,在我們的印象中,編程是件很難的事。但是通過這節(jié)課的學(xué)習(xí),我們發(fā)現(xiàn)編程也是有章可循的,希望同學(xué)們能喜愛上編程,讓程序?qū)W習(xí)變成一件快樂的事,編寫出更多更好的程序,成為
第三篇:《程序框圖、順序結(jié)構(gòu)》教學(xué)設(shè)計(jì)
《程序框圖、順序結(jié)構(gòu)》教學(xué)設(shè)計(jì)
監(jiān)利縣實(shí)驗(yàn)高中
萬平方
一、內(nèi)容及其解析
本節(jié)內(nèi)容是在學(xué)生學(xué)習(xí)了算法的概念的基礎(chǔ)上進(jìn)行的,學(xué)生知道“在數(shù)學(xué)中,算法通常是按照一定規(guī)則解決某一類問題的明確的和有限的步驟”.在算法概念的表述中,有范圍限定詞 “在數(shù)學(xué)中”,因此學(xué)習(xí)的內(nèi)容均為數(shù)學(xué)中的問題.有一個有前綴限制的基本特征詞“步驟”,前綴中,“按照一定規(guī)則” 指的是解決具體問題時(shí)的依據(jù)和表達(dá)方式,關(guān)注的是算法的基本邏輯結(jié)構(gòu)(順序、條件和循環(huán)),也表示算法具有有序性.“解決某一類問題”,強(qiáng)調(diào)的是算法適用對象的常態(tài),突出算法的研究價(jià)值以及它的普遍適用性,也表明特殊問題的解題與一般問題的算法,存在聯(lián)系又有區(qū)別.“明確和有限”,表示算法的每一步都是明確的、可執(zhí)行的,總的步驟是有限的.在算法概念中,還特別指出,“算法通??梢跃幊捎?jì)算機(jī)程序,讓計(jì)算機(jī)執(zhí)行并解決問題”.這對高中學(xué)習(xí)的算法提出了要求,也決定了高中算法學(xué)習(xí)的范圍.即僅提出算法概念,認(rèn)識算法基本邏輯結(jié)構(gòu)是不夠的,還必須學(xué)習(xí)計(jì)算機(jī)能執(zhí)行的算法程序,能用程序表達(dá)算法,讓計(jì)算機(jī)來驗(yàn)證我們解決問題的算法是否可行.在我們利用計(jì)算機(jī)解決問題的時(shí)候,首先要設(shè)計(jì)計(jì)算機(jī)程序,在設(shè)計(jì)計(jì)算機(jī)程序時(shí)我們首先要畫出程序運(yùn)行的流程圖,使整個程序的執(zhí)行過程直觀化,使抽象的問題十分清晰和具體.有了這個流程圖,再去設(shè)計(jì)程序就有了依據(jù),從而就可以把整個程序用機(jī)器語言表述出來,因此程序框圖是我們設(shè)計(jì)程序的基本和開端,也是使用計(jì)算機(jī)處理問題前的一個必要的步驟.算法有三種表達(dá)方法:算法的自然語言、程序框圖和算法程序.算法的自然語言表達(dá),即算法步驟,是與人的表達(dá)最接近算法表達(dá)方式;算法的程序表達(dá)是計(jì)算機(jī)可以識別的語言,但與人的表達(dá)距離較遠(yuǎn);而算法的程序框圖表達(dá)能直觀、明確表達(dá)算法的基本邏輯結(jié)構(gòu),又能在前兩種算法表達(dá)之間架設(shè)橋梁,形成編寫程序的基礎(chǔ).由此可見,程序框圖是算法的直觀、準(zhǔn)確的表達(dá),是自然語言表達(dá)的延伸,也是后面學(xué)習(xí)算法基本語句的基礎(chǔ).程序框圖的學(xué)習(xí)起著承上啟下的作用.二、目標(biāo)及其解析
[課程目標(biāo)] 通過模仿、操作、探索,經(jīng)歷通過設(shè)計(jì)程序框圖表達(dá)解決問題的過程.在具體問題的解決過程中,理解程序框圖的三種基本邏輯結(jié)構(gòu):順序、條件分支、循環(huán).[教學(xué)目標(biāo)] 理解程序框圖的概念;會用通用的圖形符號表示算法,掌握算法的順序結(jié)構(gòu),了解算法的條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu);掌握畫程序框圖的基本規(guī)則.[目標(biāo)解析] 1.知道用程序框圖表達(dá)算法可以使算法的結(jié)構(gòu)更直觀、更條理、更明確,知道算法程序框圖的設(shè)計(jì)順序是先用自然語言表達(dá)算法步驟,再一一對應(yīng)的翻譯成程序框圖,然后仔細(xì)推敲,使程序框圖簡化、細(xì)化和精確化.2.明確程序框圖的基本要求,理解算法的順序結(jié)構(gòu)特征,會正確畫出算法的順序結(jié)構(gòu)框圖.3.通過模仿、操作、探索,經(jīng)歷通過設(shè)計(jì)算法的順序結(jié)構(gòu)解決問題的過程.4.認(rèn)識到算法是數(shù)學(xué)及其應(yīng)用的重要組成部分,是計(jì)算科學(xué)的重要基礎(chǔ),算法更強(qiáng)調(diào)思維的條理化、邏輯化和程序化,更注重問題解決的一般性,初步體會算法思想.5.通過程序框圖畫法規(guī)則的學(xué)習(xí),體會程序化、規(guī)范化的算法思想,滲透對學(xué)生進(jìn)行規(guī)范教育.6.了解算法的條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu).三、教學(xué)問題診斷分析
1.由于學(xué)生初次接觸程序框圖,可能會感到陌生,因此可以舉生活中的例子,也可以舉函數(shù)圖像的例子,讓學(xué)生感到程序框圖并不神秘,讓學(xué)生感覺到程序框圖表達(dá)算法更直觀、更條理、更明確.2.由于學(xué)生對算法思想沒有深刻的認(rèn)識,所以教學(xué)中要從學(xué)生熟悉的問題入手,讓學(xué)生從算法的角度給熟悉的問題一個解決辦法.但另一方面,學(xué)生可能會對很自然的、熟悉的問題不重視,因此要明確算法解決的是一類問題,算法是程序化的步驟,要強(qiáng)調(diào)算法適用對象的常態(tài),突出算法的研究價(jià)值以及它的普遍適用性.3.由于程序框圖是算法的一種新的表達(dá)形式,因此要明確算法的自然語言表達(dá)與程序框圖表達(dá)的聯(lián)系與區(qū)別,讓學(xué)生掌握算法程序框圖的設(shè)計(jì)順序是先用自然語言表達(dá)算法步驟,再一一對應(yīng)的翻譯成程序框圖,然后仔細(xì)推敲,使程序框圖簡化、細(xì)化和精確化.另外程序框圖的符號表示可能學(xué)生一下子接受不了,需要給學(xué)生以消化的時(shí)空.4.由于學(xué)生沒有上機(jī)操作,學(xué)生可能會對設(shè)計(jì)的程序框圖是否正確心存疑慮.因此,教學(xué)上要強(qiáng)調(diào)程序框圖只是把算法步驟的自然語言表達(dá)翻譯成了程序框圖表達(dá),并不神秘,只要我們能把一類問題的解題步驟程序化,再按照規(guī)范操作就不會出錯.四、教法與學(xué)法分析
《普通高中數(shù)學(xué)課程標(biāo)準(zhǔn)》指出,課程算法是高中數(shù)學(xué)課程中新內(nèi)容,其思想是非常重要的,但并不神秘.算法內(nèi)容是將數(shù)學(xué)中的算法與計(jì)算機(jī)技術(shù)建立聯(lián)系,形式化地表示算法.為了有條理地、清晰地表達(dá)算法,往往需要將解決問題的過程整理成程序框圖;為了能在計(jì)算機(jī)上實(shí)現(xiàn),還需要將自然語言或程序框圖翻譯成計(jì)算機(jī)語言.學(xué)習(xí)算法的主要目的是使學(xué)生體會算法的思想,提高邏輯思維能力.不要將此部分內(nèi)容簡單處理成程序語言的學(xué)習(xí)和程序設(shè)計(jì).因此,教學(xué)中首先要讓學(xué)生明確學(xué)生程序框圖的目的,列舉生活中與函數(shù)的例子,增強(qiáng)學(xué)生學(xué)習(xí)的信心與興趣.由于算法程序框圖的設(shè)計(jì)順序是先用自然語言表達(dá)算法步驟,再一一對應(yīng)的翻譯成程序框圖,然后仔細(xì)推敲,使程序框圖簡化、細(xì)化和精確化.所以教學(xué)中必須通過實(shí)例進(jìn)行,通過算法的自然語言表達(dá)與程序框圖表達(dá)的對照學(xué)習(xí),在解決具體問題的過程中學(xué)習(xí)一些基本邏輯結(jié)構(gòu)和語句.至于學(xué)法,《課程標(biāo)準(zhǔn)》說的也很明確,那就是通過模仿、操作、探索,經(jīng)歷通過設(shè)計(jì)程序框圖表達(dá)解決問題的過程.要激發(fā)學(xué)生的學(xué)習(xí)興趣和創(chuàng)新潛能,為學(xué)生形成積極主動的、多樣的學(xué)習(xí)方式創(chuàng)造有利的條件.以幫助學(xué)生養(yǎng)成獨(dú)立思考,積極探索的習(xí)慣.五、教學(xué)過程設(shè)計(jì)
復(fù)習(xí)提問:什么是算法?算法可以怎么表示?想過這樣表示有什么缺點(diǎn)沒有? 問題1.1:我們在高一學(xué)習(xí)過函數(shù),請問函數(shù)的表達(dá)方法有幾種? [設(shè)計(jì)意圖]
比較遷移.教師說明:比較一下,我們可以將自然語言描述的算法看作“列表法”,那么算法的“圖像法”有是什么呢?這就是我們要學(xué)習(xí)的程序框圖.程序框圖并不陌生,剛才我們進(jìn)教室看到實(shí)驗(yàn)高中新生報(bào)名流程圖就是例子.問題1.2:你能感覺流程圖有什么優(yōu)點(diǎn)嗎? [設(shè)計(jì)意圖] 初步感受流程圖的優(yōu)點(diǎn).問題2.1: 上節(jié)我們學(xué)習(xí)了“判斷整數(shù)?n?2?是否為質(zhì)數(shù)”的算法,還記得是哪些步驟嗎?它用圖形怎樣表示呢?
[設(shè)計(jì)意圖] 學(xué)生畫出程序框圖,培養(yǎng)學(xué)生的動手能力.初步感受流程圖是算法的直觀的、準(zhǔn)確的表達(dá).先整體認(rèn)識,后面再局面分析.問題2.2: 觀察所給的流程圖,看看它們有哪些不同的幾何形狀? [設(shè)計(jì)意圖] 促進(jìn)對前面算法自然語言表達(dá)的理解,為程序框圖的定義的得出打下基礎(chǔ).培養(yǎng)觀察分析歸納能力,初步感受算法的程序框圖.問題2.3:對照課本程序框圖表自制作表格并填寫,包括各程序框、名稱、功能.[設(shè)計(jì)意圖] 培養(yǎng)自學(xué)能力和識記能力,掌握各個圖形的形狀、作用及使用規(guī)則.認(rèn)識程序框圖里出現(xiàn)的基本圖形符號,并且能很好地掌握他們,是接下來學(xué)習(xí)程序框圖的前提,所以在學(xué)習(xí)用程序框圖來描述算法之前,必須先了解這些符號所代表的意義,那樣才能讓后面的學(xué)習(xí)更加順利.問題3.1: 觀察所給的程序框圖,說明什么是程序框圖? 程序框圖又叫流程圖,是一種用程序框、流程線及文字說明來表示算法的圖形.[設(shè)計(jì)意圖] 通過觀察,培養(yǎng)分析歸納能力.問題3.2:程序框圖是怎么表示算法的? 在程序框圖中,一個或幾個程序框表示算法的一個步驟;帶有方向箭頭的流程線將程序框連接起來,表示算法步驟的執(zhí)行順序.[設(shè)計(jì)意圖] 感受程序框圖是建立在算法自然語言表達(dá)基礎(chǔ)上的圖形表示.將新知識納入到原來認(rèn)知系統(tǒng)中.練習(xí)1:1.流程圖的判斷框,有一個入口和n個出口,則n的值為()(A)1
(B)2
(C)3
(D)4 2.下列圖形符號表示輸入輸出框的是()
(A)矩形框
(B)平行四邊形框
(C)圓角矩形框
(D)菱形框 3.下列圖形符號表示處理數(shù)據(jù)或計(jì)算框的是()
(A)矩形框
(B)平行四邊形框
(C)圓角矩形框
(D)菱形框 [設(shè)計(jì)意圖] 讓學(xué)生熟悉程序框圖的符號.問題4: “判斷整數(shù)?n?2?是否為質(zhì)數(shù)”的程序框圖有哪幾種邏輯結(jié)構(gòu)? [設(shè)計(jì)意圖] 初步向?qū)W生們介紹在程序框圖里存在的三種不同的基本邏輯結(jié)構(gòu).由于這部分知識是學(xué)生新接觸到的內(nèi)容,所以主要由老師引導(dǎo)學(xué)生一同找出圖中存在的三種不同的邏輯結(jié)構(gòu),根據(jù)它們各自所呈現(xiàn)的不同特點(diǎn)總結(jié)出它們的特征,之后由老師說出它們的名稱.這里對邏輯結(jié)構(gòu)的初步認(rèn)識,也是為后面對它們的深入探究打下基礎(chǔ).教師說明:(1)三者的特點(diǎn):①順序結(jié)構(gòu)在程序框圖中的體現(xiàn)是用流程線將程序框自上而下地連接起來,按順序執(zhí)行算法步驟;
②條件結(jié)構(gòu)在程序框圖中是用判斷框來表示,判斷框內(nèi)寫上條件,兩個出口分別對應(yīng)著條件滿足和條件不滿足時(shí)所執(zhí)行的不同指令;
③循環(huán)結(jié)構(gòu)在程序框圖中是利用判斷框來表示,判斷框內(nèi)寫上條件,兩個出口分別對應(yīng)著條件成立和條件不成立時(shí)所執(zhí)行的不同指令,其中一個要指向循環(huán)體,然后再從循環(huán)體回到判斷框的入口處.(2)條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的區(qū)別與聯(lián)系
區(qū)別:循環(huán)結(jié)構(gòu)有重復(fù)性,條件結(jié)構(gòu)具有選擇性、不重復(fù);
聯(lián)系:循環(huán)結(jié)構(gòu)中必定包含一個條件結(jié)構(gòu),用以判斷循環(huán)的條件.問題5: 已知一個三角形的三邊長分別為a,b,c,利用海倫—秦九韶公式設(shè)計(jì)一個計(jì)算三角形面積的算法,并畫出程序框圖表示.[設(shè)計(jì)意圖] 例題選自課本的例3,它針對的只是順序結(jié)構(gòu).在題目里涉及到一個學(xué)生不熟悉的概念,那就是海倫公式,所以首先要讓學(xué)生們了解那是什么,否則將無從解題.之后就引導(dǎo)學(xué)生分析算法,這個過程可以培養(yǎng)學(xué)生積極思考的能力.然后由學(xué)生自己作出這道題的程序框圖,鍛煉學(xué)生的動手能力,加深對順序結(jié)構(gòu)的理解.練習(xí)2:任意給定一個正實(shí)數(shù),設(shè)計(jì)一個算法求以這個數(shù)為半徑的圓的面積,并畫出程序框圖表示.[設(shè)計(jì)意圖] 這是對課本第5頁的練習(xí)第1題提出的新要求,旨在讓學(xué)生體會算法的兩種表達(dá)方法的聯(lián)系,進(jìn)一步體會設(shè)計(jì)程序框圖的步驟.問題6: 寫出下面程序框圖的運(yùn)行結(jié)果.[設(shè)計(jì)意圖] 培養(yǎng)學(xué)生讀圖的能力,進(jìn)一步理解算法的順序框圖.練習(xí)3: 根據(jù)右邊的程序框圖所表示的算法,輸出的結(jié)果是______.
答案 2
解析 該算法的第1步分別將X,Y,Z賦于1,2,3三個數(shù),第2步使X取Y的值,即X 取值變成2,第3步使Y取X的值,即Y的值也是2,第4步讓Z取Y的值,即Z取值也是2,從而第5步輸出時(shí),Z的值是2.[設(shè)計(jì)意圖] 培養(yǎng)學(xué)生讀圖的能力,初步感受賦值的含義
.問題6: 本節(jié)課你有哪些收獲?還有哪里疑問?
[設(shè)計(jì)意圖] 讓學(xué)生小結(jié)本節(jié)課所學(xué)知識.1.程序框圖的概念與意義.2.順序結(jié)構(gòu)的程序框圖的基本特征:(1)必須有兩個起止框,穿插輸入、輸出框和處理框,沒有判斷框.(2)各程序框從上到下用流程線依次連接.(3)處理框按計(jì)算機(jī)執(zhí)行順序沿流程線依次排列.3.條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu)在后面學(xué)習(xí).作業(yè):
1.畫出今天學(xué)習(xí)的程序框圖.2.已知x=4,y=2,畫出計(jì)算w=3x+4y的值的程序框圖.(這是一道要求作出具有順序結(jié)構(gòu)的程序框圖題,很基礎(chǔ),一般的學(xué)生都能獨(dú)立完成)
[設(shè)計(jì)意圖] 課后作業(yè)的布置是為了檢驗(yàn)學(xué)生對本節(jié)課內(nèi)容的理解和運(yùn)用程度以及實(shí)際接受情況,并促使學(xué)生進(jìn)一步鞏固和掌握所學(xué)內(nèi)容.知識性內(nèi)容的小結(jié),可把課堂教學(xué)傳授的知識盡快化為學(xué)生的素質(zhì);數(shù)學(xué)思想方法的小結(jié),可使學(xué)生更深刻地理解數(shù)學(xué)思想方法在解題中的地位和應(yīng)用.
第四篇:《分支結(jié)構(gòu)》教學(xué)案例
《分支結(jié)構(gòu)》教學(xué)案例
適應(yīng)范圍(標(biāo)明年級和模塊)高二年級 算法與程序設(shè)計(jì)選修
課時(shí) 1
一、教學(xué)分析
1、教學(xué)目標(biāo) 知識和技能
(1)掌握IF語句的格式和功能(2)會畫IF語句的流程圖
(3)學(xué)會用IF語句解決日常生活中實(shí)際問題 過程和方法
(1)經(jīng)歷實(shí)踐、分析、歸納,掌握IF語句的格式和功能。情感態(tài)度與價(jià)值觀
(1)運(yùn)用半成品加工策略,完善程序,發(fā)展學(xué)生思維的邏輯性,及嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度。
2、重點(diǎn)、難點(diǎn)
重點(diǎn):掌握IF語句的格式和功能
難點(diǎn):提高學(xué)生運(yùn)用IF語句解決實(shí)際問題的能力。
二、學(xué)情分析及教材處理
《分支結(jié)構(gòu)》是江蘇省高中信息技術(shù)教材第六章第五節(jié)的內(nèi)容,它是建立在學(xué)生已學(xué)習(xí)的順序結(jié)構(gòu)的基礎(chǔ)之上,為后續(xù)學(xué)習(xí)循環(huán)結(jié)構(gòu)作了鋪墊。VB中IF語句的分支結(jié)對學(xué)生來說,并不難理解,特別是學(xué)生在英語中已學(xué)過IF引導(dǎo)的條件語句,它和VB有諸多相似之處,所以我以英語中的IF條件語句作引子,導(dǎo)入本節(jié)課的內(nèi)容,本節(jié)課的重心放在如何引導(dǎo)學(xué)生明確程序設(shè)計(jì)的思想是什么,如何利用IF語句解決實(shí)際問題的能力。
三、教學(xué)過程
(一)創(chuàng)設(shè)情境 引入課題
教師活動:出示兩條英文語句,請學(xué)生朗讀并翻譯: If you fell happy then you wil smile If you fell happy then you will say smile else you will sad.這是英文中用IF來描述根據(jù)條件的不同,會有不同的結(jié)果的例子,而在VB中我們能否根據(jù)不同的條件,執(zhí)行不同的語句呢?這節(jié)課我們將學(xué)習(xí)程序結(jié)構(gòu)中的分支結(jié)構(gòu)。
(設(shè)計(jì)意圖:成功的教學(xué)不是強(qiáng)制,而在于激發(fā)學(xué)生的學(xué)習(xí)興趣,從學(xué)生熟悉的事情著手,創(chuàng)設(shè)教學(xué)情境,有效地激發(fā)學(xué)生的學(xué)習(xí)興趣。)
(二)合作探究 構(gòu)建新知
如何讓計(jì)算機(jī)感到幸福,就微笑呢?
教師啟發(fā):計(jì)算機(jī)也是有思想的,只不過這種思想是人所賦予的。學(xué)生活動:暢所欲言,如何在VB中讓計(jì)算機(jī)感到幸福就微笑。
1、分析:肯定每位學(xué)生的閃光點(diǎn),并提出建議性意見,最后根據(jù)學(xué)生所談,理出一個普遍被大家都認(rèn)可的意見:
(1)程序運(yùn)行時(shí),屏幕首先出示“Do you fell happy?”
(2)當(dāng)從鍵盤輸入“y”,則計(jì)算機(jī)表示“幸?!保斎肫渌?,則表示“不幸?!薄?/p>
(3)當(dāng)其感受到幸福就在圖像框中出示一張笑臉的圖片,否則就出示一張苦臉的圖片。
2、建立VB程序:
(1)學(xué)生自主完成建立程序初始界面和設(shè)置對象屬性 對象名 屬性 值
label1 caption Do you fell happy? Text1 text 空白
Command1 caption 確定
(2)編寫代碼:
教師啟發(fā):計(jì)算機(jī)如何判斷鍵入的是y還是其他字母呢?
學(xué)生活動:if text1.text=“y” then picture1.picture=loadpicture(“d:1.jpg”)(3)調(diào)試運(yùn)行程序
在這過程中,學(xué)生的會出現(xiàn)很多錯誤。
反饋結(jié)果:通過多媒體廣播系統(tǒng),展示個別有代表表學(xué)生的結(jié)果。首先引導(dǎo)學(xué)生判斷該程序?qū)Σ粚?,告訴學(xué)生“實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”,對不對運(yùn)行此程序即可;其次,若程序不對,引導(dǎo)學(xué)生分析此程序錯在哪?為什么會錯,這么的錯誤將導(dǎo)致什么樣的結(jié)果?最后提出如何解決?以此幫助部分薄弱的學(xué)生重新調(diào)整思路,便于更好地解決問題。
(4)提升:在這過程中會有學(xué)生提出這樣問題:輸出小寫的y會出笑臉,怎么輸入大寫的“Y”,就不能顯示笑臉呢?引導(dǎo)學(xué)生分析后,學(xué)生按自已的獨(dú)特感受,自已嘗試解決,學(xué)生解決的方法是多樣的,有的學(xué)生運(yùn)用兩條IF語句,有的學(xué)生想用數(shù)學(xué)上的邏輯“與”,但是按照數(shù)學(xué)表達(dá)式來寫是不可行的。這時(shí)教師歸納:雖然VB表達(dá)式不同于數(shù)學(xué)表達(dá)式,但其思想和數(shù)學(xué)一致。這和武學(xué)原理大有相似之理,招式雖有不同,內(nèi)功心法應(yīng)是相通的。歸納結(jié)論:
IF語句的格式1:If 條件 then 語句 功能是:當(dāng)條件成立時(shí),則執(zhí)行語句,條件不成立,則直接執(zhí)行下一條語句。畫出格式1的流程圖。
3、完善程序,教師活動:若鍵入”Y”,則屏幕顯示“J”;若鍵入“N”,則屏幕顯示“L”的程序
學(xué)生活動:學(xué)生在原來程序基礎(chǔ)上修改程序,通過多媒體廣播系統(tǒng)展示有代表性學(xué)性的成果,師生共同分析。歸納結(jié)論:
IF語句的格式2:If 條件 then 語句1 else 語句2 功能是:當(dāng)條件成立時(shí),則執(zhí)行語句1,否則執(zhí)行語句2。
(設(shè)計(jì)意圖:教學(xué)過程第二部分讓學(xué)生在探究的過程中歸納結(jié)論,體現(xiàn)了既重過程又重結(jié)論的新課程教學(xué)要求。同時(shí)這一部分的設(shè)計(jì)充分體現(xiàn)了兩個轉(zhuǎn)變,教師由講授者變教學(xué)活動的組織者、引導(dǎo)者、合作者;學(xué)生由被動接授者變主動參與的學(xué)習(xí)的主體。)
(三)完善程序 鞏固新知
引入“半成品加工策略”,出示順序結(jié)構(gòu)中曾經(jīng)完成的練習(xí),要求學(xué)生指出原程序中有哪些還不夠完善的地方,請運(yùn)用本課知識,進(jìn)行修改、調(diào)試,鞏固本課重點(diǎn)。要求兩人一組,兩人共同對兩個練習(xí)進(jìn)行分析,然后每人選做一題,可以互相幫助,做完后互相交流,互相評價(jià)結(jié)果。
練習(xí)一:一個小球,不停地向上方滾動,可到頂端后就再也看不見了,此處設(shè)計(jì)意在引導(dǎo)學(xué)生運(yùn)用IF語句實(shí)現(xiàn)小球不停地上下滾動。
練習(xí)二:輸入三角形的三邊長,輸出三角形的面積。此處設(shè)計(jì)意在引導(dǎo)學(xué)生分如輸入的三個數(shù)值無法構(gòu)成三角形,則應(yīng)該顯示“不能構(gòu)成三角形”。
師生互動:在學(xué)生活動過程中,我以合作者學(xué)習(xí)者的身份加入到各合作學(xué)習(xí)小組進(jìn)行指導(dǎo),指導(dǎo)學(xué)生虛心聽取他人意見,尊重他人發(fā)言,鼓勵學(xué)生敢于闡述自己的觀點(diǎn),矛于質(zhì)疑,當(dāng)學(xué)生遇到困難時(shí),總是引導(dǎo)點(diǎn)拔他們自己去尋找解決問題的方法。
交流評價(jià):推出幾個小組代表上臺,按照預(yù)先提供的評價(jià)標(biāo)準(zhǔn),對小組的所經(jīng)歷的程序分析、程序代碼結(jié)果及合作情況作自我反思與自我評價(jià),學(xué)生在此過程中可以共享思路,激發(fā)靈感,反思自我。教師總結(jié):對課堂情況作總結(jié)性評述,引導(dǎo)學(xué)生在活動過程中所獲得的經(jīng)驗(yàn)和教訓(xùn)作梳理,幫助學(xué)生內(nèi)化知識。
(設(shè)計(jì)意圖:以自主學(xué)習(xí)為基礎(chǔ),合作為形式,探究為方法,培養(yǎng)學(xué)生的批判性思維及創(chuàng)新思維,同時(shí)為達(dá)成本節(jié)課的情感態(tài)度與價(jià)值觀目標(biāo)構(gòu)筑平臺。)
(四)回歸生活 學(xué)以致用
1、超市中購買蘋果,若購買10斤以下,則2元一斤,則購買10斤以上,則打8折,請?jiān)O(shè)計(jì)一個程序,輸入購買的斤數(shù),輸出應(yīng)付款總額。
師生互動:利用多媒體廣播系統(tǒng)出示某個有代表性學(xué)生的解題結(jié)果,其他同學(xué)對其程序進(jìn)行分析評價(jià)。以征詢的口氣問:哪位做錯的同學(xué)能站起來告訴大家,你錯在哪?怎么錯呢?以此給其他同學(xué)提個醒,避免下次再犯類似的錯誤。此處化錯誤為資源,化難堪為體面,幫助學(xué)生找回自信。
2、引導(dǎo)學(xué)生分析此程序還適用于生活中的哪些事例,以達(dá)到舉一反三的效果。
(設(shè)計(jì)意圖:讓學(xué)生通過編程解決生活的事例,以培養(yǎng)學(xué)生的知識和技能為主,在活動過程中掌握運(yùn)用信息技術(shù)解決問題的思想和方法,讓學(xué)生意識到現(xiàn)實(shí)生活中蘊(yùn)藏著豐富的程序設(shè)計(jì)例子,從而體現(xiàn)“小課堂,大社會”的教育觀。)
(五)小結(jié)
學(xué)生暢談本課知識上的收獲與疑問,學(xué)習(xí)過程中的愉悅及挫折中的體驗(yàn),使課堂教學(xué)充滿活力。
(六)課后作業(yè):
神舟六號的成功發(fā)射振奮中華兒女,請你結(jié)合物理學(xué)知識,編程實(shí)現(xiàn)以下功能:輸入飛船速度,程序判斷飛船是否能升空。
四、教學(xué)效果預(yù)測
通過本節(jié)課的教學(xué),預(yù)計(jì)學(xué)生將會得如如下發(fā)展:
發(fā)展一:注重教學(xué)內(nèi)容與實(shí)際生活的相關(guān)性,技能訓(xùn)練與問題的關(guān)聯(lián)性,增強(qiáng)學(xué)生解決問題的實(shí)際能力。
發(fā)展二:采用合作的形式探究學(xué)習(xí),組間同質(zhì)組內(nèi)異質(zhì),為小組取長補(bǔ)短互幫互助合作完成創(chuàng)造條件,體驗(yàn)合作成功的愉快感,形成良好的合作人際關(guān)系,促進(jìn)學(xué)生良好心理品質(zhì)的形成。發(fā)展三:提出問題,引導(dǎo)學(xué)生通過合作探究去修正完善,實(shí)現(xiàn)將能力的培養(yǎng)落到具體的探究解決問題的過程中,使學(xué)生成為學(xué)習(xí)的主體,增強(qiáng)學(xué)生對信息技術(shù)變化快的適應(yīng)能力。
第五篇:《程序的順序結(jié)構(gòu)》教案
2-1節(jié)
一、教學(xué)目標(biāo)
1、知識與技能
程序的順序結(jié)構(gòu)
理解程序順序結(jié)構(gòu)的執(zhí)行流程,掌握賦值語句和輸入輸出語句,能夠編寫簡單的順序結(jié)構(gòu)的程序,以解決生活中的一些計(jì)算問題。
2、方法與過程
本節(jié)從簡單的問題入手,如求圓的面積,讓學(xué)生初步掌握賦值語句和輸入輸出語句的使用方法及其功能。進(jìn)而轉(zhuǎn)入較為復(fù)雜的問題,如編寫程序使從鍵盤上輸入一個三位數(shù),然后反方向輸出,并且運(yùn)用到上一章所學(xué)的運(yùn)算符、表達(dá)式等,對知識進(jìn)行鞏固,課程安排形成循序漸進(jìn)的梯度,充分挖掘?qū)W生潛力,讓有余力的學(xué)生可以有更大空間。
3、情感態(tài)度和價(jià)值觀
程序設(shè)計(jì)選取的題目與高一所學(xué)的數(shù)學(xué)、物理中學(xué)到的新知識有密切的聯(lián)系,從而激發(fā)學(xué)生對程序設(shè)計(jì)的追求和向往。
二、重點(diǎn)難點(diǎn)
1、教學(xué)重點(diǎn)
(1)賦值語句和輸入輸出語句的使用(2)程序順序結(jié)構(gòu)的執(zhí)行流程(3)能編寫程序解決簡單的應(yīng)用題
2、教學(xué)難點(diǎn) 根據(jù)題目寫出正確的程序
三、教學(xué)環(huán)境
1、教材處理
教材選自《廣東省普通高中信息技術(shù)選修一:算法與程序設(shè)計(jì)》第二章第二節(jié),原教材的第一個程序例子有關(guān)居民生活消費(fèi)支出的計(jì)算,題目很簡單,學(xué)生也能理解,但是涉及到的條件較多,寫程序時(shí)多次使用同樣的語句和函數(shù),整個程序看起來長,而且是簡單的重復(fù)。
所以上課時(shí),把教材的內(nèi)容作了的簡單的處理,以求圓的面積這個程序作為導(dǎo)入,學(xué)生更易理解和掌握。而且這個例子也符合一般程序包括數(shù)據(jù)類型說明、數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出四個部分,讓剛?cè)腴T的學(xué)生有規(guī)可依,進(jìn)而覺得程序也不是太難學(xué),從易到難進(jìn)行過渡,提高學(xué)生的學(xué)習(xí)興趣。
2、預(yù)備知識:學(xué)生已掌握算法的概念及描述方法,定義常量與變量的方法,程序設(shè)計(jì)的四個步驟——分析問題、建立模型、設(shè)計(jì)算法和編寫程序。
3、硬件要求:建議本節(jié)課在多媒體電腦教室中完成,有廣播教學(xué)系統(tǒng)或投影儀。
4、所需軟件:學(xué)生機(jī)要安裝VB6.0或以上版本。
5、所需課時(shí):2課時(shí)(100分鐘)
四、教學(xué)過程
導(dǎo)入:演示求圓的面積這道題的程序,讓學(xué)生明白通過程序可以解決數(shù)學(xué)中的問題,也給學(xué)生展示完整的程序代碼,這道程序的功能就是靠這些代碼來控制的,引起學(xué)生的注意,激發(fā)他們的求知欲。
一、演示上述的程序,并把程序代碼中的各行代碼的作用解釋一遍,順便把程序的執(zhí)行流程說明一下,編寫的程序與設(shè)計(jì)的算法是一致的。
Private sub command1_click()‘定義名為command1_click()的事件過程 Const pi as single=3.14 ‘說明程序中pi是常量∏
Dim r as single,s as single ‘定義半徑r和面積s為單精度實(shí)型
r=inputbox(“r=”,”請輸入半徑”)‘輸入r的值 s=pi*r*r ‘把表達(dá)式pi*r*r的值賦給s
print “圓的面積s=”;s ‘把s的值輸出到當(dāng)前的窗體上 End sub ‘過程結(jié)束
二、賦值語句
在上述的程序中,r=inputbox(“r=”,”請輸入半徑”),s=pi*r*r的含義分別是將賦值號右邊的函數(shù)inputbox(“r=”,”請輸入半徑”)的值賦給變量r, 將賦值號右邊的表達(dá)式pi*r*r的值賦給變量s。它們的作用都是將表達(dá)式的值賦給左邊的變量,這種語句稱為賦值語句。
賦值語句的基本格式是: 變量=表達(dá)式
這里的“=”是賦值符號,它的含義是將表達(dá)式的值賦給左邊的變量。觀察下列賦值語句的作用:
(1)A=B,它是將變量B的值賦給變量A,但B的值并未改變。(2)A=123表示將數(shù)值123賦給變量A。
(3)A=A+10表示將變量A的值加10后,再賦給變量A。如果原來A的值為30,則執(zhí)行此語句后,A的值為40。
(4)如果A=30,B=40,則依次執(zhí)行語句T=A,A=B,B=T后,A、B兩個變量的值發(fā)生交換A=40,B=30。
三、輸入數(shù)據(jù)的函數(shù)
Inputbox()是提供從鍵盤輸入數(shù)據(jù)的函數(shù),利用它可產(chǎn)生一個對話框,提示用戶輸入數(shù)據(jù)并單擊命令按鈕。該函數(shù)返回值是字符類型。利用這個函數(shù),上述程序中的r=inputbox(“r=”,”請輸入半徑”),所以在程序運(yùn)行時(shí),從鍵盤上輸入數(shù)據(jù)賦值給變量r。
Inputbox()的語法格式為:
Inputbox(提示信息,標(biāo)題,默認(rèn)值,位置)
其中:
提示信息:指對輸入數(shù)據(jù)的提示,顯示在對話框中,不能省略。
標(biāo)題:指運(yùn)行此函數(shù)后彈出的對話框的標(biāo)題。
默認(rèn)值:指默認(rèn)的輸入數(shù)據(jù)值。
位置:指運(yùn)行此函數(shù)后彈出的對話框的左上角在屏幕上的位置與提示信息和標(biāo)題是用引號引起來的字符串。例如:執(zhí)行下面的程序運(yùn)行情況:
Private Sub Command1_Click()
A = InputBox(“A=”, “輸入”, 12, 100, 20)
End Sub
運(yùn)行該程序,屏幕上窗口的左上角將位于坐標(biāo)為(100,20)的位置,標(biāo)題為“輸入”,窗口的提示信息為“A=”,而在輸入欄內(nèi)會出現(xiàn)默認(rèn)的數(shù)據(jù)12。如下圖所示:
四、輸出數(shù)據(jù)的方法
Print是輸出數(shù)據(jù)、文本的一個重要方法。在求圓的面積程序中,print “圓的面積s=”;s 就是利用Print方法將計(jì)算出來的圓的面積s的值輸出到窗體上。
Print方法輸出數(shù)據(jù)的基本格式是: Print 輸出內(nèi)容
在這里,輸出內(nèi)容可以是數(shù)、變量、表達(dá)式,也可以是用引號括起來的字符串。說明:
(1)如果輸出的內(nèi)容是數(shù)、變量、表達(dá)式,則輸出的是數(shù)、變量、表達(dá)式的值。如果是引號引起來的字符串,則原樣輸出。
例如:語句Print 3 的結(jié)果為
3語句Print 2+2 的結(jié)果為 4 語句Print “你好” 的結(jié)果為 你好
(2)輸出內(nèi)容可以是一個或多個。如果是多個輸出內(nèi)容,則各輸出內(nèi)容之間可以用逗號或分號分隔;如果用分號,則后面一個輸出內(nèi)容緊跟前一個輸出;如果是逗號,則按照分區(qū)格式輸出。
例如:A=5,B=3
Print “A=”;A,“B=”;B
輸出結(jié)果為:A=5 B=3
A=5,B=3
Print “A=”;A;“B=”;B
輸出結(jié)果為:A=5B=3
(3)如果輸出內(nèi)容后面沒有符號,則表示下一個Print換行輸出;如果Print中沒有輸出內(nèi)容,則表達(dá)輸出一個空行。
例如:A=5,B=3
Print “A=” ;A
Print “B=” ;B
五、練習(xí)
問題1:已知長方體的長、寬、高,編寫一個程序,求長方體的全面積和體積。(1)分析問題
設(shè)長方體的長、寬、高分別為A、B、C,由于長方體的六個面的面積兩兩對應(yīng)相等,所以長方體的全面積為:S=2*(A*B+A*C+B*C),體積為:V=A*B*C。(2)設(shè)計(jì)算法
① 輸入A、B、C的值
② 計(jì)算S=2*(A*B+A*C+B*C)③ 計(jì)算V=A*B*C ④ 輸出S,V的值(3)編寫程序
Private sub command1_click()
Dim A as single,B as single,C as single,S as single,V as single A=Inputbox(“A=”,”輸入”)B=Inputbox(“B=”,”輸入”)C=Inputbox(“C=”,”輸入”)S=2*(A*B+A*C+B*C)V=A*B*C
Print “全面積S=”;S,“體積V=”;V
(4)調(diào)式程序
六、小結(jié) 在以上的程序中,執(zhí)行時(shí)按語句出現(xiàn)的順序執(zhí)。即當(dāng)執(zhí)行第一條語句后,必然從第二條語句繼續(xù),順序執(zhí)行所有的語句,直到執(zhí)行完最后一條語句為止。像這樣的控制結(jié)構(gòu)稱為程序的順序結(jié)構(gòu)。順序結(jié)構(gòu)的最大特點(diǎn)是在這個結(jié)構(gòu)內(nèi)按由上到下的的書寫順序執(zhí)行,它只有一個入口和一個出口。這是一種最簡單、最基本的結(jié)構(gòu)。如圖
五、課外拓展
試編寫程序從鍵盤上輸入一個三位數(shù),然后將它反方向輸出。例如輸入456,輸出應(yīng)為654。