簡單算法及其程序?qū)崿F(xiàn):枚舉算法及其程序?qū)崿F(xiàn)(課件)-2024-2025學(xué)年《信息技術(shù)》高中·必修 1 數(shù)據(jù)與計算(浙教版)_第1頁
簡單算法及其程序?qū)崿F(xiàn):枚舉算法及其程序?qū)崿F(xiàn)(課件)-2024-2025學(xué)年《信息技術(shù)》高中·必修 1 數(shù)據(jù)與計算(浙教版)_第2頁
簡單算法及其程序?qū)崿F(xiàn):枚舉算法及其程序?qū)崿F(xiàn)(課件)-2024-2025學(xué)年《信息技術(shù)》高中·必修 1 數(shù)據(jù)與計算(浙教版)_第3頁
簡單算法及其程序?qū)崿F(xiàn):枚舉算法及其程序?qū)崿F(xiàn)(課件)-2024-2025學(xué)年《信息技術(shù)》高中·必修 1 數(shù)據(jù)與計算(浙教版)_第4頁
簡單算法及其程序?qū)崿F(xiàn):枚舉算法及其程序?qū)崿F(xiàn)(課件)-2024-2025學(xué)年《信息技術(shù)》高中·必修 1 數(shù)據(jù)與計算(浙教版)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

3.3簡單算法及其程序?qū)崿F(xiàn):枚舉算法及其程序?qū)崿F(xiàn)一、認(rèn)識枚舉算法0...56789思考.這位考生的準(zhǔn)考證號是多少?你是如何識別的?掃描儀又是如何識別的?9認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究0...56789掃描儀識別準(zhǔn)考證號方法:逐一掃描0-9這10個填涂點,逐個檢驗填涂點是否被填涂認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究這種把問題所有可能解逐一列舉,然后逐個檢驗這些是否為正確解的方法被稱之為枚舉算法。日常生活中有很多問題可以用枚舉算法來解決。解題方法:①逐一列舉[1,x-1]范圍內(nèi)的整數(shù)②若x能被其整除,那么該數(shù)就是x的因子。由于x無法被超過x/2的整數(shù)整除,枚舉的范圍可以縮小至[1,x/2],減少枚舉次數(shù)將提高解決問題的效率。在設(shè)計枚舉算法時,既不能遺漏任何正確解,又要盡可能的縮小列舉范圍。認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究例如:求解整數(shù)x的所有因子0...56789只要當(dāng)黑色像素的比例到達(dá)一定標(biāo)準(zhǔn)(>=64%),計算機就識別為已填涂。逐一掃描每個像素點逐個檢驗像素點是否為黑色思考.掃描儀如何判斷該點是否被填涂?認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究二、用枚舉算法解決實際問題抽象建模設(shè)計算法編寫程序調(diào)試運行提煉核心要素建立計算模型像素顏色統(tǒng)計個數(shù)像素個數(shù)Graycounti課堂練習(xí)1:試著建立計算模型逐一列舉像素顏色,逐個判斷是否黑色,并統(tǒng)計個數(shù)一個填涂點(n個像素)的填涂認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究抽象建模設(shè)計算法編寫程序調(diào)試運行逐一列舉像素顏色,逐個判斷是否黑色,并統(tǒng)計個數(shù)提煉核心要素建立計算模型像素顏色統(tǒng)計個數(shù)像素個數(shù)Graycountis=0s=1Gray[i]≥132Gray[i]<132

認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究循環(huán)結(jié)構(gòu)逐一列舉分支結(jié)構(gòu)逐個判斷抽象建模設(shè)計算法編寫程序調(diào)試運行輸入處理輸出count=count+1N輸出count②Y①i<=n?count=0,i=1獲取像素信息YN③④課堂練習(xí)2:補充完善流程圖Gray[i]<132i=i+1認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究編寫程序操作練習(xí)1foriinGray:Gray=[47,156,132,89,140]ifi<132:count=count+1print(count)count=0逐一列舉逐個檢驗N輸出counti=i+1YGray<132i<=n?count=0,i=1獲取像素信息YNcount=count+1認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究N輸出counti=i+1YGray<132i<=n?count=0,i=1獲取像素信息YNcount=count+1whilei<=len(Gray):ifGray[i]<132:操作練習(xí)1Gray=[47,156,132,89,140]count=0i=0count=count+1i=i+1print(count)逐一列舉逐個檢驗認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究一般答題卡一個填涂點的像素往往多達(dá)上百個,老師將一個填涂點的300個像素的RGB值存在“RGB.TXT”文件中,請編寫程序,判斷該填涂點是否被填涂。R

GB思考:1.如何讀取“RGB.TXT”文件2.將像素的RGB顏色轉(zhuǎn)換為灰度操作練習(xí)2認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究思考:1.如何讀取“RGB.TXT”文件操作練習(xí)2自主學(xué)習(xí):閱讀教材P93拓展鏈接“Python的文件讀寫操作”f=open("RGB.txt",'r')#以讀的方式打開"RGB.txt"文件forlineinf.readlines():#調(diào)用readline()每次讀取一行內(nèi)容print(line.strip())

#刪除末尾換行符認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究思考:2.將像素的RGB顏色轉(zhuǎn)換為灰度編寫程序操作練習(xí)2回顧前知:defbw(R,G,B):Gray=0.299*R+0.587*G+0.114*BifGray<132:color="黑色"認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究line=f.readline()

#讀取第一行數(shù)據(jù)

whileline:

line=line.split()

#去除空白字符,并轉(zhuǎn)換位列表

R,G,B=map(int,line)

line=f.readline()

#讀取下一行數(shù)據(jù)逐一列舉操作練習(xí)2defbw(R,G,B):

#判斷像素是否黑色Gray=0.299*R+0.587*G+0.114*BifGray<132:color="黑色"returncolorf=open("RGB.txt",'r')

#以讀取的方式打開文件count=0

count=count+1ifcount>=300*0.64:#判斷填涂點是否填涂print("已填涂")else:print("未填涂")

ifbw(R,G,B)=="黑色":

#利用內(nèi)建函數(shù)判斷是否黑色像素逐個檢驗認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究三、課堂小結(jié)核心思想逐一列舉逐個檢驗程序?qū)崿F(xiàn)ifGray<132:color="黑色"Gray=[......]

foriinGray:流程圖框架開始結(jié)束輸入輸出循環(huán)結(jié)構(gòu)分支結(jié)構(gòu)適合用枚舉算法列舉的可能解是有限范圍的有規(guī)范且明確的正確解認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究四、練習(xí)鞏固綜合練習(xí):水仙花數(shù)是指一個3位數(shù),它的每個位上的數(shù)字的3次冪之和等于它本身。例如:153=13+53+33編寫程序,找出所有水仙花數(shù)抽象建模設(shè)計算法編寫程序調(diào)試運行提煉核心要素建立計算模型認(rèn)識枚舉解決實際問題總結(jié)練習(xí)鞏固課后研究kxyz輸入的三位數(shù)百位十位個位TrueFalse輸出kk=x3+y3+z3(100<=K<=999)抽象建模設(shè)計算法編寫程序調(diào)試運行k=100x=k/100y=k//10%10z=k%10k<=999k=x3+y3+z3輸出kk=k+1開始結(jié)束forkinrange(100,999):x=k//100

#提取k的百位數(shù)y=k//10%10

#提取k的十位數(shù)z=k%10

#提取k的個位數(shù)i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論