用叠代法计算Rs和Rf时,若先给Rf赋值,计算过程将会如何发展?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 10:34:08
用叠代法计算Rs和Rf时,若先给Rf赋值,计算过程将会如何发展?
用叠代法计算Rs和Rf时,若先给Rf赋值,计算过程将会如何发展?
用叠代法计算Rs和Rf时,若先给Rf赋值,计算过程将会如何发展?
第一行,定义了两个整数类型的数值变量I和n,一个单精度浮点数变量x,以及三个双精度浮点数变量pi、arc1和arc2.其中pi用于表示圆周率的值.
第二行,将text1文本框中的数据转换为整型数值并赋值给整型变量i..
第三行,将x赋值为“1/5”.
第四行,将arc1赋值为“0”.因为arc1是一个乘加器,所以其初值应该是0.
第五行,表示开始一个循环,循环变量n从1开始,步长为1,依次取值到I,一共循环I次.
第六行,arc1 = arc1 + (-1) ^ (n - 1) * x ^ (2 * n - 1) / (2 * n - 1),
这是一个累加器的算法,它将变量arc1的原值加上表达式的值,然后将加法运算的结果重新赋值给变量arc1作为arc1的新值.
Machin公式中的级数代数式,转换成表达式则为:
(-1) ^ (n - 1) * x ^ (2 * n - 1) / (2 * n - 1)
第七行.NEXT,表示循环变量n增加一个步长的值1,然后判断“n<=I”是否成立,如果成立则继续循环,否则不再循环直接执行下一个语句.
第八行,将x赋值为“1/239”.“Loop While I<=n”表示当I<=n成立时继续循环,从第五行“Do”的下面一行继续执行.如果I<=n不成立,即I比n大时,则不再循环,直接执行下一行即第九行的语句,从而结束循环.
第九行,将arc2赋值为“0”.Arc2也是一个乘加器.
第十~十二行,通过循环计算arc2的值.
第十三行,pi = 16 * arc1 - 4 * arc2.通过Machin公式计算圆周率的值.
第十四行,将表示圆周率的变量pi的值赋值给“Label1”组件对象的“Caption”属性,输出圆周率.
(3)运行程序.
将第一个文本框中的“Text1”删除,重新输入“9”;然后单击“Command1”,就能在原来“Label1”的位置上输出pi的值“3.1415926998682”.输入“10”时,输出pi的值“3.14159269986815”.输入“1000”时,输出pi的值仍为“3.14159269986815”.说明,应该这个程序,当n大于10时,在双精度浮点数的数值范围内,圆周率的精度至少可以达到小数点后的14位.