
課題:算法 | 執教: | 學校: | 學科: 信息技術 | 課時:40分鐘 |
三維目標 | 知識與技能: | 1、了解算法的基本概念及其描述; 2、學會繪制流程圖描述算法; 3、學習常用的算法----解析法和枚舉法. | ||
過程與方法: | 學會分析問題,提取問題形成算法描述,掌握流程圖的概念與制作方法。 | |||
情感、態度 與價值觀: | 通過對問題的研究和分析,設計算法對問題進行求解,提高分析問題和解決問題的能力,體會算法分析的魅力。 | |||
重點與難點 | 教學重點: | 理解并學會利用算法分析問題并形成描述 | ||
教學難點: | 1、用流程圖表示算法 2、算法設計與分析 | |||
學情分析 | 本節課的學習對象是八年級的學生,在前面的學習中,學生對程序設計有了一定的了解而對算法的概念及描述還比較模糊,沒有完整的知識結構體系。本課需要學生了解基本算法,學會用流程圖描述算法,學會設計算法并能利用算法來分析解決生活中的問題。 | |||
教材分析與教法分析 | 本節課是蘇教版八年級第4章第2節《算法》中的一個知識點——《算法實例》內容。本節介紹了算法實現的基本方法,讓學生體驗繪制流程圖描述算法的過程,對比與自然語言描述算法的區別。每一個環節都體現了解決問題的邏輯思維,從一開始的導入到最終需要學生自己思考,能利用流程圖描述算法,對學生來說有點難度,也是一種挑戰,會激發了學生的興趣,為進一步學習注入動力。 考慮到算法對于學生而言,比較陌生,甚至會有一定難度,需要一定的協助合作,故而主要使用任務驅動,分組教學,教師講解引導等教學方式實施教學。 | |||
學生準備 | 教材、草稿紙 | |||
機房軟件準備 | VB、畫程 | |||
教學過程 | ||||
教學環節 | 教學內容 | 教師活動 | 學生活動 | 設計意圖 |
情境導入 | 導入(3min) | 課前小游戲:偷龍轉鳳 1、交換兩容器中的液體。 2、學生整理步驟 教師板書步驟并總結: 這個小游戲中,包含了解決問題的方法(引入空容器),也包含了操作步驟。 | 學生欣賞、思考并回答 | 游戲導入,引出算法的概念:解決問題的方法和步驟 |
新課講授 | 算法概念(3min) 算法故事 (3min) | 一、算法概念(PPT) 教師:總結并介紹算法 概念:解決問題的方法和步驟 計算機就是靠執行計算機程序工作的。 沃斯公式: 程序=算法+數據結構 1、同一問題,可用不同算法。 2、算法的優劣直接影響程序質量,算法是程序的靈魂 二、算法小故事 華羅庚“燒水泡茶”(PPT) 算法(一) VS 算法(二) 問:同學們覺得哪個算法更好呢?為什么? (時間統籌法) | 認真聽講 積極思考 學生聽講思考并回答 | 讓學生了解關于算法的知識,體會算法與程序的關系 讓學生體驗算法的兩個性質1、2 |
新課講授 | 流程圖設計(15min) | 三、算法描述 教師:算法是可以描述的 1、自然語言:用語言文字描述 (PPT:交換液體自然語言描述與流程圖,請學生分析比較。) 缺點:煩瑣、冗長 2、流程圖:用圖形符號表示 優點:直觀、簡潔 、流程圖符號介紹(PPT) 、流程圖基本結構介紹 順序、分支、循環 3、實踐學習-我來“畫一畫” 教師示范使用流程圖描述算法: 、設計算法 、繪制流程圖 4、學生實踐:(抽獎活動) 利用流程圖來描述算法: 小明參加了公司舉辦的抽獎活動,他計劃:如果自己中獎了,就買房買車,享受生活。如果不中獎,就繼續認真上班。請你設計一個流程圖描述這次抽獎活動。 學生練習設計并繪制流程圖。 練習檢驗:教師利用抽獎軟件,用學號抽出學生上臺示范。 教師完善講解 | 學生比較分析兩種描述方式的異同,體會其特點 學生回答 學生動手操作練習 | 通過對比讓學生了解并熟悉算法描述的兩種方式的優劣性 讓學生了解流程圖,學習使用流程圖描述算法。 用趣味性實例提升學生學習興趣 |
拓展活動 | 學生拓展 | 用流程圖描述:求“1+2+3+……+100”的值 教師導析:本題應采用什么結構的流程圖? | 課后拓展 | 拓展學習循環結構 |
算法實例 (10min) | 四、算法學習 1、教師介紹常用算法有: PPT:解析、窮舉、遞推、遞歸、貪心、動規、深搜、寬搜…… 引出本節課要學習的算法:解析法與枚舉法 2、算法實例: 解析法~ 概念:先找出數學表達式,再求出表達式值。 例1~三角形面積: PPT:題目 Step1:分析問題 讀入三角形的底和高,根據三角形面積公式:S=a*h/2求出結果 Step2:用流程圖描述算法 、枚舉法~ 概念:用計算機運行速度快的特點來窮舉可能的情況。 例2~水仙花數 PPT:題目 Step1:分析問題 題目有哪些已知條件? 可以在什么范圍內枚舉?如是4位數,枚舉范圍是什么? 枚舉:在數據范圍一個個去判斷是否滿足條件,如滿足就成立。 Step2:用流程圖描述算法 學生練習 教師講評 教師總結:剛才的解法是拆分三位數,然后根據條件進行判斷是否成立。 | 學生聽講 答 學生回答: 1、三位數 2、關系式條件成立 100~999 1000~9999 | 讓學生知道:解決問題應該從分析問題入手 | |
實例拓展 (5min) | 思維拓展:水仙花數解法二 問:有沒有其他的解法? 教師啟發: 現在我們換一個思路: 解法一是拆分三位數,我們能不能逆其道而行,從組成這個整數的每一位數字出發,合成三位數,會怎么呢? 請學生回答后,統一分析問題: Step1:分析問題 令百位數a取1~9,十位數b取0~9,個位數c取0~9,則對應的三位數: 合成后的數: x=a*100+b*10+c 判斷條件a*a*a+b*b*b+c*c*c=x是否成立。 Step2:用流程圖描述算法 學生練習 教師評講 | 學生思考回答 | 讓學生學會深入探索問題,學會逆向思維,并深刻體會“同一問題可以有不同算法”這一算法性質 | |
算法實例拓展 (2min) | 百錢百雞 問題描述:公雞5元,母雞3元,小雞3只1元,100元正好買100只雞,求出所有的購買方案,各雞買幾只? 分析問題:題目有什么已知條件?需要枚舉什么?可在什么范圍內枚舉?請學生回答 | 學生思考回答 | 拓寬學生視野,讓學生學會從問題出發分析問題 | |
百錢百雞算法探討 (3min) | 算法設計1: 窮舉公雞:(x=1;x<=20;x++) 窮舉母雞:(y=1;y<=33;y++) 窮舉小雞:(z=1;z<=100;z++) 如果條件 (100==x+y+z && 100==5*x+3*y+z/3)成立,則輸出購買方案。 問:最壞情況,需要枚舉多少次? 算法分析:此算法需要枚舉嘗試20*33*100=66000次。算法的效率顯然太低。 深入思考:如何優化算法? 優化算法: 我們分析題目要求時發現,買小雞的錢應該為整數,那么小雞的數量Z則應該是3的倍數,所以為了減少枚舉次數,我們可以對算法1進行改進: 把對小雞數量Z的循環語句步長設為3,即Z=Z+3,在3~99的范圍內,將3的倍數枚舉出來,這就是小雞的數量。 這個改進,可進一步提高(算法1)的效率,減少循環次數 PPT:流程圖 深入思考:還有沒有不同的算法? 算法設計2: 在公雞(x)、母雞(y)的數量確定后,小雞的數量z就固定為100-x-y,無需再進行枚舉了。 此時約束條件只有一個: 5*x+3*y+z/3=100. 窮舉公雞:(x=1;x<=20;x++) 窮舉母雞:(y=1;y<=33;y++) 小雞=100-公雞數-母雞數; 如果條件 (z能整除 3)并且( 5*x+3*y+z/3==100) 成立,則輸出購買方案。 算法分析:以上算法只需枚舉嘗試20*33=660次。實現時約束條件限定Z能被3整除時,才判斷“5*x+3*y+z/3=100”。這樣省去了z不整除3時的算術運算和條件判斷,進一步提高了算法效率。 問:最壞情況,需要枚舉多少次? 算法(1)66000次 VS 算法(3)660次 | 學生探索思考 學生深入思考回答 學生思考回答 | 通過綜合練習讓學生熟悉本節課所學內容 讓學生學會分析算法時間復雜度 讓學生學會優化算法 讓學生體驗優化算法的好處,體驗不同算法與程序效率的相關性 | |
本文發布于:2023-05-28 11:43:45,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1685245426182780.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:《算法》教學設計-優秀教案.doc
本文 PDF 下載地址:《算法》教學設計-優秀教案.pdf
| 留言與評論(共有 0 條評論) |