知識與技能:
1.理解算法的含義,能從生活中準確舉例說明使用算法的例子
2.了解算法的表示形式:自然語言、流程圖
3.掌握流程圖描述算法的方法
過程與方法:
1.培養學生分析、解決問題的能力
2.會用流程圖描述算法、解決問題
情感態度與價值觀:
1培養學生的邏輯思維能力
重點/難點:
1.如何分析問題
2.流程圖的畫法
3.將算法思想轉換成算法步驟
教學流程:
(一)流程圖引入:
1.流程圖符號:
【教師】問你們一個很簡單的問題,怎么把一只大象放進冰箱?
【學生】開門,放進,關門
【教師】萬一一開始冰箱門沒關呢?步驟是不是不一樣了?所以在放進大象之前,我們是不是需要先判斷冰箱的門是否關著?
【教師】接下來,如果門是關著的,要怎么做?(繼續畫流程圖)
【教師】如果沒有關上呢?
【教師】用特定的圖形和符號表示解決問題的思路的圖,稱為流程圖(flow chart)。用圖形表示算法,直觀形象。看一下流程圖中常用的幾種符號。
2.三種基本結構:
【教師】
順序結構:如圖,兩個處理框是順序進行的;
選擇結果:根據判斷給定的條件是否成立,選擇執行步驟a或b;
循環結構:反復執行某部分操作。有兩種循環結構:當型(當給定條件p成立時,執行操作a,否則結束循環)、直到型(執行操作a,直到條件不成立,結束循環)至少執行一次。
(二)算法:
1.簡單介紹算法的定義:
【教師】廣義地說,為解決一個問題而采取的方法和步驟,就稱為算法(algorithm)。比如我們剛剛我們為了解決將大象放進冰箱的問題……
2.選擇更優算法:
【教師】一般來說,算法的設計分為兩部分,第一是尋找解決這個問題的方法,第二是描述實現這個方法的步驟。一個好的解決方法就是算法優劣的標志。我們來看華羅庚的“燒水沏茶”問題。
情況:1.沒有開水;2.需要清洗茶具
提問同學如何做?并畫出流程圖。
自然語言:
算法一:燒水→燒水過程中清洗茶具→沏茶
算法二:清洗茶具→燒水→沏茶
算法三:……
【教師】這兩個算法的區別在于,什么時間清洗茶具,算法一利用燒水的時間清洗茶具,節約了時間,因而更高效,相比之下是一個比較好的解決方法。所以我們在設計算法的時候,首先要確保它的正確性,其次可以思考它是否高效,是否具有代表性,能解決一類問題,適用到其他方面等等。
(三)案例
【教師】你們知道韓信點兵的故事嗎?
【學生】……
【教師】漢高祖劉邦曾經問大將韓信,“你看我能帶多少兵?”韓信斜眼看了劉邦:“你頂多帶十萬兵吧。”漢高祖心中不悅:“那你呢?”韓信很驕傲地說:“我當然是多多益善了。”劉邦更加不開心了,就想用一道題目難倒他。于是他傳令讓一小隊士兵隔墻站隊,劉邦傳令每三人站成一排,小隊長報告最后一排只有二人;又傳令每五人站成一排,最后一排只有三人;再傳令每七人站成一排,最后一排有二人。問韓信總共有多少人。韓信很快報出了正確答案。
如果問你們,你們要怎么解決這個問題?接下來的時間留給大家思考,畫出流程圖。