



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二十二 继承与多态(二)一、实验目的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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三减三健知识培训讲稿课件
- 金融行业投行面试实战模拟试题
- 督察组面试题库精 编:高级编辑实战技巧与面试技巧全解析
- 期货从业资格之期货投资分析题库练习备考题含答案详解(能力提升)
- 年产600万件电子专用材料项目可行性研究报告模板-立项备案
- 大班数学公开课教案及教学反思《7以内的加减运算》
- 大学生销售实习周记
- 大学生毕业生在求职过程中的自我鉴定
- 期货从业资格之《期货法律法规》押题模拟(含答案详解)
- 地理上册发展与合作说课稿
- 上市公司财务舞弊问题研究-以M+公司为例
- 2025贵州水务股份有限公司第一批面向社会招聘部分录用人员笔试历年参考题库附带答案详解
- 江苏中国资源循环集团新能源科技有限公司招聘笔试题库2025
- 静电框管理办法
- 2025年电动三轮车销售与售后服务合同
- 赠与房产合同协议书模板
- 妇产科中医护理应用
- 2025至2030中国轮椅行业项目调研及市场前景预测评估报告
- 国家科技基础资源调查专项2025项目重要支持方向
- 环境噪声技师试题及答案
- DB31/T 618-2022电网电能计量装置配置技术规范
评论
0/150
提交评论