请完成下列Java程序。程序的功能是利用迭代法求一个数的平方根(求平方根的迭代公式为:Xn+1=1/2(Xn+a/Xn)).
注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。
public class PingFangGen{
public static void main(String args[]){
System. out. println(Math, sqrt(2.0));
}
static double sqrt(______){
double x=1.0
do
{
_______
}
while( Math. abs(x*x-a)/a>le-6)
return x;
}
}
第1题:
/**/doublemysqrt(double,double);/**/
X1=/**/(x0+a/x0)/2;/**/
Ymysqrt(/**/a,x1/**/);
第2题:
程序test.C的功能是:利用以下所示的简单迭代方法求方程cos(x).x=0的一个实根。迭代公式:Xn+1=cos(xn)(n是迭代次数) 迭代步骤如下: (1)取X1初值为0.0; (2)X0=X1,把X1的值赋给x0; (3)X1=cos(x0),求出一个新的x1; (4)若x0.X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2); (5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。 请编写函数countValue实现程序的功能,最后main函数调用函数writeDAT把结果输出到文件0ut.dat中。注意:部分源程序存放在test.C文件中。 请勿改动主函数main和输出数据函数writeDAT的内容。
第3题:
2、求两个数平方和的平方根(求直角三角形的斜边长度)。
第4题:
下列给定程序中,函数fun()的功能是:应用递归算法求某数a的平方根。求平方根的迭代公式如下:
例如,2的平方根为1.414214。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <math. h>
include <stdio. h>
/*************found**************/
fun(double a,double x0)
{ double xl,y;
xl= (x0+a/x0)/2.0;
/*************found**************/
if (fabs (xl-x0) >0.00001)
y=fun (a, xl);
else y=x1;
return y;
}
main ( )
{ double x;
printf("Enter x: "); scanf("%1f",&x);
printf ("The square root of %1f is %1f\n",
x, fun(x,l.O));
}
第5题:
给定程序MODll.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:
例如,a为2时,平方根值为:1.414214。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。