全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二十二 继承与多态(二)一、实验目的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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国移动云南公司校园招聘(公共基础知识)综合能力测试题附答案解析
- 2026年长春金融高等专科学校单招职业倾向性测试模拟测试卷附答案
- 2026年河南工业职业技术学院单招职业适应性考试题库带答案详解
- 2026年辽宁省葫芦岛市单招职业倾向性测试模拟测试卷附答案
- 2026国家管网集团高校毕业生招聘(公共基础知识)测试题带答案解析
- 2026年邢台医学高等专科学校单招职业技能测试题库及答案详解一套
- 2025河北石太高速公路开发有限公司社会招聘1人(公共基础知识)综合能力测试题附答案解析
- 2026年贵州装备制造职业学院单招综合素质考试题库及答案详解一套
- 2026年泉州职业技术大学单招综合素质考试题库带答案详解
- 2026年北京科技大学天津学院单招综合素质考试题库参考答案详解
- 2025北京市科学技术研究院及所属事业单位第三批招聘37人备考题库附答案
- 医院人力资源成本精细化管控方案
- 2025北京市交通运输综合执法总队轨道交通运营安全专职督查员招聘10人笔试考试参考试题及答案解析
- 2025江苏镇江市京口产业投资发展集团有限公司招聘2人备考题库含答案详解
- 防校园欺凌主题班会 (课件)
- 2025年秋季学期国家开放大学《人文英语3》形考任务综合测试完整答案(不含听力部分)
- 2025北京国文人力资源有限责任公司驻外文化和旅游机构职员招聘5人(第二期)笔试历年参考题库附带答案详解
- 企业绿色环保文化建设方案
- 心肺复苏(CPR)与AED使用实战教程
- 2025年自动控制原理期末考试题库及答案
- 2025年校长职级笔试题及答案
评论
0/150
提交评论