计算课程积分结构体c语言,c语言积分课程设计.docx

沈阳 航空工 业学院

课程设计

学号2008040703027

班级

姓名原毅

指导教师王晓岩

2011 年 9 月 21 E)

目录

TOC \o "1-5" \h \z \o "Current Document" 一、需求分析1

\o "Current Document" 二、程序流程图2

\o "Current Document" 三、核心技术的实现说明及相应程序段4

四、课设总结6

\o "Current Document" 五、参考文献7

\o "Current Document" 六、源程序9

一、需求分析

经过对程序设计题目的分析可知,整个程序的设计实 现大致分为三个模块,其中每一个模块对应一个函数,它 们的功能分别是:输入a, b和n值的函数(Input),开始 计算的函数(Calculatebegin),退出的函数(exit)。其中,开 始计算函数(Calculatebegin)中又嵌套调用了累计梯形面积 的函数(fun),以实现求定积分f(2x2 +3x + l皿 的目的。

1、输入a, b和n值的函数 主耍实现程序最初运行时 数据的录入。a为积分下限,b为积分上限,n为积分段个 数。也就是说,将曲边梯形分成n个高相等的曲边梯形, 当n的数值足够大时,每个小曲边梯形可近似看成矩形, 将它们累加起來也就实现了积分的目的;

2、开始计算的函数按照题目的具体要求实现定积分

f(2,+3x + l)dx 的计算;

3、清屏清除前面计算以留下的算式和数值。

4、退出的函数根据需要终止程序的执行。

二、程序流程图

1、程序总体结构图(见图1)

输入n值

输入a,b,n值

的函数

Input ()

计算积分值

函数Cal()

函数exit()继续

图1程序总体结构图

2、具体功能框图

输入a, b和n值的函数Input ()(见图2)

当1时

输入a,b和n的值

图2输入a, b和n值的函数

(2)计算定积分的函数Calculatebegin ()(见图3)

当2时

当i

0=> sum

0 => i

2*pow(a+i*(b?a)/n,2)+3*pow(a+i*(b?a)/n,l)+l =>

m

sum+(b?a)/n*m => sum

Sum => fun()

fun(a,b,n) => c

输出:积分下限a) 积分上限b 积分段个数n 积分结果c

图3计算定积分的函数

清屏函数clear()

当3时

system(” cis”)清屏

退出的函数exit()(见图4)

当4时

exit(O)退出

图4退岀的函数

三、核心技术的实现说明及相应程序段

本程序主要由三个口定义函数和一个主函数组成,其

屮主函数以菜单的形式调用其他函数来实现要求的所有 功能。在这些函数当中,开始计算函数是程序中较为核心 的部分,下面对其进行说明。

开始计算

此题口要求用“累计梯形面积”法求定积分 ((2亍+3x + l)dx的值。我的设计思想是,将曲边梯形分 成n个高相等的曲边梯形,当n的数值足够大时,每个小 曲边梯形可近似看成矩形,将它们累加起来也就实现了积 分的目的。由于积分函数中包括幕次关系,所以用函数 2*pow(a+i*(b?a)/n,2)+3*pow(a+i*(b?a)/n,l)+l 实现,把它 看成矩形的高,i的值每加1高就改变到另一值,然后再 与宽(b-a)/n相乘便得到了每个矩形的面积,最后再用for 循环把这些矩形累加起来就得到了积分的结果。具体程序 段如下:

float Calculatebegin()

{

float c;

float fun(float a,float b,float n);

c=fun(a^b,n);

printf(tt??????????????>\nn);

printf(H积分下限是:%f\nM,a);

printf(M积分上限是:%f\nH,b);

printfC1积分段个数是:%f\nH,n);

printf(H积分结果是:%f\iT,c);

printf(tt??????????????>\nn);

float fun(float ajloat b Jloat n)

{

float sum3^m;

sum=0;

for(i=0;i

{

m=2*pow(a+i*(b-a)/n,2)+3*pow(a+i*(b-a)/n,l)+l; sum=sum+(b-a)/n*m;/*计算每个梯形的面积旬

}

return(sum);

!1!课设总结

!1!

课设总结

通过编写该程序,熟悉了 C语言的基本语法,选择, 循环等结构,深入练习了函数的调用方法,和文件的读写 方法,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值