第一篇:分支結構算法的實現教學設計
分支結構算法的實現教學設計
教學目標:
1、知識與技能:理解程序設計分支結構基本思想;掌握分支結構語句特點
2、過程與方法:學會用算法分析問題;能夠使用分支結構編寫簡單的程序解決具體問題
3、情感態度與價值觀:體會用結構化方法解決數學問題的便捷性;明確結構化在程序設計中的重要作用;激勵嘗試使用多種方法解決問題;培養良好的編程習慣和態度。
教學重點:
1、理解程序設計的分支結構基本思想;
2、熟悉IF語句及掌握IF語句的運用; 教學難點:
1、分支結構實現語句的格式和功能;
2、編寫簡單的程序的過程;
3、變量的特點。教學方法:
任務驅動法、演示法、講解法、師生互動法 課時安排:一課時 教學設計:
1、教學對象分析
本課適用于高中二年級學生。這一階段的學生具備一定的數學基礎和具有一定的比較、歸納能力,是一個正處在抽象邏輯思維已初步形成并繼續發展的階段。學習分支結構程序設計就是要在這些基礎上,借助具體事務為載體,了解程序解決問題的條件與辦法。在學習本課之前,學生已經掌握pascal程序的編寫與運行方法,了解順序程序結構的執行流程。
2、教學需要分析
本節課在有多媒體教學軟件的機房上課。通過再度開發課程資源(《信息技術》第四冊第四章第二節《分支結構算法的實現》)和充分利用學生發言的現場事件進行有效講授,激發學生的探究熱情,努力創設師生之間的互動場景,使學生在討論中協作學習,在發言中共享學習成果。
本節課在教師設疑、講解和學生分析、討論、發言等基礎上進行的,主要運用的教學方法是任務驅動法。教師講解的過程就是不斷地“否定”前面的結論,提出新問題(任務)、請同學們分析問題,提出解決方案,幫助學生解決問題的過程。
在授課過程中,要根據課堂現場發生的事件,隨時調整教學內容,當學生的討論發言偏離本節課的教學目標和內容時,要機智處理。
教學過程: 導入:
1、閱讀句子,總結規律。
如果天氣好,就去打球,否則留在家里。
如果答對了,就會得分,否則就會扣分。
如果??就??(否則??)
2、在Pascal中,這種根據不同的情況轉向不同的分支來處理的程序結構就是分支結構。
If??then??(else??)
(學生討論、發言,教師引導他們注意if、then、else三個詞,并為這些按條件語句的一般形式劃分部分)
【學生歸納】
條件語句的一般形式:
格式一:if 條件 then 語句組
格式二:if 條件 then 語句組1 else 語句組2 【教師說明】
格式一功能:當條件滿足時執行then后語句組,否則跳過此行執行下一行。格式二功能:當條件滿足時執行語句組1,否則執行語句組2。例題講解
編寫程序,實現人機對話,電腦顯示“你快樂嗎?(Y OR N)”,如果按“Y”,就回答“我很高興”,否則就回答“太糟了”。
流程圖(略)編寫程序 PROGRAM ex1;VAR a:char;BEGIN Writeln(‘Are you happy?’);Write(‘a=’);Readln(a);IF a=‘y’
THEN writeln(‘I am happy’)ELSE writeln(‘too bad’)END.上機任務
輸入三個正數,輸出最大數
(1)分析題目,設問,引導學生思考:
在現實中,如果要求三個正數中的最大數,我們很容易做到;但是,如果有一千個數或更多的數,就需要較長的時間,而且容易出錯。如果用Pascal按一定的算法編寫程序,就可以準確地在短時間內求出一千個數或更多數中的最大數,那我們應該如何編寫程序呢?
(2)分析算法:
歸納算法:兩數分別做比較,用中間量保存當前最大數,最后求出最大數。
①max←0 ②輸入a、b、c的值
③如果max Writeln(‘The max is’ ,max)END.程序運行: 當程序運行后(Ctrl+F9),先在屏幕上出現一行提示語句:“Please input a b c”,光標在下一行行首閃爍,等待用戶從鍵盤輸入數據,輸入任意三個數后按回車,最后顯示結果。如果輸入其他的任意三個數,也不需要修改程序了,直接在光標顯示輸入新的數就可以得出結果。 隨機請部分同學到教師機上演示他們的程序,并請他們談談自已編(改)寫程序的體會。小結: 1、IF 語句 If??then??(else??) 2、編寫程序的方法。 ①分析題目,想出解題的思路和方法(算法); ②把分析的處理步驟用流程圖表示出來; ③用Pascal的語言編寫出程序。 知識拓展 突破難點(1)編寫程序步驟: ①分析題目,想出解題的思路和方法(算法); ②把分析的處理步驟用流程圖表示出來; ③用Pascal的語言編寫出程序。(2)說明: ①Pascal語言對分行沒有嚴格的要求,可以將多句語句寫在一行中,也可以將一句語句分行書寫。 ②在Pascal語言中,在大小寫字符在命令中等價,但習慣中保留字用大寫,其他的用小寫。 多分支結構教學設計 ──愛心禮物AB案探討 湖北省黃石市第二中學 李 志 摘要:在全國、省市信息技術優質課中對培養學生信息素養存在兩種爭議:一種觀點認為課堂教學中應注重學生技術、技能培養,將教學中指導學生如何操作和使用作為核心;一種是在教學中著重培養學生處理信息的方法和過程,用探究學習的方式去發現和學習技術,形成技能。本文在多分支教學中設計的“愛心禮物”AB案實際上就是基于這兩種觀點的典型例子,通過具體教學與反思,我更贊同第二種觀點,即引領學生思維,培養分析問題和解決問題的能力,通過思維促進技能。 關鍵詞:信息素養 多分支結構 一、引言 在信息技術課程教學當中,我們培養學生信息素養,或者說信息能力,到底這是一種什么樣的能力?這個問題在全國、省市信息技術優質課中存在兩種爭議:一種觀點認為課堂教學中應注重學生技術、技能培養,將教學中指導學生如何操作和使用作為核心;一種是在教學中著重培養學生處理信息的方法和過程,用探究學習的方式去發現和學習技術,形成技能。 對于這個問題,我一直在思考,是否能把狹義的信息技術能力(技術上的操作)拓展到廣義視角,也就是信息處理能力和技術能力并舉這個目標上來? 我在多分支教學設計中,設計了“愛心禮物”AB案,AB案反映了兩種不同的教學設計理念,通過實際教學和反思,讓我更加堅定了引領學生思維,培養分析問題和解決問題的能力,通過思維促進技能的教學理念。 二、教學分析 1.教材分析 本節課是教育科學出版社普通高中課程標準實驗教科書《算法與程序設計(選修)》第二章第2.3.2節的部分內容。本節內容是在學生初步了解了VB的編程環境、VB中的數據類型、變量的使用以及If單分支與雙分支結構,進一步向學生展示VB多分支選擇結構的使用。 2.學情分析 本課教學對象為高一年級學生,我所帶的3個班是年級基礎較好的理科班,學生思維活躍,接受能力較強,當然,也有一些計算機基礎較為薄弱的學生。學生本學期第一次接觸到程序設計,但是一周開設了2節課,課程開設以來,學生已經基本掌握了使用計算機解決問題的步驟,能夠完成簡單輸入、計算、輸出的順序結構程序,上節課已經學習了單分支和雙分支選擇結構,學生對If的這兩種結構有了一定的理解,能夠編寫簡單的選擇結構程序。 三、教學設計 【教學設計A】 1.設計說明 本教學設計通過教師提出的一個個小任務,引導學生逐個解決本節課涉及到的知識點,最后要求學生用多分支結構完成完整的“愛心禮物”的實例。 2.教學目標 (1)能理解選擇結構中單分支和雙分支選擇結構執行過程,并用其解決實際問題。 (2)能理解多分支選擇結構,并能用If多分支語句和Select Case多分支語句解決實際問題。 (3)能理解Image控件的picture屬性和List控件的text屬性。 3.教學過程 (1)創設情景 導入新課 教師通過演示選擇商品,程序能夠顯示相應商品的圖片導入新課。目的在于引導學生思考為什么選擇一個商品,程序能顯示相應的圖片,也就是引導學生復習上節課學到的單分支語句或者雙分支語句的執行過程。 (2)師生探究 構建新知 在這個過程中設計四個任務: 任務一:在圖片框中顯示商品圖片。設計該任務的目的是解決如何顯示圖片的技術問題。 任務二:通過下拉列表框選擇商品名稱,在圖片框中顯示對應的商品圖片。在這個任務中,設置下拉列表框中只有兩個商品。這樣設計的目的在于引導學生用已有單分支或者雙分支選擇的知識解決這個問題。 任務三:在任務二的基礎上,將下拉列表框中的商品增加到3個以上,此時用原來的雙分支語句無法解決問題,從而引出本節課的新知識:if語句的多分支結構。 任務四:在任務三的基礎,用select case 語句來實現多分支選擇功能。 通過這四個任務的設置,幫助學生逐步解決技術難點,同時引出本節課的新知識,在此基礎上完成學生新知識的構建與學習。 (3)交流總結,拓展延伸 在這個環節中,教師總結本節課所學到的知識,同時要求學生運用已有知識和新知識解決“愛心禮物”任務。 “愛心禮物”任務描述如下:小明爸爸的生日快到了,小明想用平時節省下來的800元錢給爸爸買一身行頭,同學們,你們能不能設計一個“愛心禮物”的小程序讓爸爸挑選喜歡的上衣、褲子和鞋子共三件禮物且不超出800塊錢預算呢? 【教學設計B】 1.設計說明 教學設計B與教學設計A的不同之處在于:首先向學生提出“愛心禮物”問題,要求學生自己操作,口述程序流程,用程序流程圖畫出程序模塊結構。然后分析程序流程,引導學生討論思考:我們完成該程序,需要解決哪些問題?在此基礎上,教師進一步引導學生聯系舊知識,解析任務。在接下來的過程中,教師將學生分組,讓每個小組的學生進行合作探究,并要求進行匯報交流,通過學生之間的交流讓學生找出本節課的新知識,然后在師生的共同探究中達到新知識的構建,最終實現課程導入時的任務。 2.教學目標 (1)通過學生自己分析,找到需要解決的問題。 (2)通過分組,學生在小組內完成任務的探究、交流,教師適當加以引導完成新知識的構建與運用。 (3)培養學生自主學習、自主探究的能力。 3.教學過程 (1)創設情景 整體感知 在這個環節中,通過實例演示、操作讓學生了解程序流程,要求學生口述程序流程,并用程序流程圖畫出程序模塊結構。 (2)分析流程,明確任務 在這個環節中引導學生思考本程序需要解決的問題,老師僅幫忙梳理,得到我們要解決的任務:圖片載入、雙分支、多分支選擇以及價格核算。接下來教師引導解析任務:閱讀圖片加載相關材料,上衣的選擇應該用雙分支結構,褲子和鞋子用多分支。老師集中解決基礎問題──圖片載入,為后面多分支探究掃除障礙。 (3)小組合作,自主探究 在這個環節中三人一組,學生選擇“雙分支”“多分支”“價格核算”問題進行合作探究,要求學生根據流程圖寫程序,自己上機調試程序并做好問題的記錄以備交流匯報使用。 上衣小組:要求上衣小組完成雙分支的交流。 褲子和鞋子小組:設計了兩個預設。預設一:學生展示不成熟(未完成的程序)。學生說出自己的問題與困惑;老師幫助分析,找出原因,修改完善,并調試運用。預設二:學生展示已經完成的程序,老師將雙分支和用單分支語句解決多分支程序進行列舉比較(相同點和不同點)。 價格核算小組:引導學生思考如何讓程序知道你選擇了多少錢的上衣、褲子和鞋子?用變量保存價格的時候應該放在程序的什么地方?整個禮物選擇結果的判斷應在什么地方完成? 小結:利用單分支以及多個單分支解決問題。 (4)師生探究 構建新知 在上面的環節中,教師引導學生用舊的知識解決了多分支問題,在這個環節中,教師引導學生進行多分支的深入研究。老師引用學生新發現,或者直接引出“多分支結構”,讓學生進一步思考“多分支結構”與剛才“單分支解決多分支”有什么不同? 教師用單步調試的方法,讓學生分析兩者之間在執行過程中的不同,找到If多分支語句的優勢所在,通過學生的自主探究,發現這節課的新知識,同時要求學生用自己熟悉的方法,完成整個程序的設計,并調試運行。 (5)交流總結,拓展延伸 在這個環節中指出VB中還有一種多分支語句---Select Case語句,讓學生閱讀教材36頁的例子和教材旁邊的注釋,要求學生用Select Case語句實現選擇鞋子的程序。學生自主探究,調試程序并運行,最后進行小結,包括:多分支選擇語句的格式;多分支選擇語句的執行過程;在處理多選一問題時,使用多分支選擇結構語句能夠使程序更加直觀,并能夠提高程序的運行效率。 (6)學生完成自我評價表 設計了自我評價表,通過學生自我評價的反饋信息,有助于教師了解教學的實際情況,便于在以后的教學中調整教學方法和教學策略。 (7)課后練習 由于Select Case語句結構較If多分支語句更加靈活,鑒于要在一節課內完成兩個多分支語句的理解比較困難,所以在處理時進行了側重,通過課后練習的方式,讓學生在課后去思考、消化。 四、愛心禮物AB教學設計的分析及思考 該案例所使用的“愛心禮物”程序源于南京師大附中王靜老師2010年暑假給湖北老師做新課程培訓時所舉例子,王老師沒有給出這節課的教學設計。 在最初設計這節課時,我采用的是A案,考慮到整個例子的難度,我將該例子進行任務分解,在完成四個任務以后,讓學生運用新知來最終解決“愛心禮物”問題,在這個過程中,學生跟著老師安排的任務進行著,但我當初的設計忽視了學生自己的分析能力,忽視了學生知識的建構,學生知其“源”,不知其所以“源”。通過A案的實施,學生在課堂上學得很不錯,但在其它運用中,我發現很多學生不知道如何用已有的知識去解決問題,及缺乏整體問題的分析能力。 高中生,他們的基礎知識已經從小學、初中的通實性、基礎性,提升到更高的角度;他們的思維已經由感知、抽象,提升到演繹、歸納等邏輯思維階段;他們的學習能力已經由老師的幫、扶、教,逐漸過渡到了自學、探究、創新、個性的層次。 由此想到,只專心教會學生基礎知識肯定會忽略學生創造性的發現,個性化的學習方法,以及實際運用能力。我們能否讓學生站在程序員的角度,熟悉信息處理的全過程,能夠主動地去分析需要解決什么問題,然后是如何去解決問題,通過這個發現與解決問題的過程讓學生知識與能力并舉,B案的教學設計正是立足于此而展開。 教學設計B案,通過“愛心禮物”程序創設情景,通過敘述操作過程,以及繪制程序流程圖引導學生對程序進行整體上的把握,培養學生整體分析能力。通過分析流程、明確任務環節,幫助學生從事物表象抓住本源,培養學生分析程序、解析問題的能力。在知識獲取過程中,把所需知識演變成學生迫切想解決的問題,并建立新舊知識的聯系,讓學生自主探究、合作學習而完成。通過整體把握分層(程序模塊)思考,結合已有知識對問題進行梳理,培養學生程序設計的策劃能力。 五、展望 在實際完成B案的過程中也遇到了很多問題,通過學生教學反饋信息來看,還是有一部分學生對于VB程序設計的學習感到困難,這也反映出學生在思維上存在一定的依賴性,自主探究的動力和習慣還有待提高。當然,老師在進行教學設計的過程中應該有更多的預設,通過充分的換位思考,提高教學效果。 雖然存在問題,但是知識的實用性運用,知識的創造性運用,理應列為信息技術學科的目標之中。在教學中,我們應堅持運用研究性學習方法,把知識溶于學生實際生活,在真實環境中學習知識,形成技能,并著重培養學生探究性、創造性的學習方法。 《分支結構》教學案例 適應范圍(標明年級和模塊)高二年級 算法與程序設計選修 課時 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、引導學生分析此程序還適用于生活中的哪些事例,以達到舉一反三的效果。 (設計意圖:讓學生通過編程解決生活的事例,以培養學生的知識和技能為主,在活動過程中掌握運用信息技術解決問題的思想和方法,讓學生意識到現實生活中蘊藏著豐富的程序設計例子,從而體現“小課堂,大社會”的教育觀。) (五)小結 學生暢談本課知識上的收獲與疑問,學習過程中的愉悅及挫折中的體驗,使課堂教學充滿活力。 (六)課后作業: 神舟六號的成功發射振奮中華兒女,請你結合物理學知識,編程實現以下功能:輸入飛船速度,程序判斷飛船是否能升空。 四、教學效果預測 通過本節課的教學,預計學生將會得如如下發展: 發展一:注重教學內容與實際生活的相關性,技能訓練與問題的關聯性,增強學生解決問題的實際能力。 發展二:采用合作的形式探究學習,組間同質組內異質,為小組取長補短互幫互助合作完成創造條件,體驗合作成功的愉快感,形成良好的合作人際關系,促進學生良好心理品質的形成。發展三:提出問題,引導學生通過合作探究去修正完善,實現將能力的培養落到具體的探究解決問題的過程中,使學生成為學習的主體,增強學生對信息技術變化快的適應能力。 《3.4算法及其實現》教學設計(第一課時) 一、設計思想 隨著新課程改革的深入,信息技術課程理念發生了巨大的變化,具體表現為:強調培養學生的信息素養;為學生打造終身學習的平臺;關照全體學生的發展;強調培養學生解決問題的能力,運用信息技術創新實踐的能力,與人交流合作的能力。新課程要求教師必須改變傳統的“教教材”,要 “用教材去教”,要求教學模式由以往的“以教師為主體”轉變到“以學生為主體”,提倡“任務型”教學,關注學生的情感態度價值觀。 本節課我根據新課標,結合學生的特點對教材的內容進行了深入的挖掘和思考,創作了學生學案,創設豐富的教學情境,提供多樣的學習資源。教學以生活中的實際問題和有趣故事作為任務驅動,讓學生采用自主、合作、探究、體驗等學習方式,通過意義建構獲得新知,充分體現學生的主體地位。 二、教材分析 《算法及其實現》是普通高中課程標準實驗教科書——《信息技術基礎(浙江教育出版社)》的第三章第四節內容,該教材是按照高中信息技術課程標準編寫的實驗教材。通過學習本節內容可以達到“初步掌握用計算機進行信息處理的幾種基本方法,認識其工作過程與基本特征”的課程標準要求。 本節內容是第三章的難點,介紹了算法的基本概念和算法的表示方法。相比較前三節的內容要抽象的多,二本節又是第四節的第一課時,是第二課時《程序設計實例》的知識基礎,起到承上啟下的作用。本節的學習重點是算法的概念、特點及表示方法;難點是用流程圖描述算法。 三、學情分析 從思維品質上來說:高一學生已有使用計算機的感性經驗,已經可以 超越簡單的技術操作,具備了接受更高層面文化的能力。學生的思維能力已接近成人,他們有旺盛的求知欲,較高的學習自覺性,并具備一定的自學能力,已具有較強抽象思維和邏輯推理能力。 從知識儲備上來說:經過前面的學習,學生已經可以使用計算機處理一些實際問題,例如:利用計算機對文字、圖片、多媒體信息的處理,但是學生還不了解了使用計算機解決問題的一般過程和解決方法,以及以何種方式來表示。 四、教學目標 (一)、知識與技能: 1、理解算法的含義; 2、了解算法的特點及表示方法; 3、學會用流程圖表示算法。 (二)、過程與方法: 1、能初步利用算法解決簡單的問題; 2、培養學生的理論聯系實際能力和動手操作能力。 (三)、情感態度與價值觀: 1、培養學生學習信息技術課程的興趣; 2、培養學生主動探究和合作學習的意識和能力。 五、重點難點 教學重點:算法的含義、及表示方法 教學難點:用流程圖描述算法 六、教學策略與方法 1、學案導學,自主學習 2、問題導入,激情引趣。 3、創設情境,任務驅動。 4、合作探究,交流提高。 七、課前準備 1.教材、教材配套的教師用書、配套光盤 2.學生學案 3.教學課件 4、多媒體教室/大屏幕投影儀 5、將學生分為4人一組,每組都有優、中、差三個不同層次的學生。 八、教學過程 (一)新課導入 同學們,上節課我們講了聲音和視頻處理,都是要利用計算機內存儲的應用軟件來解決處理問題,同樣,像我們之前學習的文字處理軟件、表格處理軟件、多媒體報告處理軟件也都是已經編制好的軟件幫助我們處理信息。 但是,也有許多問題是沒有現成的軟件可以借用的,因此,我們必須根據不同的問題和工作要求,設計針對特定問題的解題步驟,編制專用的軟件來解決這些問題。 今天開始我們一起來看看如何實際編寫一個簡單的程序來解決一個特定的問題。 (二)新課教學 1、算法 (1)師生共同完成游戲 師:首先,我們一起來做一個農夫過河的游戲(游戲內容分別用文字和flash動畫顯示在屏幕上),請同學們按小組討論,幫農夫設計一個具體的步驟,安全地將這三樣東西帶過河。 生:分組討論過河的方案,最終得出了成功的方案。 師:讓小組代表與全班同學分享各自的方案,評價各組的方案進而得出正確的步驟并總結: 同學們,這6個步驟是這個游戲中是不可缺少的動作,否則就不能完成總體目標,使問題獲得圓滿解決。因此,在解決某一問題時我們要把各個步驟都精確的考慮到。 上面這個例子中的解決問題的步驟其實就是編制程序的基礎:算法。設計意圖:游戲激發學生的興趣,讓學生在完成游戲中已經編出了一個解決問題的算法,讓學生輕松進入新知識的學習。 (2)學生閱讀,完成學案 師:現在請大家閱讀課本3.4.1第一二自然段,完成學案1、2、3題。學生:閱讀課本制定內容,完成學案。 學生完成學案時,教師要走進學生,觀察學生的完成情況。完成后,學生要對學案的完成做簡要展示,教師要對學生的完成情況作簡要總結。 師:大家完成的都很好,請同學們告訴我有那些生活中算法的實例呢? 生:回答(多樣) 師:大家說的都很好,樂譜、菜譜、廣播體操圖解、搬家的次序等等都是生活中的算法,就拿“搬家”來說,是不是設計的次序不一樣,搬家的效果就不一樣呢?也就是說,解決同一個問題,會有很多種不同的算法,那么什么樣的算法更好一點呢? 現在請大家閱讀課本3.4.1剩余部分,完成學案4題。學生完成學案時教師引導: 師:方法甲和其他兩個方案比較優秀在哪里?節省了什么? 我們在設計算法時應如何做呢? 生:回答 設計意圖:以學案的形式給學生一個一個的任務,讓學生自己去嘗試、探究,然后在教師的指導下進行小結,接下來再嘗試,這樣就形成螺旋式的知識學習和能力提高過程。學生的主動和教師的主導都得到充分的發揮。在本節課的教學設計中,教師重視的不應該是結果,而是過程。 2、算法的表示 (1)常見算法的表示形式 師:大家已經知道我們可以編寫算法來解決生活中的問題,那么我們可以用什么形式來表示算法呢?請大家閱讀課本3.4.2第1自然段,完成學案5題。 完成后要挑選學生回答。(2)流程圖 師:通過大家的閱讀和總結,流程圖是形象直觀,便于掌握的描述算法的形式,因此我們需要認真學習如何用流程圖描述算法,現在請大家閱讀課本3.4.2中2、3、4自然段,完成學案第6題。 生:完成學案第6題。(3)用流程圖描述算法 師:我們已經知道了流程圖的功能,現在我們就嘗試著用流程圖來表示算法,需要注意的是在用流程圖描述算法之前必須能能夠用自然語言描述算法,否則也無法用流程圖來描述。 操作一:將大象裝冰箱 操作一由老師講解演示,學生聽講。 操作二:學校上體育課,一般在操場上課,遇到下雨或下雪,改到室內上課,用流程圖表示。 操作二由學生獨立完成。 生:聽老師講解完操作一之后,完成學案的第7、8題。 操作三:對任意輸入的三個整數x,y和z,找出并輸出其中的最大值。 操作三老師講解。 師:操作三用自然語言描述: 1.輸入變量x,y,z 2.比較x,y。如果x>y,則x存入以max命名的存儲單元中;否則,y存入max 3.比較z和max。如果z>max,則將z存入max。4.輸出max。用流程圖描述: 課堂練習:對任意輸入的三個整數x,y和z,找出并輸出其中的最小值。用流程圖表示。 聽老師講解后,完成學案第9、10題。 設計意圖:本環節設計是充分調動學生的積極性和主動性。教學中不斷的給學生新的任務,讓學生主動學習,增強技能,在練習設計中注意難度的梯度,讓學生不斷的戰勝困難,而不是一下就被困難嚇倒。最后,通過不斷的練習,讓學生真正掌握知識和技能。 (三)課堂小結 本節課學習了算法的定義、特征、優化和算法的表示方式,并著重學習了如何用流程圖表示算法。請同學們在課后完成學案第11、12題,并在小組之間交流。 九、課后作業 1、完成教材P71頁上的“練一練”中的第(1)、(2)兩題。 2、觀察猜數字游戲,嘗試畫出猜數字游戲算法的流程圖。 設計意圖:課后作業分為課內作業和課外拓展兩部分,讓不同層次的學生分別完成。課外拓展部分的算法比較復雜,涉及到了循環結構,可讓學生在完成思索的過程中預習第二課時的內容。 十、學生學案(另附) 【問題研討】 1、信息技術教育,采用任務驅動的形式,圍繞一個能激起學生濃厚興趣的主題展開教學,以學生的探究過程作為學習載體,較之與傳統的信息技術課教學,以單純的計算機知識和計算機操作作為教學內容,更能激發學生強烈的學習欲望。 2、采用學案導學的方式,學生手中都有學案,方便了學習,梳理了思路,提高了效率,更主要的是真正實現了學生主動學習,教師只是引導的教學模式,更加貼近新課程改革的要求。 3、以小組協作學習方式展開教學,使學生的知識、技能的獲取變成了多渠道。學生相互之間的只言片語,遠勝于教師長篇大論的講解和繁瑣的演示操作,大大提高學生的學習效率和學習興趣。同時高、中、低不同層次的學生組成小組,充分利用優秀學生資源,進行同伴互助,縮小生生間的差距,改變兩極分化的現狀。同時也減少教師的課堂工作量,避免了很多學生同時提問教師忙不過來的尷尬局面。 4、自主探究的學習方式,要求學生具有一定的知識準備,并不適合于所有內容的教學。當學生對所要學習的知識毫無所知時,讓學生去自主探究要花費很多的時間和精力,大大降低了學生的學習效率,由于受課時限制應有選擇的采用。 《對分查找及其算法實現》教學設計 湖北省巴東縣第一高級中學 劉少銀 一、教材學情分析 本次課是浙江版高中信息技術選修教材《算法與程序設計》第二章算法實例第四節查找中的一部分內容。由于教材體系不適合校本實際,我們在教學過程中對教材體系作了如下調整。 講授順序:第一章 算法和算法的表示、第三章 面向對象的程序設計的基本知識、第四章 VB程序設計初步、第二章算法實例,第五章 算法實例的程序實現穿插在相關內容教學中完成。 因此在前期教學中學生已經初步掌握了算法基礎及算法表示,VB程序設計初步等。本次課是讓學生掌握對分查找的思想及算法的實現。 二、教學目標 知識與技能:理解對分查找的基本含義、方法,理解并能畫出對分查找的流程圖; 過程與方法:通過案例分析、直觀觀察,增強分析問題和解決問題的能力; 情感、態度與價值觀:感受信息技術與現實生活的關聯,激發對信息技術學科的求知欲,培養主動學習和使用信息技術的意識;養成科學的學習態度,不迷信書本、不迷信權威。 三、教學重難點 教學重點:對分查找的基本方法及注意事項; 教學難點:對分查找算法的實現。 四、教學策略 ·以“猜數”游戲導入,引入對分查找的概念; ·師生討論、生生討論、生生互助;分析、歸納、總結,理解并掌握對分查找的基本思想; ·采用分類研究、分享成果、課后練習等學習方法,理解對分查找方法及基本主要特征; ·采用自然評價、師生評價、生生評價等形式對學習進行過程性評價。 五、教學過程 1.游戲激趣,釋疑對分查找 (三個程序圖片) (初始界面)(人工猜數界面)(程序猜數界面) 準備:幾張白紙,一支記號筆。啟動猜數程序。 師:同學們好!大家看到前面的程序了嗎?它是一個什么程序呢? 同學:猜數游戲程序。 師:對,這是我用VB針對李泳主持的“幸運52”中猜商品價格環節開發的一款程序,我先來說說針對主持人的部分:當李泳宣布商品的價格范圍時,比如10000元內,猜商品價格的人就可以在猜數范圍欄起始欄填上“0”,終至欄填“10000”,然后再將鼠標移到猜數欄中單擊,程序即提示:“準備!倒計時30秒”,當單擊提示處,猜價格倒計時開始,猜價格人即可在猜數欄上填上所猜價格的數值,然后根據主持人的提示,選擇“不對”重新填寫商品價格或選擇“正確”讓所猜價格在“猜得結果”欄內顯示正確結果并停止計時,提示欄中即顯示“您猜了M次,對了,恭喜您”。 師:大家覺得程序光有這樣的功能神奇嗎? 生:不神奇。 師:對,我也是這樣認為的。這個程序神奇的地方在它能幫助猜商品價格人在規定的時間內,根據主持人的提示準確地猜出商品的價格,而且猜中率100%,所以現在“幸運52”停播了,大家知道為什么嗎? 生:不知道。 師:就是因為我開發了這個程序呀! 生:(有的說信,有的抱著懷疑的態度不吭聲,也有說不信的) 師:有同學愿意上來試試嗎? 師:你在紙上寫下你的數值范圍和要猜的數,然后給大家看一下,別說出來,別讓電腦聽見了。 師:好,操作程序讓程序幫忙把寫的數找出來。 (程序找到正確的數) 師:神奇吧。 師:還有那位同學愿意試一下。 師:同樣,你還是先寫下要猜的數和范圍100~200,這次我們不讓大家看到他要猜的數,請大家幫忙記下程序每次出現的數字。 師:電腦程序也猜出了正確結果:132。 程序給出的數字是: 第一個數是:150 第二個數是:12 5第三個數是:137 第四個數是:1 31第五個數是:13 4最后是:13 2大家能看出什么規律了嗎? 生:看不出 師:單純從這幾個數當中是看不出什么規律,現在我們依次把這些數放到數軸上,再看一下,大家看能找出什么規律呢? 同學發言?? 師:大家認為他說的怎樣?為什么不鼓掌呀! 師:對,正如剛才的同學說的那樣,程序是在給定范圍內依次找中點方法來找到我們要找的最終數值,這就是我們今天要討論的一種新的查找方法:對分查找。 師:我們剛才的游戲中的數列是序的嗎? 生:是有序的,升序排列的。 師:如果是降序能用對分查找方式查找嗎? 生:能。 師:大家想一想,如果我們打亂數據的排序順序,在沒有排序的數列中能否用對分查找的方法,找到我們想找到的數據? 同學:不能。 師:對,這就是對分查找方法的一個特征,或稱為條件。因為我們是根據數據的大小找到它在數列中的位置。 【設計意圖】通過游戲和對程序給出數值在數軸上的分布分析,讓學生初步理解和掌握對分查找的方法及前提條件,為后一階段對分查找算法的實現作好鋪墊。 2.分析實例,實現對分查找算法 師:下面我們一起來看一下程序是怎樣一步一步的給出以上數據并最終找到“132”這個數的。 師:首先在100至200之間找中點,然后再用中點值150與所要找的數132比較,得出的結論是所要找的數在100至150之間的數,一下數值的范圍就縮小了一半,終止變量j的值就由200變成了150;第二次查找時,程序就給出100至150的中點值125;當程序進行第三次查找時,起始變量i的值就被修改為125,它們的中點值應該是:(125+150)/2=137.5。有小數了,怎么辦? 生:??(有點茫然) 師:對于小數,程序可以繼續查找,但有可能要增加查找次數。為了保證在整數范圍內查找,我們就要對含小數的中間值進行處理:取整。大家還記得我們學過VB的取整函數嗎? 生:int。 師:對。即int(137.5),結果是多少? 生:137。 師:所以我們查找i到j范圍內的中點值的表達式應該為:m=int((i+j)/2)。 師:依次類推,程序會依次給出131、134、132即找到了要找的數。 師:請同學們根據算法逐步求精的原則在下面畫出流程圖。 (展示如下流程圖,然后請同學完成完善對分查找的算法流程圖) 流程圖補充完善后的結果: 【設計意圖】通過對程序給出中間數的分析,幫助學生理解對分查找算法實現的方法,為學生順利完成對分查找算法流程圖給予理論與實踐上的支持。 3.推出特例,完善對分查找算法 師:同學們,剛才我們完成的對分查找的流程圖;下面請同學們用剛才的查找方法分析一下在199至200范圍內要找200這個數,能找到嗎?為什么?如何解決這個問題? (將教室內學生按座位分成若干組,進行討論。每個組推選一名小 組長,完成后作小組發言) ?? (每一小組完成發言后,老師或點評,或讓學生點評) 師:根據剛才同學的討論分析,那我們先前給出的流程圖就有了一些缺陷,怎么修改? (在同學們的發言聲中,修改完善流程圖) 修改后的流程圖如下: 【設計意圖】給出特例,讓學生相互討論、互助學習,歸納總結出上述流程圖中出現問題的癥結所在,并給出正確的流程圖;由此可讓學生體驗到科學探究的方法,從而培養學生的科學態度與探索精神。 六、課后作業 師:1.在前面的取整中我們用了取整函數int,大家想一想能不能用四舍五入函數處理?如果用四舍五入函數(round)處理,流程圖又將怎樣修改? 2.請看教材P40-43,比較我們所給出的流程圖與教材上的流程圖有什么差異?兩個流程圖最后結果是否一致,那個流程圖的結果有問題,問題是怎么造成的?請寫出一篇500—800字的小論文。 (提示:認真閱讀教材P40至P43內容,并分析教材中所給算法的邏輯錯誤) 作業提交方式:電子郵件(校內、校外均可) 郵件名稱:登分號+姓名+論文題目 作業提交地址:bdxyz@qq.com 【設計意圖】作業(1)擴充課堂內容,豐富學生知識面,豐富學生分別學習內容;作業(2)通過兩個流程圖之間差異性比較,引導學生判別書本上所給出流程圖的邏輯錯誤,從而培養學生:1.科學的學習態度和精神,不迷信教材、不迷信權威;2.運用論文等形式來表達自己觀點;3.通過學生自己的分析、探索,找出教材中的錯誤。 七、教學反思 整節課充滿了笑聲和掌聲,課堂氣氛活躍,學生參與度高。老師的主導作用和學生的主體地位得到了充分的體現。學生在師生互動、生生討論、生生互助中比較好地掌握了對分查找的思想和算法實現,教學效果好。但由于時間關系,沒有將程序的源代碼展示給學生,讓學生有一種意猶未盡的感覺是本次課的一個缺憾。第二篇:多分支結構教學設計
第三篇:《分支結構》教學案例
第四篇:算法及其實現 教學設計(第一課時)
第五篇:《對分查找及其算法實現》教學設計