資源簡介 《用計算機計算圓周率》學案一、學習目標學會while及for循環之間的轉換;掌握圓周率的兩種不同計算方法,并能用Python編程實現;比較兩種算法的運行效率及精確度,知道如何分辨算法的性能。二、重點難點教學重難點:掌握圓周率的兩種不同計算方法,并能用Python編程實現。三、學習方法及模式自主探究、協作學習、合作交流等;學習內容預備知識:選擇結構流程圖:循環結構流程圖:活動一:使用沃利斯公式計算圓周率:小組合作填寫流程圖:說明:先設置變量item統計一共計算到第幾項,x表示每一項的分子,y代表每一項的分母,s代表二分之一π。仔細分析,我們可以發現,當項數為奇數項時,分子x按2遞增,而項數為偶數項時,分母y按2遞增。請同學們完成如下流程圖:參考流程圖,完善如下程序,并復制到Python中運行調試:活動二:對比兩種計算圓周率算法的效率。用數學公式計算:用隨機投點計算:將上面兩種不通算法實現的程序復制到Python中運行,填寫下表:改寫數學公式法程序,輸入精確度要求,并輸出運行時間。多次運行程序,改變limit的值,得到不同的圓周率近似值,記錄每次的運行結果。limitpi的值準確的小數位數運行時間(秒)0.00013.132076531809105310.0084848396442982510.00001改寫隨機投點法程序,輸出運行時間。多次運行程序,改變總投點數,得到不同的圓周率近似值,記錄每次的運行結果。itempi的值準確的小數位數運行時間(秒)10003.19610.093600610000對比兩種算法計算圓周率的運行情況,填寫下表。算法比較項目數學公式法隨機投點法計算結果的精確度□較高□較低□較高□較低程序運行時間□較長□較短□較長□較短對算法的理解□容易理解□不易理解□容易理解□不易理解課堂總結:圓周率π是一個無限不循環小數,無論是用數學公式計算,還是用隨機投點法計算,本質上都是對π的精確值的無限逼近。選擇合適的計算方法,并設計出高效的算法,正是用計算機解決類似問題的一般思路。課后探究活動:編程實現Leibniz定理計算圓周率:(共24張PPT)導入:—比較不同算法的實現及效率用計算機計算圓周率項目學習目標在本項目中,我們將對用計算機計算圓周率一探究竟,利用Python語言編程實現兩種計算圓周率的算法,進而掌握利用程序控制結構編程的方法,并感受不同算法的運行效率。知識復習:問題:1.順序結構編程的特點是?2.選擇結構的流程圖有哪幾種?3.循環結構的流程圖?新課學習一項目活動一新課學習二項目活動二復習引入總結提升知識復習:2.選擇結構的流程圖有哪幾種?新課學習一項目活動一新課學習二項目活動二復習引入總結提升條件語句塊真假條件語句塊語句塊真假知識復習:3.循環結構的流程圖有哪幾種?新課學習一項目活動一新課學習二項目活動二復習引入總結提升1.設計算法實現:用數學公式計算1735年,數學家歐拉得到了如下計算公式:如何編程求出圓周率?新課學習一項目活動一新課學習二項目活動二復習引入總結提升算法分析賦初值:item=1結束條件:怎么寫?計算:s+=1/(item2)改變循環控制的值:item+=1思考結束條件:1.我們是計算到1000000項結束?2.還是讓累加項的值小于0.000001來結束?item<=10000001/(item2)>=0.000001新課學習一項目活動一新課學習二項目活動二復習引入總結提升Python語言實現賦初值:item=1結束條件:1/(item2)>=0.000001計算:s+=1/(item2)改變循環控制的值:item+=1思考及改寫程序:1.輸出項值<0.000001時item的值。2.如何實現計算到1000000項結束?3.請用for語句改寫程序,實現同樣的功能。新課學習一項目活動一新課學習二項目活動二復習引入總結提升項目活動一:小組合作探究使用沃利斯公式計算圓周率:如何編程求出圓周率?項目活動一新課學習二項目活動二復習引入總結提升新課學習一流程圖填空否?條件:item%2==1?條件:?初始化:item=1x=0y=1s=1??改變分子的值:x+=2?改變分母的值:?是??計算圓周率:s=x/y否?項數增加:item+=1?輸出圓周率:print(2s)是?item<=1000000y+=2項目活動一新課學習二項目活動二復習引入總結提升新課學習一參考程序賦初值:item=1結束條件:item<=1000000計算改變循環控制的值:item+=1項目活動一新課學習二項目活動二復習引入總結提升新課學習一2.設計算法實現:用隨機投點法計算隨機投點法是通過在正方形內隨機投點,用隨機模擬的方法來估算圓周率。如何編程求出圓周率?π/4=s落在扇形內的點的個數/s落在矩形內的點的個數新課學習二項目活動二復習引入總結提升新課學習一項目活動一算法分析思考與討論:1.分別輸入1000、5000、10000,得到圓周率的近似值分別可以精確到第幾位?2.多次輸入同樣的總投點數1000,會得到不同的結果,這是為什么?如何減少這種不確定性?新課學習二項目活動二復習引入總結提升新課學習一項目活動一項目活動二:小組合作探究1.用數學公式計算對比兩種計算圓周率算法的效率。2.用隨機投點法計算新課學習二項目活動二復習引入總結提升新課學習一項目活動一算法分析用數學公式計算用隨機投點法計算運行兩種方法計算圓周率運行效率,完成學案上的活動二中的表格。新課學習二項目活動二復習引入總結提升新課學習一項目活動一算法分析用數學公式計算limitpi的值準確的小數位數運行時間(秒)0.00013.132076531809105310.0084848396442982510.00001新課學習二項目活動二復習引入總結提升新課學習一項目活動一算法分析用隨機投點法計算itempi的值準確的小數位數運行時間(秒)10003.19610.093600610000新課學習二項目活動二復習引入總結提升新課學習一項目活動一兩種算法比較算法比較項目數學公式法隨機投點法計算結果的精確度□較高□較低□較高□較低程序運行時間□較長□較短□較長□較短對算法的理解□容易理解□不易理解□容易理解□不易理解新課學習二項目活動二復習引入總結提升新課學習一項目活動一課堂總結圓周率π是一個無限不循環小數,無論是用數學公式計算,還是用隨機投點法計算,本質上都是對π的精確值的無限逼近。選擇合適的計算方法,并設計出高效的算法,正是用計算機解決類似問題的一般思路。新課學習一項目活動一新課學習二項目活動二復習引入總結提升思維導圖新課學習一項目活動一新課學習二項目活動二復習引入總結提升課后拓展活動使用Leibniz定理計算圓周率:參考程序賦初值:item=1結束條件:item<=1000000計算:s+=f/itemf=-f改變循環控制的值:item+=2課后拓展活動THANKS用計算機計算圓周率——比較不同算法的實現及效率一、案例背景信息1、模塊:高中信息技術。2、年級:高一年級。3、所用教材版本:新課程教材。4、學時數:1課時,40分鐘,其中上機時間:20分鐘,非上機操作時間:20分鐘。二、教學設計(一)內容分析1、本節的作用和地位:本節內容是信息技術必修第三單元《算法和程序設計》中的項目七:用計算機計算圓周率。本節的內容主要是讓學生在復習順序、選擇結構的程序設計基礎上,學會利用循環實現圓周率的計算,并讓學生體會不同算法的程序的計算速度及算法的效率。2、本節主要內容:圓周率的兩種不同算法實現及效率比較。(二)學生分析知識基礎:學生在前面單元的學習中已經掌握了Python的順序結構、選擇結構及循環結構的語法。能力基礎:學生能用Python三種結構編寫簡單的程序。心理基礎:學生對計算機編程有著良好的興趣。(三)教學目標(1)學會while及for循環之間的轉換;(2)掌握圓周率的兩種不同計算方法,并能用Python編程實現;(3)比較兩種算法的運行效率及精確度,知道如何分辨算法的性能。(四)教學重點、難點:教學重點:掌握圓周率的兩種不同計算方法,并能用Python編程實現;教學難點:掌握圓周率的兩種不同計算方法,并能用Python編程實現;(五)教學策略設計教學方法設計教法:問題導學法、活動驅動法學法:自主探究法、協作探究法教學流程和教學活動的設計思路情境設置從圓周率的計算歷程視頻入手,激發學生嘗試計算圓周率的興趣,帶領學生一起進入教學活動環節,讓學生親自體驗圓周率的不同計算方法。項目活動一:使用沃利斯公式計算圓周率小組協作,通過參考案例,修改程序完成使用沃利斯公式計算圓周率。項目活動二:對比兩種計算圓周率算法的效率。運行兩種算法程序,填寫三個表格,完成算法效率的分析。課后探究活動:其他算法實現圓周率在課堂的基礎上,繼續探究實現圓周率的算法,真正掌握利用計算機解決學習生活中的問題,加強對本節課知識的應用拓展。教學資源:對學生基本技術要求:計算機的基本操作、能使用記事本、Word等。硬件:局域網(可連接到因特網)。軟件:Windows操作系統 Word或記事本、網絡多媒體教室。資源:課件、程序、視頻等。三、教學過程教學環節及時間安排教師活動學生活動對學生學習過程的觀察和考查及設計意圖情境導入3’教師播放視頻:數學家是如何計算π的?觀看視頻,形成概念通過對π的發展史,了解π的多種計算方法。知識復習3’復習引入問題:順序結構編程的特點是?2.選擇結構的流程圖有哪幾種?3.循環結構的流程圖?回答問題溫故知新復習Python的三種基礎語法,為新授課做準備。算法1引入2’教師展示新課一的學習內容:設計算法,用數學公式計算π觀看試題開始思考試題引入幫助學生形成初步的算法概念。算法分析與程序實現4’引導學生分析流程圖,并寫出程序回答問題一起完成程序組織課堂活動,引導學生自主學習,學會總結。課堂活動18’項目活動一小組合作探究使用沃利斯公式計算圓周率:教師進行巡視觀察學生的學習活動,并對有疑問的學生的問題進行單獨解答。小組合作探究完成學案活動1的流程圖與程序填空并運行調試自主體驗完成算法的程序實現。學會自己編寫程序。算法2引入2’教師展示新課二的學習內容:用隨機投點法計算隨機投點法是通過在正方形內隨機投點,用隨機模擬的方法來估算圓周率。觀看試題開始思考試題引入幫助學生形成完整的算法概念。算法分析與程序實現6’引導學生分析流程圖,并程序填空思考與討論:1.分別輸入1000、5000、10000,得到圓周率的近似值分別可以精確到第幾位?2.多次輸入同樣的總投點數1000,會得到不同的結果,這是為什么?如何減少這種不確定性?回答問題一起完成程序組織課堂活動,引導學生自主學習,學會總結。課堂活'動28’項目活動二對比兩種計算圓周率算法的效率。用數學公式計算:用隨機投點法計算:兩種算法比較:教師進行巡視觀察學生的學習活動,并對有疑問的學生的問題進行單獨解答。協作學習,合作探究完成三個表格比較算法效率,了解算法運行的時間成本及算法的精確度。課堂回答及小結3’課堂小結:1.圓周率π是一個無限不循環小數,無論是用數學公式計算,還是用隨機投點法計算,本質上都是對π的精確值的無限逼近。選擇合適的計算方法,并設計出高效的算法,正是用計算機解決類似問題的一般思路。2.思維導圖學生回答并總結從數據分析中得出算法效率。并回顧整個課堂的學習內容,形成知識體系。課后拓展1’使用Leibniz定理計算圓周率:認真思考,課后實現。前后呼應,與視頻中提到的算法相呼應。讓學生學會利用編程解決學習生活中的問題。教學反思本節課的難點在于如何利用循環結構實現圓周率的計算,為了減輕難度,在活動一之前設置了一個例題,讓學生在完成活動一時可以參考例題程序進行修改,以讓大部分學生能達到良好的成功體驗效果。同時通過運行兩個不同算法實現的圓周率的程序,讓學生深刻體驗到算法效率帶來的差異性,這種差異所帶來的效率不同可以引導學生應用到學習生活中去,追求高效的解決問題的意識素養。本節課的內容內容較多,要讓學生達成良好的體驗效果,教師需隨時關注學生的學習過程,及時給予幫助,引導學生在體驗中提升總結,才能達到最佳的效果。1項目七練習題:用計算機計算圓周率【判斷題】:正確則標記“√”,錯誤則標記“×”。python的程序基本結構有三種:順序、選擇、循環。()以下代碼執行后,輸出結果是55。()循環結構不允許出現死循環。()【程序編寫】編程實現輸出1,2,3,……100。參考程序1:參考程序2:2.利用for循環求1~100之間所有數的和。參考程序:3.求50!參考程序:4.利用for循環求1~1000之間所有奇數的和。參考程序:5.使用Leibniz定理計算圓周率:參考程序:6.求出10~1000之間的回文數。參考程序1:參考程序2:7.求出100~1000之間所有的水仙花數。參考程序:算法1.爺s=12.爺i=13.循環當i小于等于50;3.1s=Sxi3.2i=1+11s=12foriinrange(1,51):3s=14print(s)1s=82foriinrange(1,1001):311%2==1:4s+=15print(s)1s=02千=13item=14whileitem<=1000000567s+=f/itemf=-千item+=28print(4s)1foriinrange(10,1001):s=str(i)2345s=s::ifi==int(s):print(i)1foriinrange(10,1001)s2345678t=ewhileset=t米18+s%18s=s//161千t==i:print(i)1foriinrange(10,1001):23456789t=8whileseX=s‰18t+=xxxs=s//181千t==i:print(i1s=92foriinrange(1,10):34sprint(s)開始否i≤50是s=S×1,1=1+輸出s結束1s=82foriinrange(1,101):3s+=14print(s)算法1.爺S=123S=Sx1s=s×251.s=s×59 展開更多...... 收起↑ 資源列表 1.教學設計:用計算機計算圓周率——比較不同算法的實現及效率.docx 2.導學案:用計算機計算圓周率.docx 3.課件:用計算機計算圓周率24.pptx 5.練習題.docx 6.微課:隨機投點法.mp4 導入視頻.mp4 縮略圖、資源來源于二一教育資源庫