資源簡介 (共27張PPT)3.1體驗計算機解決問題的過程第三章算法基礎課題引入人解決問題的過程人解決問題的過程1觀察分析問題2收集必要信息3判斷推理4解決問題根據已有的知識經驗按照一定的方法步驟如果讓你在5分鐘內正確求解出以下的問題,你可以做到嗎如何利用計算機解決這個問題呢?計算機解決問題1324打印文檔資料打印機和電腦的合作Excel表格word,wps,記事本等等利用程序設計語言編寫程序制作海報、工作文檔設計程序解決問題財務報表運用計算機解決問題的方式很多,程序設計就是其中一種。所謂程序設計就是從遇到的問題出發,分析問題,發現問題本質,選擇設計相應的算法,通過程序設計語言來編寫程序,最終實現問題的解決分析問題右邊的所有的二元一次方程都可以歸納為以下格式ax^2+bx+c=0由此得出可以用公式法解所有的二元一次方程X1=X2=設計算法公式法求解二元一次方程ax^2+bx+c=01.輸入a,b,c的值2.令d=bb-4ac3.如果d>=0計算x1=x2=轉步驟4否則輸出“方程無解”轉步驟44.結束程序簡單地說,算法就是解決問題的方法步驟編寫程序公式法求解二元一次方程ax^2+bx+c=01.輸入a,b,c的值2.令d=bb-4ac3.如果d>=0計算x1=x2=轉步驟4否則輸出“方程無解”轉步驟44.結束程序a=input(“請輸入a的值:”)d=b^2-4acifd>=0:x1=((-1)b+sqr(d))/2ax2=((-1)b-sqr(d))/2aelse:print(此方程無解)Endsub為什么要把算法編寫成程序設計語言開學之際,同學們紛紛忙于購置各種學習文具,假設現在同學手中有50元的現金,用于購買下列物品,以何種方式搭配購買能夠讓資金最大化利用呢?筆記本單價:6元/本簽字筆單價:5元/支橡皮單價:4元/塊第三章算法基礎需求分析問題描述:三種商品單價分別為6元,5元,4元;用于購買商品的總資金為50元;需求:現求三種商品分別的購買數量,可讓資金剛好用完(要求每種商品的購買數量不得小于1)。3.1體驗計算機解決問題的過程思考如果假設購買三種文具的數量分別為x,y,z同學們是否可以據此列出含有x,y,z的數學方程來表達這一關系呢?第三章算法基礎小組討論討論要求:(1)列出含有x,y,z的求解方程(2)分析x,y,z的取值是否存在界限范圍,如果有,這個界限范圍是多少?(3)求解該方程的方法是什么?3.1體驗計算機解決問題的過程第三章算法基礎小組討論討論要求:(1)列出含有x,y,z的求解方程(2)分析x,y,z的取值是否存在界限范圍,如果有,這個界限范圍是多少?(3)求解該方程的方法是什么?3.1體驗計算機解決問題的過程6x+5y+4z=50極限情況下,假設y和z都為1,則x可取到最大值為6,同理,y有最大值為8,z有最大值為10故,1≤x≤6,1≤y≤8,1≤z≤10第三章算法基礎問題轉化3.1體驗計算機解決問題的過程求解三元一次方程6x+5y+4z=50求三種商品的最佳購買搭配搭配方案方程的正整數解第三章算法基礎問題解決3.1體驗計算機解決問題的過程由于三元一次方程6x+5y+4z=50不存在其它約束條件,可以嘗試把x,y,z的取值都計算一次來判斷其是否滿足條件:思路:令y=1,z=1,令x=1,計算6x+5y+4z是否等于50;令y=1,z=1,令x=2,計算6x+5y+4z是否等于50;……令y=1,z=1,令x=6,計算6x+5y+4z是否等于50;……令y=2,z=1,令x=6,計算6x+5y+4z是否等于50;找到:x=6,y=2,z=1是方程的一個正整數解,但是……解唯一嗎?思考第三章算法基礎問題反思3.1體驗計算機解決問題的過程由于三元一次方程6x+5y+4z=50不存在其它約束條件,方程的正整數解可能存在多個。且由于x,y,z的取值可能分別有6、8、12種,經排列組合計算,x,y,z可能的取值情況有種。也就是說,通過手工計算的方式,我們必須對所有的取值情況進行逐一計算,判斷其是否滿足等于50的條件,若滿足,則該取值情況是方程解集中的一個,若不滿足,則繼續計算。這種對變量一定取值范圍內所有情況依次進行計算和判斷的方法,稱為遍歷。6X8X10=480過程步驟第三章算法基礎3.1體驗計算機解決問題的過程需求分析求最佳購買方案問題轉化求三元一次方程6x+5y+4z=50正整數解集設計算法遍歷所有取值可能編寫程序用Python語言實現計算程序調試運行運行程序,得出結果使用計算機解決問題的一般過程在現實生活中,我們經常需要對數據進行統計、分析。當數據量不多時,我們可以采用人工方法來處理;然而,當數據量變多時,我們運用計算機來解決問題將是一種更高效、更便捷的方案。第三章算法基礎設計算法問題轉化:求解三元一次方程6x+5y+4z=50的所有正整數解設計方案:通過遍歷x,y,z在各自取值范圍內的所有取值可能,逐一判斷是否滿足條件。解決實施:編程指的就是利用計算機程序語言設計、實現計算機應用程序的過程。3.1體驗計算機解決問題的過程采用計算機對方程進行求解,由于不存在計算該問題的專門應用程序,考慮采用編程的方法編寫計算程序進行解決。編寫程序第三章算法基礎3.1體驗計算機解決問題的過程Python是一種面向對象的高級程序語言,具有輕巧靈活的編程特點,可以用于快速開發簡單易用的計算機應用程序。VisualStudioCode,簡稱VSCode,是微軟公司開發的快捷源代碼編輯器,支持多種程序語言,例如C、C++、Python、Java等。編寫程序第三章算法基礎3.1體驗計算機解決問題的過程代碼編輯區調試輸出區功能菜單區編寫程序第三章算法基礎3.1體驗計算機解決問題的過程調試運行體驗請根據老師的演示,嘗試打開電腦上的“解三元一次方程.py”代碼文件,并根據文件中的提示將代碼補全,并運行程序,觀察程序運行結果,得出結論。第三章算法基礎計算機解決問題的過程:1、提出問題2、問題轉化3、設計算法4、編程實現5、調試運行思維方法:數學轉化將解決特定的實際問題轉化為解決具有一般性的數學問題,這是利用計算機解決實際問題的關鍵。例如在本課中,我們將“求解最佳商品購買方案”的問題轉化為求解一個三元一次方程的正整數解集的問題,從而設計讓計算機可以執行的算法。3.1體驗計算機解決問題的過程課堂小結調試程序如果程序語法有錯誤,程序運行時計算機會給出提示信息,人們可根據提示修改程序,直到無錯;我們還需要對結果進行驗證,因為邏輯錯誤或計算方法錯誤計算機無法檢查。所以若出現后一種情況,可能需要返回前幾步進一步修改,直到滿意。總結1.計算機解決問題的步驟1、分析問題:建立數學模型,確定“做什么”;2、設計算法:尋找“如何做”,并描述精確步驟;3、編寫程序:編寫程序的任務就是用一種計算機能接受的程序設計語言來描述問題求解的算法;4、調試運行:計算機驗證語法錯誤,編程者驗證結果確定無邏輯、計算錯誤。總結2.人機問題解決對比(課本第7頁)總結3.使用計算機解決問題的本質計算機不會自己解決問題,但它可以幫助人們解決問題。想要利用計算機解決問題,需要人們完成一系列的程序設計任務,把要解決的問題轉化為計算機程序,讓計算機來執行這個程序,達到利用計算機解決問題的目的。《體驗計算機解決問題的過程》教學設計宜良縣第二中學李文俊課題體驗計算機解決問題的過程使用教材高中信息技術必修1《數據與計算》廣東教育出版社2019版學段高一課時1課時課程定位本課是高中信息技術必修1《數據與計算》第三章《算法基礎》的第一課,同時也是高中階段學生開始學習算法與計算機程序設計相關內容的開篇課程,本課主要設計意圖在于通過引導學生實際體驗利用計算機編程解決實際問題的過程,來感受使用計算機解決問題相較于人工計算的優越性,并在此過程中,引導學生學會利用計算思維的相關方法,體驗從數學角度對問題進行分解和分析,設計可行的計算方法,利用計算機技術進行實現來完成問題解決,以此培養學生的信息意識和計算思維。同時,學習運用VisualStudioCode+Python的數字化學習工具進行數據處理的過程也能提高學生的數字化學習與創新能力,培養學生的數字化學習習慣。教學目標體會人工解決問題與計算機解決問題的不同特點。(信息意識)通過親歷項目“利用計算機編程計算商品購買最佳方案”問題的解決過程,經歷計算機解決問題的一般過程。(計算思維)通過經歷項目問題分析、建立數學模型、設計解決方案、實現計算的過程,能初步規劃項目解決方案。(計算思維)認識Python語言,了解計算機程序的主要功能,能夠修改簡單的程序代碼,體驗程序設計的魅力。(數字化學習與創新)教學重點1、運用計算思維對具體問題進行分析和設計解決方案2、計算機解決問題的一般過程教學難點1、運用計算思維對具體問題進行分析和設計解決方案2、計算機解決問題的一般過程學情分析高中一年級學生已經初步具備了邏輯思維能力,對代數和方程等數學思想有了一定的理解,但對于使用計算機實際處理計算問題的過程與方法,以及數學方法在解決實際問題中的運用還比較陌生,故此,我選擇采用研究“商品最佳購買方案”的問題來代替教材提供的項目范例,相較教材范例,前者更容易讓學生理解,并且可以快速轉化為學生熟悉的三元一次方程形式,讓學生感受到數學轉化這一計算思維方法的作用。教學方法講授法、演示法、小組合作學習法教學環境計算機教室、VisualStudioCode+Python編譯運行環境教學過程教學環節教學內容學生活動設計意圖創設情境,提出問題開學時同學們紛紛購買用于學習的各種文具,假如同學手中有50元現金,分別購買單價為6元的筆記本,單價為5元的簽字筆,和單價為4元的橡皮,請問各種文具應該購買何種數量,才能讓手中的資金最大化利用(即剛好用完)呢?參與情景通過情景再現,讓學生切實感受身邊的問題,并引出對問題進行數學角度的需求分析。二、分析問題,建立數學模型我們如果假設筆記本購買的數量為x,簽字筆的購買數量為y,鉛筆的購買數量為z,是否可以用數學方法將該問題轉化為一個求解x,y,z的解的問題?教師提出三個問題給學生進行小組合作交流來回答(以電子學案為基礎):列出含x,y,z的方程(學生可列出方程6x+5y+4z=50)該方程中,x,y,z的取值范圍分別是多少?(討論時引導學生以極限取值法來獲得x,y,z的最大取值)取值范圍為:1<=x<=6;1<=y<=8;1<=z<=10求解該方程的步驟是什么?小組合作,交流討論,得出結論通過引導學生將實際問題轉化為數學方程的求解,感受計算思維方法在解決實際問題中的應用。三、體驗人工計算解決問題的過程根據同學們剛才討論得出的結論,現在需要解該三元一次方程6y+5y+4z=50,我們需要讓x,y,z分別在它們的取值范圍內進行遍歷,找出所有可能的取值情況,判斷其和是否等于50。提出幾個可能的解,提問學生嘗試進行判斷其是否滿足條件。(5個)在這個過程中,請同學們思考兩個問題:總共需要計算多少種可能的取值情況?(6X8X10=480種,手工計算需要遍歷所有可能)滿足條件的x,y,z的取值情況是否可能不唯一?參與思考,回答問題,評估人工計算的難度和可行性。體驗人工計算解決問題帶來的困難,進一步明確該問題解決的計算步驟,為后續使用計算機程序進行計算來代替人工解決作鋪墊四、利用計算機解決問題的過程現在大家已經感受到,通過人工計算的方式求解該問題,不僅計算量浩大,還會出錯,容易漏解、錯解,所以,我們何不借助計算機來幫助我們解決這個問題呢?教師講授演示計算機解決問題的基本過程:分析問題將計算購買商品的最佳方案轉化為利用計算機求解三元一次方程6x+5y+4z=50的所有解,將實際問題轉化為數學問題。(2)設計算法歸納剛才討論總結的解方程方法:分別遍歷x,y,z的取值范圍,判斷每一種取值情況是否滿足和等于50的條件,若滿足,則此時x,y,z的值為方程的解,若不滿足,則繼續遍歷。(3)編寫程序向學生簡單介紹Python程序設計語言,展示VisualStudioCode+Python環境下解該三元一次方程的程序代碼。參與思考體驗利用計算機編程解決問題的過程,了解計算機程序設計的基本流程,調試運行教師演示進行簡單的代碼修改和調試的方法,讓學生自主嘗試進行程序調試并運行,得出計算結果。動手實踐,體驗調試程序運行的過程,得出計算結果,完成問題解決。五,總結歸納計算機解決問題的一般過程:提出問題分析問題,將問題轉化為數學形式,并對其進行數學描述和分析設計算法,對問題的數學形式進行分解,尋找其計算步驟,并用簡潔的形式進行描述編寫程序代碼調試運行參與思考,鞏固提升教學反思《3.1體驗計算機解決問題的一般過程》課程學習記錄班級:姓名:課題3.1體驗計算機解決問題的一般過程情景導入現有50元可用資金,需購買三種商品如下:筆記本;單元為6元/本;簽字筆:單價為5元/支;橡皮:單價為4元/塊要求每種商品購買的數量不得少于1(至少1件)問,應該以何種搭配方式進行購買,可以使資金(50元)剛好用完?小組討論,合作探究現假設三種商品的購買數量分別為x,y,z,請與你的小組成員合作完成下列討論:(1)嘗試列出含有x,y,z的方程來表達該關系:討論結果:(2)分析x,y,z的取值是否存在界限范圍,如果有,這個界限范圍是多少?(提示:x,y,z的最小取值是1,因為每種商品購買數量不得少于1,若三種商品中某兩種商品購買數量均為1,此時另一種商品購買數量可達到最大值)討論結果:(3)求解該方程的方法是什么?(嘗試描述解該方程的思路,注意只求方程的正整數解)討論結果:探索新知體驗用計算機編程來解決這個問題用計算機解決問題的一般過程:需求分析——問題轉化——設計算法——編寫程序——調試運行將解決特定的實際問題轉化為解決具有一般性的數學問題,這是利用計算機解決實際問題的關鍵。實踐體驗根據教師的演示,與同學互助合作,嘗試打開“解三元一次方程.py”程序代碼文件,并作適當修改,讓程序能夠正確運行,觀察程序執行結果,得出計算答案。可參考以下流程進行修改并運行:打開解三元一次方程.py找到第6行代碼,在“==”前面輸入方程計算式6x+5y+4z,注意計算機代碼中,乘號要寫作號,小心不要刪除if后面的空格。點擊窗口上方菜單欄運行-啟動調試,在彈出的窗口中選擇PythonFileDebugthecurrentlyactivePythonFile這一項。觀察窗口下方的調試輸出區結果,若輸出區出現SyntaxError字樣,表示代碼有誤。我觀察到的運算結果:一共有()種搭配方案,可讓50元資金剛好用完。課后練習,鞏固新知下列哪一個環節不屬于計算機解決問題的一般過程?()設計算法B、分析問題C、調試運行D、手工計算(判斷題)用計算機解決問題只能夠通過使用現有的軟件和程序去完成。()3、(判斷題)計算機程序是使用專門的計算機程序語言進行編寫的() 展開更多...... 收起↑ 資源列表 13.1《體驗計算機解決問題的過程》教學設計.docx 13.1體驗計算機解決問題的過程.pptx 《3.1體驗計算機解決問題的一般過程》課程學習記錄.docx 縮略圖、資源來源于二一教育資源庫