1、1Java 理论习题课时间:2013 年 10 月 18 日星期五 12:10-13:55地点:学院十楼机房任课老师:祁明龙班级:软件 zy1101-02, 软件 sy1101, 软件 1101-02开发工具:jdk1.6主题:Java 结构化编程技巧、数组及递归在数值计算中的应用 利用无穷级数计算 PI 的近似值,试用无穷级数的前 N 项近似 PI 的值。11()43572kk 利用圆内接正 N 边形的面积近似圆的面积的方法来近似 PI 的值。(注意:在 Java 编程时,要把左边的三角函数的角度换成弘度。80sin()cos()这个问题令某些同学对该近似方法的严肃性纠结不已。就让实践来证明
2、其优越性吧。 )package javacourse;public class ApproximatePIValue private int N; /The fist N terms of the infini serieprivate double pi; /The approximate value of PIpublic ApproximatePIValue(int N) this.N = N;this.pi = 0.0;public ApproximatePIValue()this.pi = 0.0;public double getPi() return pi;public void
3、 setN(int N) this.N = N;public void setPi(double pi) this.pi = pi;public int getN() return N;2public void calculatePI()double term;this.setPi(0.0);for(int k=1;kerrorTolerance);this.x = xk1;this.k = this.k - 1;public void test()this.setX0(4.0);this.setErrorTolerance(0.0000005);this.calculateAppRoote(
4、);System.out.println(“The approximate root is “+this.getX();public static void main(String args)new AppRoot().test();运行的结果为:k:= 1 error= 0.095915685246 appRoot= 2.904084314754k:= 2 error= 0.000997102864 appRoot= 2.999002897136k:= 3 error= 0.000000106536 appRoot= 2.999999893464The approximate root is
5、 2.999999893464411上面的结果是把误差设为 ,尝试的第一个根是 。如果改7510erTolance04.x变这两个参数, , ,试问共需迭代多少次,最终的近似l.x解是什么?问题:试用牛顿法用 Java 编程求解代数方程 的近似解。其图2()()230xfe形趋势见下图:8 打印杨辉三角形前 N 行1) N 声明为私有成员变量; yh, 为 N 乘 N 下三角二维数组,用于存储前 N 行杨辉三角形数据。2) 编写带有形式参数的构造函数。3) 编写构造前 N 行杨辉三角形的下三角二维数组的成员函数。4) 编写打印前 N 行杨辉三角形的成员函数。5) 编写主函数,创建对象,按顺序调
6、用该对象的成员函数。package javacourse;public class YHTriangle private int N;private int yh;public YHTriangle(int N) this.N = N;public int getN() return N;public int getYh() return yh;9public void setN(int N) this.N = N;public void setYh(int yh) this.yh = yh;public YHTriangle(int N, int yh) this.N = N;this.yh
7、 = yh;public YHTriangle() public void constructYHTriangle()yh = new intN;yh0 = new int1; yh00 = 1;yh1 = new int2; yh10 = 1;yh11 = 1;for(int i=2;iN;i+)yhi = new inti+1;yhi0 = 1;yhii = 1;for(int j=1;ji;j+)yhij = yhi-1j-1 + yhi-1j;public void printYHTriangle()for(int i=0;iN;i+)for(int j=0;j=i;j+)System
8、.out.print(yhij+“t“);System.out.print(“n“);public static void main(String args)YHTriangle yh = new YHTriangle(14);10yh.constructYHTriangle();yh.printYHTriangle();运行结果:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 11 9 36 84 126 126 84 36 9 11 10 45 120
9、 210 252 210 120 45 10 11 11 55 165 330 462 462 330 165 55 11 11 12 66 220 495 792 924 792 495 220 66 12 11 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1成功构建 (总时间: 1 秒) 操作步骤1) 安装 jdk1.6,配置系统参数 Path 和 CLASSPATH,2) 在 C:Documents and SettingsAdministrator 创建文件夹 javacourse,把ApproximatePIValue.java, AppRoot.java, YHTriangle.java 保存到该文件夹之下。3) 编译:javac .javacourse*.jva4) 运行程序:java javacourse.ApproximatePIValue 回车,java javacourse.AppRoot 回车,java javacourse.YHTriangle 回车,PI 的近似值:11运行求解代数近似解:运行打印前 14 行杨辉三角形: