



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二十二 继承与多态(二)一、实验目的1 练习纯虚函数的使用。二、 实验内容1、矩形法(rectangle)积分近似计算公式为:梯形法(ladder)积分近似计算公式为:辛普生法(simpson)积分近似计算公式(n为偶数)为:被积函数用派生类引入,被积函数定义为纯虚函数。基类(integer)成员数据包括:积分上下限b和a;分区数n;步长step=(b-a)/n,积分值result。定义积分函数integerate()为虚函数,它只显示提示信息。派生的矩形法类(rectangle)重定义integerate(),采用矩形法作积分运算。派生的梯形法类(ladder)和辛普生法(simpson)类似。请编程,用三种方法对下列被积函数(1) sin(x),下限为0.0和上限为/2;(2) exp(x),下限为0.0和上限为1.0;(3) 4.0/(1+x*x),下限为0.0和上限为1.0。进行定积分计算,并比较积分精度。#include#includeconst double pi=3.14;using namespace std;class integerdouble 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 integerpublic: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 integerpublic: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 integerpublic: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用辛普生法进行定积分计算的值为Resultendl;class A:public rectangle,public ladder,public simpsonpublic:A(double ra,double rb,int rn):rectangle(ra,rb,rn),ladder(ra,rb,rn),simpson(ra,rb,rn)rectangle:integerate();ladder:integerate();simpson:integerate();double fun(double x)return sin(x);class B:public rectangle,public ladder,public simpsonpublic:B(double ra,double rb,int rn):rectangle(ra,rb,rn),ladder(ra,rb,rn),simpson(ra,rb,rn)rectangle:integerate();ladder:integerate();simpson:integerate();double fun(double x)return exp(x);class C:public rectangle,public ladder,public simpsonpublic:C(double ra,double rb,int rn):rectangle(ra,rb,rn),ladder(ra,rb,rn),simpson(ra,rb,rn)rectangle:integerate();ladder:integerate();simpson:integerate();double fun(double x)return (4.0/(1+x*x);int main()cout进行函数f(x)=sin(x)的三种不同的定积分计算endl;A a1(0.0,pi/2,10000);coutendl; cout进行函数f(x)=exp(x)的三种不同的定积分计算endl;B b1(0.0,1.0,1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国家庭美容保健仪器项目创业计划书
- 中国急救室项目创业计划书
- 中国克霉唑涂膜项目创业计划书
- 中国经皮黄疸测定仪项目创业计划书
- 中国计算机软件项目创业计划书
- 中国关系型数据库项目创业计划书
- 2025建筑工程施工管理合同协议书范本
- 中国电子止鼾器项目创业计划书
- 中国AI代码生成项目创业计划书
- 吉林饲料项目创业计划书
- 国际压力性损伤-溃疡预防和治疗临床指南(2025年版)解读课件
- 企业财务通则
- 《新疆是个好地方》教学课件(共17p)
- 病理科规章制度(共42页)
- 招标工作的合理化建议
- MBR系统运行技术手册
- 皮肤管理顾客档案表
- 机关妇委会换届选举工作基本程序
- 零件加工检验标准
- 数据安全与运维安全审计系统项目方案
- 水稻测产验收报告格式
评论
0/150
提交评论