資源簡介 非數值計算一、基本說明1.面向學生:高一年級2.課課名稱:《非數值計算》(高中信息技術教科版必修一數據與計算第四章第三節)3.教學時間:45分鐘4.課時:1二、教學目標1.運用合適的算法形成解決問題的方案。2.了解算法設計中的分治思想,靈活運用二分查找解決實際問題。3.體驗遞歸算法,并結合具體問題開展編程實踐三、教學重難點(一)教學重點理解分治算法與遞歸算法的原理。(二)教學難點能夠選擇合適的算法解決生活中的問題。教學過程【課前預習】(5min)通過課前預習并設置前置性作業,檢查學生學情并了解教學重難點。課堂題目:【課題引入】(3min)運行程序“猜數字游戲”。計算機在0~100中隨機產生一個數,學生嘗試要多少次才能猜中。==》如何猜得又快又準? ==》采用二分查找法。【新知講授】(5min)1.分治思想分治的設計思想,是將個難以直接解決的大問題,分割成些較小的同類問題,各個擊破,最終達到解決問題的目的。教師以案例講解二分查找法查找具體數據的過程。【活動一設計】(5min)運行“猜數字游戲”,理解二分查找法。并把任務一程序補充完整,求解二分查找中目標數據的查找次數。x=int(input("請輸入要查找的100以內的整數:"))step = 0 # 記錄查找次數flag1 = 1 # 目標區域左邊界flag2 = 100 # 目標區域右邊界while(flag1 <= flag2):mid = (flag1+flag2)//2 # 中間值step = step+1 # 查找次數加if mid>x:flag2 = ① # 右邊界前移② mid < x:flag1 = mid+1 # 左邊界后移else:break #找到目標數據,退出循環print("查找次數為:", ③)input("運行完畢,請按回車鍵退出...")【新知講授】(5min)2.遞歸思想通過一段視頻引入“漢諾塔問題”,教師講解“漢諾塔問題”的玩法。有三根柱子A、B、C。A柱上有N個盤子,大的在下,小的在上,要求把這N個盤子從A柱移到C柱,在移動過程中可以借助B柱,每次只允許移動一個盤子,并且在移動過程中三根柱子上都要保持大盤在下,小盤在上。【活動二設計】(5min)學生體驗漢諾塔中三個或四個盤子的移動,并嘗試尋找規律。【新知講授】(5min)通過視頻演示漢諾塔的規律,教師講解原理。挑戰把4個圓盤從A柱移到C柱的任務。① 將前三個圓盤從A柱移到B柱。② 將第四個圓盤從A柱移到C柱。③ 將前三個圓盤從B柱移到C柱。【活動三設計】(5min)學生繼續挑戰漢諾塔問題,移動4或5個盤子。【新知講授】(5min)遞歸:直接或間接地調用自身的方法稱為遞歸。可以將遞歸簡單類比為具有自相似性重復的事物。遞歸的基本思想:是把規模較大的問題層層轉化為規模較小的同類問題求解。可用“分”,“治”,“合”三個字概括遞歸的條件:遞推關系+邊界條件。【課堂總結】(2min)以思維導圖總結概括本節課的知識點。五、板書設計數值計算分治算法遞歸算法 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫