π是数学王国中最著名的数,相信大部分人都知道圆的面积公式是S=πr2,圆的周长公式是C=2πr,世界上第一个将圆周率精确到小数点后七位的是我国数学家祖冲之,祖冲之在前人的基础上,用自己的方法加以完善,最终精确在小数点后七位,并且得出结论圆内接正N边形的边数越多,边长越接近于圆的周长。
π也可以称之为pi,是圆周长和它的直径的比值,π的值是一个常数,无论圆周是大还是小,π的值都是恒定不变的,π是无限不循环小数约等于3.1415……
今天我们就用VB来计算一下π的圆周率的近似值。我们使用的公式是:π/4=1-1/3+1/5+…+1/i一直到1/i<0.0000001为止。
分析题目,需要计算出等号右边的值:1-1/3+1/5+…+1/i,电脑报的老读者们不难发现,右边一侧和我们之前讲过的数列类似,分母为奇数,分子为1,随着项量增加,分母也越来越大,分子依旧保持不变,可以推导出公式:-1^(i-1) /(2*n-1)。题目退出循环的前提条件:直到1/i小于0.0000001。当我们计算出右边的结果后,不要忘记将结果乘4就可以得出最终π的值了。现在打开VB一起动手试试看吧。
求π值的代码量很少,分析如下,首先定义两个变量i和pi,变量i用来计算右边循环过后的结果,变量pi用来计算最终的正确答案,从题目中可以看出给定的条件1/i<0.0000001其实是控制计算精度的条件,通过循环计算直到符合条件为止。
所以我设置了do循环来计算结果。
do
...
loop
until<条件>
当然同学们也可以用do while循环来代替
do
while
<条件>
...
loop
两者有点小区别。do循环是先执行一次,再判断条件,若条件不符合,就不再执行第二次,所以这种循环最少要执行一次。do while循环是先判断条件,如符合条件再执行,直到条件不符合退出循环,有可能成为死循环,也有可能一次也不执行。
在循環中,变量i先加1,然后将变量i代入通项公式:-1^(i-1) /(2*n-1),再进行累加求和,然后判断。当程序运行直到满足给定的条件之后,跳出循环,右边的值也计算出结果,然后将计算的结果乘4就可以得到π的值:3.1415927……
聪明的你也快动手试试看吧,看看结果是否符合预期,同学们也可以上网查阅一下求圆周率的其他方法,换一种编程算法来计算圆周率。