为内聚和耦合举例

为内聚和耦合举例

ID:37958192

大小:127.86 KB

页数:4页

时间:2019-06-03

为内聚和耦合举例_第1页
为内聚和耦合举例_第2页
为内聚和耦合举例_第3页
为内聚和耦合举例_第4页
资源描述:

《为内聚和耦合举例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章作业1、为每种类型的模块耦合举一个具体的例子1)非直接耦合:#includevoidmain(){inta,b;printf("printanintegernumber:");scanf("%d",&a);if(a<0)printf("dataerror!");else{b=fac(a);prt(b);}}intfac(intn){intf;if(n==0,n==1)f=1;elsef=fac(n-1)*n;return(f);}voidprt(intx){printf("%d",x);}/*函数fac和prt之间为非直接耦合关系*/2)数据耦合:/*上例

2、中,主函数main和子函数fac之间为数据耦合关系*/3)标记耦合:#includevoidmain(){ints,j,b[10];for(j=0;j<10;j++)b[j]=j;s=sum(b[10]);printf("%d",s);}intsum(inta[10]){intss=0,i;for(i=0;i<10;i++)ss=ss+a[i];return(ss)}/*主函数main和子函数sum之间为标记耦合关系*/4)特征耦合:#includevoidmain(){intj,b[10];for(j=0;j<10;j++)b[j]=j;ad

3、d3(b[10]);}voidadd3(inta[10]){ints=0;s=a[3]+1;printf("%d",s);}/*主函数main和子函数sum之间为特征耦合关系*/5)控制耦合:/*根据输入的年龄是否满十八岁判断是否到达法定饮酒年龄*/#includevoidmain(){intAge=0;T=0;printf("%s","请输入您的年龄:");scanf("%d",&Age);if(age>18)T=1;elseT=0;YesOrNot(T);}voidYesOrNot(ints){if(s==1)printf("%s","您已到达法定饮酒年

4、龄!");elseprintf("%s","您未到达法定饮酒年龄!");}/*主函数main和子函数WineOrNot之间为控制耦合关系*/6)外部耦合:#includeinta,b;voidmain(){pin();b=a+1;prt();}voidpin(){printf("printanintegernumber:");scanf("%d",&a);}voidprt(){printf("%d",b);}/*三个函数之间都存在外部耦合关系*/7)公共环境耦合:两个程序共享一个文件8)现代程序设计语言已经从语法上杜绝了内容耦合2、为每种类型的模块内聚举一个

5、具体的例子1)偶然类聚:Word窗口的工具菜单,在本菜单中,各工具间基本没什么联系。该菜单具有偶然内聚。2)逻辑内聚:一个函数能打印季度开支报告、月份开支报告和日开支报告,具体打印哪一个,将由传入的控制标志决定,该函数具有逻辑内聚性。3)时间内聚:操作系统的开机初始化模块,包含的动作没什么大的关系,但必须在开机后的一段时间内都完成。整个开机初始化模块具有时间内聚。4)过程内聚:一个模块,为某员工计算工龄工资:打开员工信息文件取出员工记录;按一定的算法计算工龄;按一定的算法计算工龄工资。该模块中的三个相对独立的子功能必须以特定次序执行,整个模块具有过程内聚。5)通信内聚:一个模块,接收

6、一个远程传来的信息文件,保存,同时马上打印该文件。该模块针对同一个文件操作,打印和存盘操作没有前后顺序关系,整个模块具有通信内聚。6)顺序内聚:某干部退休,模块计算他的离/退休工资:打开干部信息文件;读出文件中他的职务/级别等信息,通过一定算法判断他是否具备离休资格,结论写入文件;再读出文件中他的目前工资、工作年限、是否离休等信息,通过一定算法计算他的离/退休工资,再结果写入文件。该模块操作同一个文件,必须先判断出他是否离休,再计算离/退休工资。整个模块具有顺序内聚。7)功能内聚:intfac(intn){intf;if(n==0,n==1)f=1;elsef=fac(n-1)*n;

7、return(f);}/*函数fac,计算n!,本模块功能单一,具备功能内聚*/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。