1、作业题目:用二分迭代法求一元二次方程的根 班级: 姓名: 完成时间:内容:1. 问题分析:从对象到类:二次幂的未知系数为 a,一次幂的未知系数为 b,未知常数为 c, 区间参数为x1,x2,区间中点为 x3.数据分析: 所有都是实数所以用 double 的类型.方法分析: 构造办法,通过参数设置初始化二次幂的系数,一次幂的系数,常数改变二次幂的系数.改变一次幂的系数. 改变常数.2. 模型(UML)如图 1 所示图 13. 代码设计public class Equationdouble a,b,c; double x,x1,x2,x3; public Equation(double a,dou
2、ble b,double c)this.a=a;this.b=b;this.c=c;private double delta()return b*b-4*a*c;public void calculate()if(delta()0.000001)if(f(x1)*f(x3)0.000001)if(f(x1)*f(x3)0)x2=x3;x3=(x1+x2)/2;else if(f(x3)*f(x2)0)x1=x3;x3=(x1+x2)/2; System.out.print(“一根为:“+x3+ “n“);double f(double x)return a*x*x+b*x+c;4. 测试用例设
3、计a=10,b=433,c=105. 测试方法设计public static void main(String args)Equation e=new Equation(10,433,10);e.calculate();6. 测试过程测试环境如下图 2图 2测试结果如下图 3 所示:图 3结果分析: 结果如实.7. 作业讨论遇到的问题:导出方程 ,连贯二分法和迭代法总想不懂,在书上和网上查有关资料分析都没看懂,请教同学,一边编写,一边修改,问题实在太多了,同一个问题改了多次才修改成功.解决方法:请教同学和查询网上的例子 .8. 心得体会 :一道简单的数学题用这么复杂的算法实在违反了效率的要求,虽然很繁琐,但使我有学会了一些其他编程方法.9. 给老师的建议请不要一次性布置太多作业,像上次课那样分流的布置,这样没那么混淆,而且我放假回家没有电脑,做作业不方便.