资源描述:
《c语言积分课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、沈阳航空工业学院课程设计学号2008040703027班级84070301班姓名原毅指导教师王晓岩2011年9月21日沈阳航院设计用纸目录一、需求分析2二、程序流程图2三、核心技术的实现说明及相应程序段2四、课设总结2五、参考文献2六、源程序……………………………………………..99沈阳航院设计用纸一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,它们的功能分别是:输入a,b和n值的函数(Input),开始计算的函数(Calculatebegin),退出的函数(exit
2、)。其中,开始计算函数(Calculatebegin)中又嵌套调用了累计梯形面积的函数(fun),以实现求定积分的目的。1、输入a,b和n值的函数主要实现程序最初运行时数据的录入。a为积分下限,b为积分上限,n为积分段个数。也就是说,将曲边梯形分成n个高相等的曲边梯形,当n的数值足够大时,每个小曲边梯形可近似看成矩形,将它们累加起来也就实现了积分的目的;2、开始计算的函数按照题目的具体要求实现定积分的计算;3、清屏清除前面计算以留下的算式和数值。4、退出的函数根据需要终止程序的执行。9沈阳航院设计用纸二、程序流程图1、程序总
3、体结构图(见图1)输入n值真n=1假输入a,b,n值的函数Input()真n=2假计算积分值函数Cal()真n=3假函数exit()继续图1程序总体结构图2、具体功能框图(1)输入a,b和n值的函数Input()(见图2)当1时输入a,b和n的值图2输入a,b和n值的函数9沈阳航院设计用纸(2)计算定积分的函数Calculatebegin()(见图3)当2时当isum0=>i2*pow(a+i*(b-a)/n,2)+3*pow(a+i*(b-a)/n,1)+1=>msum+(b-a)/n*m=>sumSum=>f
4、un()fun(a,b,n)=>c输出:积分下限a)积分上限b积分段个数n积分结果c图3计算定积分的函数9沈阳航院设计用纸(3)清屏函数clear()当3时system("cls")清屏(4)退出的函数exit()(见图4)当4时exit(0)退出图4退出的函数三、核心技术的实现说明及相应程序段本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,开始计算函数是程序中较为核心的部分,下面对其进行说明。9沈阳航院设计用纸开始计算此题目要求用“累计梯形面积”法求定积分
5、的值。我的设计思想是,将曲边梯形分成n个高相等的曲边梯形,当n的数值足够大时,每个小曲边梯形可近似看成矩形,将它们累加起来也就实现了积分的目的。由于积分函数中包括幂次关系,所以用函数2*pow(a+i*(b-a)/n,2)+3*pow(a+i*(b-a)/n,1)+1实现,把它看成矩形的高,i的值每加1高就改变到另一值,然后再与宽(b-a)/n相乘便得到了每个矩形的面积,最后再用for循环把这些矩形累加起来就得到了积分的结果。具体程序段如下:floatCalculatebegin(){floatc;floatfun(floa
6、ta,floatb,floatn);c=fun(a,b,n);printf("<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>");printf("积分下限是:%f",a);printf("积分上限是:%f",b);printf("积分段个数是:%f",n);printf("积分结果是:%f",c);printf("<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>");}9沈阳航院设计用纸floatfun(floata,floatb,floatn){floatsum,i
7、,m;sum=0;for(i=0;i8、风格,和清晰地思路,使思维更加条理化,清晰化。9沈阳航院设计用纸五、参考文献1谭浩强.C程序设计.北京:清华大学出版社,20052刘成等.C语言程序设计实验指导与习题集.北京:中国铁道出版社,2006六、源程序#include#include#includ