資源簡介 (共20張PPT)設計算法實現用隨機投點法計算圓周率π是一個在數學和物理學中常用的數學常量,它是圓的周長與直徑的比值。古今中外,一代代數學家為探求圓周率的值貢獻出了自己的智慧和辛勞。下面就讓我們一起來領略圓周率的魅力吧!神奇的圓周率用隨機投點法計算圓周率在正方形中隨機撒一把豆子n表示落在扇形中豆子的數量m表示所有豆子的數量110只要數出落在扇形區域內豆子的數量就可以計算出的值了用投點法計算圓周率1.分析問題首先,確定總的投點數m,m=int(input())。然后,在邊長為1的正方形中投點,并判斷這個點是否落在扇形區域內,如果是,則變量n的值增加1。最后,在所有點投完后,計算圓周率的近似值用投點法計算圓周率2.突破難點思考1:正方形中每個投點的坐標有什么特點?落在扇形區域內的點的坐標又有什么特點?110每個投點的x坐標和y坐標都是[0,1)中的隨機數random( )。根據正方形和內接扇形的幾何關系,落在扇形區域中的點的xy用投點法計算圓周率2.突破難點思考2:在投點過程中有哪些事情是需要重復做的?投出每一個點 x,y∈[ 0,1 ) ,random( )判斷每個點是否落在扇形區域對于重復做的這兩件事情,我們可以通過循環來實現。用投點法計算圓周率2.突破難點思考3:如何控制循環次數?把所有的點投完,循環就可以結束了。所以所有的點數m就是循環需要執行的次數。3.設計算法是i獲取坐標x,y的隨機值是否i=i+1計算圓周率近似值pin=n+1用投點法計算圓周率4.編寫代碼 調試運行from random import randomm=int(input(“請輸入總的投點數:”))n=0for i in range(m):x=random()y=random()if ________________:____________pi= _____________print(“pi的值是”,pi)x*x+y*y<1n=n+14*n/m兩種計算圓周率算法的對比上次課我們學習了用歐拉公式計算圓周率,現在我們對這兩種算法進行對比,我們在兩個程序中加入了計時函數,就可以計算出每種算法計算圓周率時間。兩種計算圓周率算法的對比兩種計算圓周率算法的對比請同學們打開學案完成學習任務三,運行兩個程序,并記錄程序運行結果,完成兩種算法的對比。兩種計算圓周率算法的對比歐拉公式計算圓周率結果記錄表limit Pi的值 準確的小數位數 運行時間(秒)0.0000001 3.14129068 3 0.0029230.00000000001 3.14158963 4 0.1148426隨機投點法計算圓周率結果記錄表投點數 Pi的值 準確的小數位數 運行時間(秒)500000 3.140976 2 0.204585000000 3.142104 2 2.08951兩種計算圓周率算法的對比兩種算法的對比歐拉公式法 隨機投點法計算結果精確度 較高 較低 較高 較低程序運行時間 較長 較短 較長 較短對算法的理解 易理解 不易理解 易理解 不易理解√√√√√√課堂小結1.同學們完整體驗了用計算機程序解決計算圓周率問題的過程。2.深入探究實踐了程序的循環結構和選擇結構的構建。3.求解問題的方法并不唯一,在設計算法時要綜合考慮時間效率和運算結果的精準度。再 見 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫