1 / 14
文档名称:

求定积分.doc

格式:doc   大小:269KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

求定积分.doc

上传人:iris028 2022/7/18 文件大小:269 KB

下载得到文件列表

求定积分.doc

相关文档

文档介绍

文档介绍:沈 阳 航 院 设 计 用 纸
课程设计
学 号
班 级
姓 名
指导教师
2008年 3月 12日
课程设计任务书
一、课程设式调用其他函数来实现要求的所有功能。在这些函数当中,开始计算函数是程序中较为核心的部分,下面对其进行说明。
开始计算函数
此函数严格按照题目的要求,用“累计梯形面积”法求定积分 的值。也就是说,将曲边梯形分成n个高相等的曲边梯形,当n的数值足够大时,每个小曲边梯形可近似看成矩形,将它们累加起来也就实现了积分的目的。由于积分函数是x的立方加1,所以用函数
xxxxxxxxx
4
沈 阳 航 院 设 计 用 纸
pow(a+i*(b-a)/n,3)+1实现,把它看成矩形的高,i的值每加1高就改变到另一值,然后再与宽(b-a)/n相乘便得到了每个矩形的面积,最后再用for循环把这些矩形累加起来就得到了积分的结果。具体程序段如下:
float Jisuan()
{
float c;
float fun(float a,float b,float n);
c=fun(a,b,n);
printf("<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>\n");
printf(" 积分下限是: %f\n",a);
printf(" 积分上限是: %f\n",b);
printf(" 积分段个数是:%f\n",n);
printf(" 积分结果是: %f\n",c);
printf("<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>\n");
}
float fun(float a,float b,float n)
{
float sum,i,m;
sum=0;
for(i=0;i<n;i++)
{
m=pow(a+i*(b-a)/n,3)+1;
sum=sum+(b-a)/n*m;/*计算每个梯形的面积*/
}
return(sum);
}
xxxxxxxxx
5
沈 阳 航 院 设 计 用 纸
四、程序截图
图5进入界面
图6输入界面
xxxxxxxxx
6
沈 阳 航 院 设 计 用 纸
图7计算界面
图8退出界面
xxxxxxxxx
7
沈 阳 航 院 设 计 用 纸
五、个人总结
在设计程序的过程中我遇到了很多问题,经过老师的指导和同学们的帮助,这些问题基本上都解决了。但是,在答辩的时候老师还是看出了一个问题,那就是,在计算每一个小梯形面积的时候不应该近似的看成矩形,因为当n的值取很小的时候计算误差会很大。这是我从来没考虑过的问题,也让我感到了C语言编程需要缜密的设计,可是,为了体现这次设计程序的独立性,我在前面的程序流程图和后面源程序中并没有纠正这个错误,因此,在这里加以说明,并写下改正过的语句:m=(pow(a+i*(b-a)/n,3)+1)+(pow(a+(i+1)*(b-a)/n,3)+1);
sum=sum+(b-a)/n*m/2;在以后的学****中,我会以严谨的心态面对每一次程序设计,并把这样的学****态度延用到每个学科的学****中,争取得到更大的进步。
六、参考文献
1 谭浩强.C程序设计.北京:清华大学出版社,2005
2 刘成等.C语言程序设计实验指导与****题集.北京:中国铁道出版社,2006
xxxxxxxxx
9
沈 阳 航 院 设 计 用 纸
七、源程序
#include<>
#include<>
float a,b,n;
float shuru()
{
printf("<<<<<<<<<<<<<<>>>>>>>>>>>>>>>\n");
printf(" 请输入 a b 和 n: ");
scanf("%f,%f,%f",&a,&b,&n);
}
float Jisuan()
{
float c;
float fun(float a,float b,float n);
c=fun(a,b,n);
printf("<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>\n")