Exp22_继承与多态(二).docVIP

  • 21
  • 0
  • 约3.2千字
  • 约 4页
  • 2017-12-20 发布于河南
  • 举报
Exp22_继承与多态(二)

实验 继承与多态(二) 一、实验目的 实验内容 梯形法(ladder)积分近似计算公式为: 辛普生法(simpson)积分近似计算公式(n为偶数)为: 被积函数用派生类引入,被积函数定义为纯虚函数。 基类(integer)成员数据包括:积分上下限b和a;分区数n;步长step=(b-a)/n,积分值result。定义积分函数integerate()为虚函数,它只显示提示信息。 派生的矩形法类(rectangle)重定义integerate(),采用矩形法作积分运算。 派生的梯形法类(ladder)和辛普生法(simpson)类似。 请编程,用三种方法对下列被积函数 sin(x),下限为0.0和上限为π/2; exp(x),下限为0.0和上限为1.0; 4.0/(1+x*x),下限为0.0和上限为1.0。 进行定积分计算,并比较积分精度。 #includeiostream #includecmath const double pi=3.14; using namespace std; class integer{ double a; double b; int n; double step; double result; public: double Geta(){return a;} double Getb(){return b;} double Getstep(){return step;} int Getn(){return n;} double Getresult(){return result;} integer(double ra=0.0,double rb=0.0,int rn=0){ a=ra; b=rb; n=rn; step=(b-a)/n; result=0.0; } virtual double fun(double x)=0; virtual void integerate(){cout进行定积分计算endl;} }; class rectangle:public integer{ public: rectangle(double ra,double rb,int rn):integer(ra,rb,rn){}; void integerate(); }; void rectangle::integerate(){ int i,j=Getn(); double Result=Getresult(); double dx=Getstep(),A=Geta(),B=Getb(); for(i=0;ij;i++) Result+=fun(A+dx*i); Result*=dx; integer::integerate(); cout用矩形法进行定积分计算的值为Resultendl; } class ladder:public integer{ public: ladder(double ra,double rb,int rn):integer(ra,rb,rn){}; void integerate(); }; void ladder::integerate(){ int i,j=Getn(); double Result=Getresult(); double dx=Getstep(),A=Geta(),B=Getb(); Result+=fun(A); Result+=fun(B); for(i=1;ij;i++) Result+=2*fun(A+dx*i); Result*=dx/2; integer::integerate(); cout用梯形法进行定积分计算的值为Resultendl; } class simpson:public integer{ public: simpson(double ra,double rb,int rn):integer(ra,rb,rn){}; void integerate(); }; void simpson::integerate(){ int i,j=Getn(); double Result=Getresult(); double dx=Getstep(),A=Geta(),B=Getb(); Result+=fun(A); Result+=fun(B); for(i=1;ij;i+=2) Result+=4*fun(A+dx*i); for(i=2;ij;i+=2) Result+=2*fun(A+dx*i); Result*=dx/3; integer::integerate(); cout用辛普生法进行定积分

文档评论(0)

1亿VIP精品文档

相关文档