《C++教学资料》设计采用梯形法和辛普生法求定积分.doc

《C++教学资料》设计采用梯形法和辛普生法求定积分.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河北工业大学计算机软件技术基础(VC)课程设计报告 学院 信息工程学院 班级 姓名 _ 学号 _ 成绩 __ ____ 一、题目: 设计采用梯形法和辛普生法求定积分(36) 二、设计思路 1、总体设计 1)分析程序的功能 本题目的功能是对梯形法和辛普生法,在不同区间数下计算所得的定积分的值,进行精度比较。 2)系统总体结构:设计程序的组成模块,简述各模块功能。 该程序共分为以下几个模块 模块一:各函数原型的声明。 模块二:主函数。 模块三:各函数的定义。 包括两个数学函数y1=1+x*x、y2=1+x+x*x+x*x*x的定义和两个函数指针 double integralt(double ,double ,int ,double(*f)(double)) double integrals(double ,double ,int ,double(*f)(double)) 的定义。 2、各功能模块的设计:说明各功能模块的实现方法 模块一:对各种函数进行声明。 模块二:求梯形法和辛普森法,在不同区间数下计算所得的定积分的值。 模块三:将各函数写出来。 3、设计中的主要困难及解决方案 在这部分论述设计中遇到的主要困难及解决方案。 困难:函数指针的应用。解决方案:仔细阅读课本,以及与同学之间的讨论,和向老师求助。 4、你所设计的程序最终完成的功能 1)说明你编制的程序能完成的功能 在数学上求一个函数与x轴在一定范围内所围的面积即求定积分,对梯形法和辛普森法求定积分的比较。 2)准备的测试数据及运行结果 三、程序清单 #include iostream.h double integralt(double ,double ,int ,double(*f)(double));//用梯形法求定积分的声明. double integrals(double ,double ,int ,double(*f)(double));//用辛普森法求定积分的声.明. double f1(double x);//函数y1=1+x*x的声明. double f2(double x);//函数y2=1+x+x*x+x*x*x的声明. void main() { double a,b,intesum1,intesum2,intesum3,intesum4;//对求定积分的定义. coutplease shangxian xiaxian a,b:;//输入上限和下限. cinab; int n[7]={2,10,100,1000,5000,20000,50000};//n的不同取值. //下面是对第一行不同n的值的输出. cout n值 ; for(int i=0;i7;i++) cout n[i]; coutendl; //下面是对n取不同值时,用梯形法对f1求定积分. coutintesum1; for(i=0;i7;i++) { intesum1=integralt(a,b,n[i],f1); cout intesum1; } coutendl; //下面是对n取不同值时,用梯形法对f2求定积分. coutintesum2; for(i=0;i7;i++) { intesum2=integralt(a,b,n[i],f2); cout intesum2; } coutendl; //下面是对n取不同值时,用用辛普森法对f1求定积分. coutintesum3; for(i=0;i7;i++) { intesum3=integrals(a,b,n[i],f1); cout intesum3; } coutendl; //下面是对n取不同值时,用用辛普森法对f2求定积分. coutintesum4; for(i=0;i7;i++) { intesum4=integrals(a,b,n[i],f2); cout intesum4; } coutendl; } double f1(double x) //定义函数y1=1+x*x. { double y1; y1=1+x*x; return y1; } double f2(double x) //定义函数y2=1+x+x*x+x*x*x. { double y2; y2=1+x+x*x+x*x*x; return y2; } double integrals(double a,double b,int n,double(*f)(double))//定义用辛普森法求定积分. { int i; double sum1=0,sum2=0

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档