- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
搜寻演算法
程式語言與邏輯(選修) 介紹主題 1、介紹陣列的概念與陣列的操作。 2、介紹副程式的概念與操作。 3、介紹函式的概念與操作。 4、運用問題解決方法,以程式模擬解決日常生活中簡單的問題。 1、能了解演算法的基本概念。 2、能針對問題設計解題流程,並化為可行的演算法。 3、能針對已確定之演算法,以程式語言實作。 4、能使用適當的演算法解決問題。 課程內容 1、陣列 (1)陣列介紹:一維陣列、二維陣列 (2)排序:選擇排序法、氣泡排序法、插入排序法 (3)搜尋:循序搜尋法、二分搜尋法 2、副程式與函式 (1)副程式與函式介紹:概念介紹、定義語法 (2)設計副程式與函式 3、程式邏輯與設計的應用 (1)介紹演算法的基本概念 (2)練習設計解題流程演算法 時間分配 一、陣列(250分鐘) 二、副程式與函式(100分鐘) 三、程式邏輯與設計的應用(150 分鐘) 陣列介紹 (50分) 引起動機:為何需要陣列及什麼是陣列 一維、二維陣列介紹 舉例實作 Sum(A(1), A(5)) 排序演算法 (100分) 由日常生活資料排序的經驗起頭,引導出各排序方法。 選擇排序法 氣泡排序法 插入排序法 實例說明選擇排序法的概念 如玩撲克牌時,針對手中所有的持牌,挑出最小的放在第一張…. 以文字敘述或流程圖方式呈現選擇排序法 在每一個輪迴步驟時輔以圖解說明,以幫助學生了解 給ㄧ組資料,讓學生模擬排序過程 可稍微更改題目,給予不同的資料值,要求學生以圖示按步驟拆解插入排序法 可使用模擬軟體,單部執行展示排序過程 進階問題思考 如何改成由大到小排序 各排序法最大之比較次數 如何撰寫程式 實作 搜尋演算法 (100分) 日常生活搜尋資料的經驗引導循序搜尋法 班級成績單中找出80分的學生、 對統一發票號碼、從一疊書中找尋所要的書本 介紹循序搜尋法 循序搜尋法 二分搜尋法 說明各種搜尋法的過程 循序搜尋法 : 是從第一個資料開始尋找,依序逐一地比對資料 二分搜尋法 : 先將資料排序,再將資料切分為二,取其中間位置的資料開始尋找 配合圖示說明,模擬資料搜尋的過程 給ㄧ組資料,讓學生模擬搜尋過程 可稍微更改題目,給予不同的資料值,要求學生按步驟模擬搜尋過程 可使用模擬軟體,單部執行展示 進階問題思考 兩種搜尋法的異同比較 各搜尋法最多的比較次數 如何撰寫程式 實作 副程式與函式(100分) 引起動機:為何需要使用副程式或函式 ? 舉例說明程式模組化 討論程式模組化的優點 例如 : 主程式規模較大時,可以切成數個子程式,有利於多人分別設計、測試完成。 子程式功能定義完備後,責任劃分必然清楚,利於除錯以及維護。 將程式模組化,可簡化程式設計,避免重複開發相同功能的程式,利於重覆使用。 副程式與函數基本觀念說明 細節說明 呼叫副程式(函數)時可能會有傳入值(參數)。 副程式(函數)執行完畢後可能會有傳回值,傳回至主程式。 有傳回值者稱為函式,沒有傳回值稱為副程式 練習使用各種函數 Sin、Cos、Tan、Left、Right、Mid、Date、Time 副程式(函數)語法說明 Sub 副程式名稱 (參數1 as 資料型態, …) …. End Sub FUNCTION 函數名稱 (參數1 as 資料型態, …) as資料型態 …. 函數名稱 = 傳回值 END FUNCTION 給定題目,請學生上機實作函數 1、設計函數,輸入N,計算 2、設計函數,輸入半徑r,計算圓面積=? 3、設計函數,輸入半徑r,計算圓周長=? 4、試設計 參考公式: 程式邏輯與設計的應用 (150分) 何為演算法 ? 解決問題有限步驟, 步驟都必須清楚明確, 可在有限時間內完成。 如何敘述演算法 文字敘述 流程圖 舉例練習 : 猜數字問題說明 同學思考該如何解題,並試畫流程圖 解題法整理成流程圖 ,可以將部分框格內留白,由學生思考填入答案 詢問學生不周詳的地方 上機實作 舉例練習 : 如何開根號 解題想法說明 試猜答案為某個數字A, 若 ,那麼A就是答案 若 ,那麼改猜小一點的答案 若 ,那麼改猜大一點的答案 如此不斷的修正猜測值,直到找到的值 思考其他有效率猜答案的方法 先猜答案可能的範圍【上限】以及【下限】則兩者的【中間值】即為猜測值。 若 ,【中間值】就是答案 若 ,則修改【下限】為【中間值】 若 ,則修改【上限】為【中間值】 以圖示的方法說明較容易理解 舉例練習 :使用 EXCEL 模擬演算法的過程 進階問題思考 是否會找到剛剛好的答案 ? 以上程序應執行多
文档评论(0)