内容正文:
项目七 用计算机计算圆周率
设计算法实现用随机投点法计算(第二课时)
学习
目标
了解数值数据的常用运算方法。
了解并掌握选择结构算法。
了解并掌握循环结构算法。
游戏导课
投掷小游戏:有10个小球,尝试投入筐里,计算出投中的概率。
思考:如何用Python语言编写计算投中的概率。
项目学习指引
随机投点法是通过在正方形内随机投点,用随机模拟的方法来估算圆周率。请尝试用Python语言,来计算圆周率。
设计算法实现用随机投点法计算
0
1
1
一、分析问题
使用计算机模拟随机投豆(也就是投点)的整个过程
②在边长为1的正方形中投点,并判断这个点是否在扇形区域内,如果是,则扇形区域的投点数hits增加1。(每个投点的x坐标和y坐标都是[0,1)中的随机数;若x2+y2<1,则判断该点投在扇形区域内。)
③在所有点投完后,计算圆周率的近似值π。
①确定总的投点数darts。
总数darts
0
1
1
投中hits+1
二、设计算法
自然语言描述
流程图描述
1.关系运算符
条件表达式
程序中表示判断条件的式子称为条件表达式,它由关系运算或逻辑运算构成,执行的结果为布尔值True或 False.
2.逻辑运算符
二、设计算法
Python运算符 数学符号 名称 示例(dist=0.87) 结果
< < 小于 dist<1 True
<= ≤ 小于等于 dist<=1 True
> > 大于 dist>1 False
>= ≥ 大于等于 dist>=1 False
== = 等于 dist==1 False
!= ≠ 不等于 dist!=1 True
常用的逻辑运算符包括与(and)或(or)、非(not)。这三种运算符的运算顺序是先not,再and,最后or,但可以使用括号来调整运算的先后顺序。
三、编写程序
from random import random
darts= int(input(" 请输入总的投点数 :")) hits=0
for i in range (darts):
x, y = random(), random() If x**2+y**2<1:
hits= hits + 1
pi = 4 * (hits/darts) print("pi 的值是 ",pi)
用Python语言编写的程,其中用到了Python标准