資源簡介 (共64張PPT)解析算法(第十七課時)算法與問題解決廣義上講,算法是解決一個特定問題而采取的確定的、有限的步驟。在計算機領域,算法作為一個精心設計的運算序列,描述了計算機如何將輸入轉化為輸出的過程體驗探索:綠燈時長的最優設置通常,行人的步行速度約為4.4km/h,觀察到信號燈變化后的反應時間約為2s。如果要保證行人能走過一定距離的人行橫道(例如:20m),綠燈的時間至少需要設置多久?分析問題已知條件求解目標確立數學關系,建立數學模型。設計算法確立數學關系,建立數學模型。建立數學模型數學模型是用數學符號、數學式子、程序、圖形等對實際問題本質屬性的抽象而又簡潔的刻畫。建立數學模型,就是根據實際問題來簡化假設、分析內在規律,之后抽象成為數學的符號和語言。解析算法通過分析問題的已知條件和求解目標,抽象成數學模型,借助解析式,用已知條件為變量賦值進行求解。例如:綠燈時長的最優設置已知求解解析式想一想解析算法指通過找出解決問題的前提條件與結果之間的關系表達式,并計算表達式來實現問題的求解。我們的日常生活中,還有哪些可以利用解析算法解決的問題?生活中的問題解析“網上購物”,這種省時又省力的購物方式已經被越來越多的人接受并使用。在網上購物時,選擇了商品和數量,頁面上立即顯示出總價。請思考:購物程序中的總價是如何計算出來的?已知單價、數量數學關系總價=單價數量求解總價基于解析算法的問題解決編程調試解析式已知條件求解目標二者關系計算基于解析算法的問題解決某地區為了開發山區農業,需要了解山地的氣候變化。現已知該地山區海拔每升高100m,氣溫下降約0.5℃,山地最高海拔為1500m,山腳下的年平均氣溫為22℃(假設山腳海拔為0m)。實踐探索:山地氣溫分布問題1.根據氣溫隨海拔升高而變化的規律,寫出計算該山地不同海拔高度的氣溫的解析式,并編程實現。2.某種植物適宜生長在氣溫為18℃-20℃的山區,如果要分析這種植物應被種植在該山地多高的地區為宜,需要如何修改算法,請編程實現。分析問題已知求解海拔每升高100m,溫度下降0.5℃最高海拔1500m,山腳平均氣溫22℃海拔與溫度的關系式數學關系設計算法輸入海拔h開始結束輸出溫度tt=22-h/1000.5編程實現分析問題已知求解某種植物適宜生長在18-20℃植物適宜生長的海拔區間數學關系設計算法開始結束輸出h1,h2h1=(22-t1)2100t1=18,t2=20h2=(22-t2)2100編程實現基于解析算法的問題解決目前,國內很多高速公路都啟用了區間測速。區間測速是在同一路段布設兩個監測點,基于車輛通過前后兩個監測點的時間來計算車輛在該路段的平均行駛速度,并依據限速標識判定車輛是否超速。實踐探索:區間測速現有一段長度為66km的測速區間,汽車的限速是100km/h。數據中心需要編寫一段程序來判斷汽車是否超速通過。要判斷小車是否在區間內超速,需要求得小車的平均時速,并與限速對比,如果大于限速則超速,否則就是正常通過。求平均時速需要提供區間距離和通過時間。區間距離已經明確,小車的通過時間可以由前后兩個監測點的時間差判定,為簡化問題,我們可以將通過時間設為輸入數據。分析問題分析問題已知求解數學模型設計算法輸入ts=66v=s/t60開始結束輸出'超速通過'v>100輸出'正常通過'是否(t以分鐘為單位。)編程實現基于解析算法的問題解決實踐探索:搶紅包微信紅包是大家都熟悉的一種游戲娛樂方式。請思考:紅包的數額是如何生成的?為什么你打開的紅包金額和別人的不一樣?分析問題假設現在生成2個紅包,總金額為x,單個紅包的金額為整數,最小金額為1,求兩個紅包的金額。已知求解總金額x紅包數量2紅包a的金額紅包b的金額分析問題已知求解總金額x紅包數量2紅包a的金額紅包b的金額a=[1,x-1]之間的任意整數b=x-a數學關系設計算法輸入紅包總額xb=x-a開始結束輸出a,ba=randint(1,x-1)編程實現請思考:如果是3個或多個紅包數量,應該如何修改程序解決問題?實踐探索:搶紅包如果紅包數改成3個:a=[1,總金額-2]之間的隨機數;b=[1,(總金額-第1個紅包)-1]之間的隨機數;c=總金額-第1個紅包-第2個紅包。如果是n個紅包,應該如何設計算法呢?實踐探索:搶紅包比如100元,由10個人分,那么第一份:x1=[1,100-9]之間的隨機整數。第二份:x2=[1,(100-x1)-8]之間的隨機整數。第三份:x3=[1,(100-x1-x2)-7]之間的隨機整數。……第n份:xn=100-x1-x2-...-x(n-1)。實踐探索:搶紅包x(n-1)=[1,(總額-x1-x2-…x(n-2))+1]之間的隨機整數。……xn=總額-x1-x2-...-x(n-1)。數學關系輸入總額x,數量nx=x-a開始結束輸出xa=randint(1,x-n+1)n>1輸出an=n-1是否想一想搶紅包小程序的算法只是一種可行的方法。實際上,生活中所用的小程序的算法要更加復雜和嚴謹。請你思考:如何改進算法,讓程序更加嚴謹和規范呢?基于解析算法的問題解決思路Input輸入:明確問題的前提條件;Output輸出:明確要求的解;Process處理:尋找前提條件與結果之間的數學表達式,代入數值,完成計算。小結分析問題基于解析算法設計程序編程調試解析算法與問題解決基于解析算法的問題解決解析算法分析已知條件和求解目標抽象得出數學模型代入數值求解課后練習收集學校周邊的馬路通行狀況(馬路寬度、高峰時段、人流量、車流量等信息),設計一種在智能交通環境下,控制十字路口紅綠燈時長變化的合理方案。結合第八、十課時所學的交通信號燈和倒計時器小程序,優化交通信號燈程序。賦值語句練習1:判斷以下賦值語句寫法是否正確,為什么?(1)D=6+9(2)F+3=E+6(3)Z=XY(4)C$=goodnight練習2:下列程序的輸出結果是多少?A=30A=A+10A=50print(A)是50否是否目前,世界上包括我國在內的絕大多數國家都使用攝氏溫度,而美、英等國家使用華氏溫度。對于去美國旅行的中國游客來說,需要將當地發布的華氏溫度轉換為攝氏溫度,以符合自己的理解習慣;同樣,來中國旅行的美國游客亦如此。請你想一想,能否利用計算機輔助旅行者進行溫度轉換?實踐探索:溫度轉換分析問題如果用c表示攝氏溫度,f表示華氏溫度,那么把華氏溫度轉換為攝氏溫度的公式為:根據這個公式,應該如何設計算法呢?設計算法①輸入華氏溫度f=90②利用公式計算攝氏溫度③輸出攝氏溫度c輸入華氏溫度fc=(f-32)/1.8開始結束輸出攝氏溫度c順序結構編程調試f=90c=(f-32)/1.8開始結束輸出c如果是輸入任意華氏溫度并計算攝氏溫度,應該如何修改呢?Python語言主要用函數input()實現數據輸入。函數input()主要用來接收鍵盤的鍵入,返回值為字符串型數據。通常,在輸入時可以給出提示信息,例如:輸入函數input()f=input("請輸入華氏溫度:")編程調試輸入fc=(f-32)/1.8開始結束輸出c程序是否正常運行并得到結果?在程序設計中,可以通過強制類型轉換操作,把某個數據從一種數據類型轉換成另一種數據類型。數據類型轉換數據類型轉換函數功能說明float(x)將x轉換為一個浮點型數據int(x)將x轉換為一個整型數據str(x)將x轉換為字符串型數據編程調試輸入fc=(f-32)/1.8開始結束輸出c如何讓程序具有更友好的交互性?f=int(f)Python語言主要用函數print()實現數據輸出。函數print()主要用于在屏幕上輸出一個或多個輸出項的值,多個輸出項中間用逗號隔開,例如:輸出函數print()print(c)print(f,'轉換為攝氏溫度是:',c)編程調試-參考答案函數print()會自動在行末加上回車。如果不需回車,只需在函數print()的結尾添加一個逗號,并設置分隔符參數end,就可以改變它的行為。輸出函數print()print(f,end='\n')以換行符結尾,換行print(f)換行print('華氏溫度:',end='')以空格結尾,不換行編程調試程序通常包括:輸入數據、處理數據和輸出結果三部分。Input:程序輸入,是程序的開始。Process:程序對輸入進行處理,產生輸出結果。Output:程序輸出,展示運算結果。程序設計的IPO模式根據鍵盤輸入的身高和體重值,編寫程序計算體重指數BMI。(BMI=w/h/h,w為體重kg,h為身高m。)練一練提出問題分析問題設計方案編程調試解決問題練一練-參考答案輸入w,hBMI=w/h/h輸出BMI開始結束小結順序結構與語句順序結構程序語句按照自上至下的排列順序逐條執行。導入模塊語句:import賦值語句輸入輸出語句1.一個三位數,百位上的數比十位上的數大1,個位上的數是百位上的數的2倍,若十位上的數為3,編程求這個三位數是多少?2.編寫程序實現以下功能:用戶輸入任意一個三位數,運行程序將其逆序輸出。例如:用戶輸入“123”,程序輸出“321”。課后練習課程基本信息課例編號學科信息技術年級高一學期第一學期課題解析算法教科書書名:《信息技術》必修1出版社:人民教育出版社;中國地圖出版社出版日期:2019年6月學生信息姓名學校班級學號學習目標1.理解解析算法的概念。2.掌握解析算法的多個環節。3.運用解析算法分析問題,設計算法,編程實現,增強利用計算機解決問題的能力。課前學習任務交通信號燈的綠燈持續的時長應該如何設置?課上學習任務【學習任務一】舉例說明生活中可以運用解析算法解決的問題【學習任務二】某地區為了開發山區農業,需要了解山地的氣候變化。現已知該地山區海拔每升高100m,氣溫下降約0.5℃,山地最高海拔為1500m,山腳下的年平均氣溫為22℃(假設山腳海拔為0m)。1.根據氣溫隨海拔升高而變化的規律,寫出計算該山地不同海拔高度的氣溫的解析式,并編程實現。2.某種植物適宜生長在氣溫為18℃-20℃的山區,如果要分析這種植物應被種植在該山地多高的地區為宜,需要如何修改算法,請編程實現。請按照解決問題的一般方法嘗試編程解決這一問題。【學習任務三】目前,國內很多高速公路都啟用了區間測速。區間測速是在同一路段布設兩個監測點,基于車輛通過前后兩個監測點的時間來計算車輛在該路段的平均行駛速度,并依據限速標識判定車輛是否超速。現有一段長度為66km的測速區間,汽車的限速是100km/h。數據中心需要編寫一段程序來判斷汽車是否超速通過。【學習任務四】微信紅包是大家都熟悉的一種游戲娛樂方式。請思考:紅包的數額是如何生成的?為什么你打開的紅包金額和別人的不一樣?任務4-1:假設現在生成2個紅包,總金額為x,單個紅包的金額為整數,最小金額為1,求兩個紅包的金額。任務4-2:如果是3個或多個紅包數量,應該如何修改程序解決問題?推薦的學習資源解析算法百科:https://baike.baidu.com/item/%E8%A7%A3%E6%9E%90%E7%AE%97%E6%B3%95/10389042?fr=aladdin課程基本信息課例編號學科信息技術年級高一學期1課題解析算法教科書書名:《信息技術》必修1出版社:人民教育出版社;中國地圖出版社出版日期:2019年6月教學目標教學目標:1.理解解析算法的概念。2.掌握解析算法的多個環節。3.運用解析算法分析問題,設計算法,編程實現,增強利用計算機解決問題的能力。教學重點:基于解析算法的問題解決。教學難點:基于解析算法的問題解決。教學過程時間教學環節主要師生活動3分鐘情境引入以綠燈時長的最優時長導入,引出解析算法通常,行人的步行速度約為4.4km/h,觀察到信號燈變化后的反應時間約為2s。如果要保證行人能走過一定距離的人行橫道(例如:20m),綠燈的時間至少需要設置多久?通過分析問題的已知條件和求解目標,抽象成數學模型,借助解析式,用已知條件為變量賦值進行求解。這就是解析算法。解析算法指通過找出解決問題的前提條件與結果之間的關系表達式,并計算表達式來實現問題的求解。生活中的問題解析引導學生思考:我們的日常生活中,還有哪些可以利用解析算法解決的問題?“網上購物”,這種省時又省力的購物方式已經被越來越多的人接受并使用。在網上購物時,選擇了商品和數量,頁面上立即顯示出總價。已知商品的單價和數量,建立數學模型,即總價等于單價乘以數量,計算得出結果。6分鐘實踐探究一基于解析算法的問題解決基于解析算法的問題解決,需要明確已知條件和求見目標之間的關系,形成一個解析式。在這之后,我們可以通過編寫程序的方式完成計算和處理。實踐探索:山地氣溫分布問題某地區為了開發山區農業,需要了解山地的氣候變化。現已知該地山區海拔每升高100m,氣溫下降約0.5℃,山地最高海拔為1500m,山腳下的年平均氣溫為22℃(假設山腳海拔為0m)。1.根據氣溫隨海拔升高而變化的規律,寫出計算該山地不同海拔高度的氣溫的解析式,并編程實現。2.某種植物適宜生長在氣溫為18℃-20℃的山區,如果要分析這種植物應被種植在該山地多高的地區為宜,需要如何修改算法,請編程實現。分析問題一:已知:海拔每升高100m,溫度下降0.5℃,最高海拔1500m,山腳平均氣溫22℃。求解:海拔與溫度的關系式數學模型:t變化=h/1000.5t=22-t變化分析問題二:已知:某種植物適宜生長在18-20℃;t=22-h/1000.5求解:植物適宜生長的海拔區間數學模型:h=(22-t)10025分鐘實踐探究二實踐探索:區間測速問題目前,國內很多高速公路都啟用了區間測速。區間測速是在同一路段布設兩個監測點,基于車輛通過前后兩個監測點的時間來計算車輛在該路段的平均行駛速度,并依據限速標識判定車輛是否超速。現有一段長度為66km的測速區間,汽車的限速是100km/h。數據中心需要編寫一段程序來判斷汽車是否超速通過。已知:S=66V限=100t小車求解:V小車數學模型:V小車=S/t小車基于解析算法的問題解決的步驟分析問題:分析出已知條件、求解目標和已知與未知的關系設計算法:抽象出數學模型,建立解析式。編程調試:將數學解析式轉換成程序表達式,進行編程實現并調試。8分鐘實踐探究三實踐探究:搶紅包問題微信紅包是大家都熟悉的一種游戲娛樂方式。請思考:紅包的數額是如何生成的?為什么你打開的紅包金額和別人的不一樣?假設現在生成2個紅包,總金額為x,單個紅包的最小金額為1,求兩個紅包的金額。已知:總金額x、紅包數量為2求解:兩個紅包的金額數學模型:a=[1,x-1]之間的隨機整數,b=x-a編程實現進一步思考紅包問題問題1:如果是3個或多個紅包數量,應該如何修改程序解決問題?a=[1,總金額-2]之間的隨機數;b=[1,(總金額-第1個紅包)-1]之間的隨機數;c=總金額-第1個紅包-第2個紅包。問題2:如果是n個紅包,應該如何設計算法呢?x(n-1)=[1,(總額-x1-x2-…x(n-2)-1]之間的隨機整數。xn=總額-x1-x2-...-x(n-1)。1分鐘總結提升歸納基于解析算法的問題解決思路Input輸入:明確問題的前提條件;Output輸出:明確要求的解;Process處理:尋找前提條件與結果之間的數學表達式,代入數值,完成計算。1分鐘課堂小結小結解析算法基于解析算法的問題解決布置課后練習課程基本信息課例編號學科信息技術年級高一學期第一學期課題解析算法教科書書名:《信息技術》必修1出版社:人民教育出版社;中國地圖出版社出版日期:2019年6月學生信息姓名學校班級學號課后練習收集學校周邊的馬路通行狀況(馬路寬度、高峰時段、人流量、車流量等信息),設計一種在智能交通環境下,控制十字路口紅綠燈時長變化的合理方案。結合第八、十課時所學的交通信號燈和倒計時器小程序,優化交通信號燈程序。 展開更多...... 收起↑ 資源列表 解析算法(第十七課時)- 教學設計.docx 解析算法(第十七課時)-學習任務單.docx 解析算法(第十七課時)-課件.pptx 解析算法(第十七課時)-課后練習.docx 縮略圖、資源來源于二一教育資源庫