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