資源簡介 (共19張PPT)微項目1探討生活中的算法之美Phthon編程------算法概述 1通過探尋生活算法的應用并體驗它的特點與用途,了解計算機算法以及計算思維掌握計算機算法的基本特征及常用描述方式。算法決定問題解決的過程、影響問題解決的效率,了解算法效率,逐步掌握算法的設計方法與技巧。學習目標活動一:用算法提高效率——探究生活中的算法同學們在這個年齡已經(jīng)能夠幫助父母做一些力所能及的家務活了,如炒菜、泡茶等。有一些家務活做下來,往往需要經(jīng)歷一個相對復雜的過程,這其中是否有方法、經(jīng)驗可以總結呢 討論 問題:1. 討論在泡茶的“洗茶具、燒水、泡茶”流程中,可以有哪些不同順序,怎樣統(tǒng)籌實施才更節(jié)約時間 炒菜 摘菜 洗菜 切菜 熱鍋 放食用油 放香料 加菜 翻炒 放鹽 出鍋時間 5分鐘 3分鐘 2分鐘 1分鐘 1分鐘 30秒 30秒 2分鐘 10秒 1分鐘泡茶 洗茶具 燒水 泡茶操作時間 5分鐘 10分鐘 3分鐘高效算法解決問題迭代算法枚舉算法冒泡排序桶排序排序算法自定義函數(shù)遞歸算法分治算法生活算法+++++++++發(fā)現(xiàn)問題解決問題的 步驟 、方式 和方法(更節(jié)約時間)(解決更全面)(高效)(計算機的超強運算能力)(不依賴某種語言的表達)程序設計的骨架和靈魂使用計算機解決問題,需要經(jīng)歷 分析問題、設計算法、編寫代碼、運行程序四個主要階段。其中,算法設計是非常重要的一環(huán)。為保證能夠順利處理問題,就需要設計符合計算機規(guī)范的算法。程序算法C語言Java語言Python語言VB語言……發(fā)現(xiàn)問題解決問題計算機語言計算思維(學科核心)算法是計算機科學領域最重要的基石,萬變不離其宗。編程語言隨著計算科學與技術的發(fā)展日新月異,所以算法思想是基礎核心?;谔囟ň幊陶Z言的程序代碼是外在形式。使用計算機解決生活中的問題的思考方式(1)算法:算法是指在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。(解決問題的方法步驟)(2)計算機算法:計算機算法是以一步接一步的方式來詳細描述計算機如何將輸入轉化為所要求的輸出的過程,或者說,算法是對計算機上執(zhí)行的計算過程的具體描述。算法現(xiàn)實生活中,算法是解決問題、實現(xiàn)目標的方法,它對應于一組定義明確的規(guī)則或者操作步驟。計算機算法也對應一組表述計算機執(zhí)行計算任務過程的規(guī)則,把這組規(guī)則轉換為計算機指令,來指揮計算機完成相應的工作,就形成了計算機程序。小組討論:算法是什么?算法和程序是什么關系?算法的特征1.一個算法必須在有限步驟內(nèi)結束,不能無限循環(huán)。2.算法的每一個步驟必須具有確定含義,不能有任何歧義。3.輸入的數(shù)據(jù)是算法加工處理的對象,輸出的數(shù)據(jù)是算法解決問題的結果。一個算法可以有零個或多個輸入,至少有一個輸出。4.算法中的每一條指令必須是可執(zhí)行的,通過計算機可以實現(xiàn)。(1)有窮性。(2)確定性。(3)輸入、輸出。(4)可行性。(5)確定性算法用自然語言表達簡單易懂,但描述較為冗長和模糊,邏輯也不夠清晰。偽代碼、流程圖是描述算法的結構化方法,避免了自然語言語句中常見的歧義問題。算法的描述方法流程圖自然語言偽代碼活動2:探究算法的應用流程圖自然語言偽代碼探究算法在生活中的應用理解算法的不同描述方式1.做游戲,找規(guī)律同學們有沒有玩過一種叫作“拍7”的游戲 假設一起游戲的有33人,請記錄經(jīng)過3輪報數(shù)后拍手的數(shù)據(jù)。自然語言 描述方法 (案例一)游戲規(guī)則:把從1開始的自然數(shù)中含“7”的數(shù)稱作“明7”;把不含“7”且是“7”的倍數(shù)的數(shù)稱作“暗7”。從1開始輪流報數(shù),輪到報“明7”或“暗7”的人,不能出聲,只拍一下手。自然語言自然語言描述算法 (案例二)輾轉相除法:是把這2個數(shù)的較小數(shù)去除較大數(shù),得到的余數(shù)去除之前的除數(shù),依次進行,直到余數(shù)為0為止,最后一次的除數(shù)就是他們的最大公約數(shù)。這個方法非常適合無法做質(zhì)因數(shù)分解(一下子看不出質(zhì)因子)的時候快速使用。輾轉相除法-------求公約數(shù) ——方法之一求兩數(shù) 最大公約數(shù): 求兩個數(shù)25,15的最大公約數(shù)請查閱相關資料,討論如何應用“輾轉相除”算法來求最大公約數(shù)。例如:a=25,b=15 a/b商1余10a=15,b=10 a/b商1余5a=10,b=5 a/b商2余0最后一個余數(shù)為0的除數(shù)是5,5就是所求的最大公約數(shù)。自然語言流程圖?流程圖提供了一種圖形化描述算法的方式,可以使解決問題的步驟可視化,有助于人們理解解決問題的過程。流程圖大多是從頂部開始向下 繪制的,主要符號見下表。流程圖 描述方法符號 名稱 用途開始或結束 算法的開始或結束輸入或輸出 算法中變量的輸入或輸出處理(過程) 變量的賦值等數(shù)據(jù)處理選擇(判斷) 條件判斷,確定采用路徑中的哪一條流程線 顯示過程的操作順序(流向)流程圖中的基本符號(部分)流程圖流程圖-----------案例一 “拍7” 流程圖流程圖流程圖-----------案例二 最大公約數(shù) 流程圖流程圖偽代碼用介于自然語言和計算機語言之間的文字和符號(包括數(shù)學符號)來描沭算法,其目的是使被描述的算法可以容易地轉化為運用任何一種編程語言(C, Java,Python等)實現(xiàn)。偽代碼描述算法在形式上并不是非常嚴格,在某些方面可能顯得不太正規(guī),但它可以屏蔽算法的部分實現(xiàn)細節(jié),讓我們專注于算法的核心思想和關鍵步驟。偽代碼描述方法——案例一如 :if 7點以前:鍛煉elif 8點到17點:上學else :休息偽代碼1、什么是算法?算法在程序設計中的作用?2、算法的描述方式有幾種?各自的特點?課堂小結3、算法基本特征有哪些?算法枚舉 算法迭代 算法排序 算法遞歸 算法分治 算法尋找問題多解探究數(shù)據(jù)的變化數(shù)據(jù)整理(升降序)優(yōu)化程序提高查找效率本章內(nèi)容簡介謝謝! 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫