(
课件网) 如何用Python语言编写计算点在圆内的概率? 用计算机计算圆周率 --设计简单数值数据算法(第二课时) 设计算法实现用随机投点法计算 项目七 项目学习目标02.探究和理解程序的选择结构和循环结构01.掌握数值数据的常用运算设计算法实现用随机投点法计算圆周率 随机投点法是通过在正方形内随机投点,用随机模拟的方法来估算圆周率。请尝试用Python语言,来计算圆周率。 程序设计的一般过程 1.分析问题 2.设计算法 3.编写程序 4.运行调试 设计算法实现用随机投点法计算圆周率 1.分析问题(数学思路) 设落在圆形内的豆子数为hits,总豆子数为darts,则: 单位圆面积为π,并且内切边长2的正方形,,落到圆里的概率乘以4就是π的值 设计算法实现用随机投点法计算圆周率 1.分析问题(分析) 随便投一个点,这个记为(x,y)落在圆内,则到圆心的距离x^2+y^2<1 例如投点10000次,落入圆内次数hits,π的值为hits/10000*4 以圆心为原点,建立二维坐标系: 任务一:小组活动数学思维分析随机投点法判断思路 设计算法实现用随机投点法计算圆周率 1.分析问题(计算机角度) ①确定总的投点数darts。 ②在边长为1的正方形中投点,并判断这个点是否在扇形区域内,如果是,则扇形区域的投点数hits增加1。(每个投点的x坐标和y坐标都是[0,1)中的随机数;若x*x+y*y<1,则判断该点投在扇形区域内。) ③在所有点投完后,计算圆周率的近似值π。pi≈4* 使用计算机模拟随机投豆(也就是投点)的整个过程 这里涉及的数据变量有:总的投点数 darts,每个点的坐标值x、y,扇形区域的投点数hits,圆周率的近似值pi。 设计算法实现用随机投点法计算 2.设计算法(描述方法:自然语言,流程图,伪代码) 算法中哪几步在重复执行? 思考 设计算法实现用随机投点法计算 2.设计算法(描述方法:自然语言,流程图,伪代码) 流程图描述 开始 令hits=0,i=0 输入总的投点数darts 获取x,y的随机值 i
> 大于 dist>1 False >= ≥ 大于等于 dist>=1 False == = 等于 dist==1 False != ≠ 不等于 dist!=1 True x^2+y^2<1 例如:判断一个数X是否为100到200之间的一个数。条件表达式为:100<=x<=200 也可以写成x<=200and100<=x 设计算法实现用随机投点法计算 常用的逻辑运算符包括与(and)或(or)、非(not)。这三种运算符的运算顺序是先not,再and,最后or,但可以使用括号来调整运算的先后顺序。 例如:判断一个学生是否为体重(weight)大于50千克或者身高(height)小于155厘米的女生(gender:female),条件表达式可写为: (gender==“female”)and(weight>50 or height<155) 例如:判断一 ... ...