- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
为内聚和耦合举例
第 章 作 业5
1、为每种类型的模块耦合举一个具体的例子
1) 非直接耦合:
#includestdio.h
voidmain()
{
inta,b;
printf(printanintegernumber:);
scanf(%d,a);
if(a0) printf(dataerror!);
else
{
b=fac(a);
prt(b);
}
}
intfac(intn)
{
intf;
if(n==0,n==1) f=1;
else f=fac(n-1)*n;
return(f);
}
voidprt(intx)
{
printf(%d\n,x);
}
/*函数fac和prt之间为非直接耦合关系*/
2) 数据耦合:
/*上例中,主函数main和子函数fac之间为数据耦合关系*/
3) 标记耦合:
#includestdio.h
voidmain()
{ints,j,b[10];
for(j=0;j10;j++) b[j]=j;
s=sum(b[10]);
printf(%d\n,s);
}
intsum(inta[10])
{
intss=0,i;
for(i=0;i10;i++)ss=ss+a[i];
return(ss)
}
/*主函数main和子函数sum之间为标记耦合关系*/
4) 特征耦合:
#includestdio.h
voidmain()
{intj,b[10];
for(j=0;j10;j++) b[j]=j;
add3(b[10]);
}
voidadd3(inta[10])
{
ints=0;
s=a[3]+1;
printf(%d\n,s);
}
/*主函数main和子函数sum之间为特征耦合关系*/
5) 控制耦合:
/ 根据输入的年龄是否满十八岁判断是否到达法定饮酒年龄 */
#includestdio.h
voidmain()
{
intAge=0;T=0;
printf(%s,请输入您的年龄:);
scanf(%d,Age);
if(age 18)
T= 1;
else
T=0;
YesOrNot(T);
}
voidYesOrNot(ints)
{
if(s== 1)
printf(%s\n, 您已到达法定饮酒年龄!);
else
printf(%s\n,您未到达法定饮酒年龄!);
}
/*主函数main和子函数WineOrNot之间为控制耦合关系*/
6) 外部耦合:
#includestdio.h
inta,b;
voidmain()
{
pin();
b=a+1;
prt();
}
voidpin()
{
printf(printanintegernumber:);
scanf(%d,a);
}
voidprt()
{
printf(%d\n,b);
}
/*三个函数之间都存在外部耦合关系*/
7) 公共环境耦合:两个程序共享一个文件
8) 现代程序设计语言已经从语法上杜绝了内容耦合
2、为每种类型的模块内聚举一个具体的例子
1) 偶然类聚:
Word窗口的工具菜单,在本菜单中,各工具间基本没什么联系。该菜单具有偶然内聚。
2) 逻辑内聚:
一个函数能打印季度开支报告、月份开支报告和日开支报告,具体打印哪一个,将由传入的
控制标志决定,该函数具有逻辑内聚性。
3) 时间内聚:
操作系统的开机初始化模块,包含的动作没什么大的关系,但必须在开机后的一段时间内都
完成。整个开机初始化模块具有时间内聚。
4) 过程内聚:
一个模块,为某员工计算工龄工资:打开员工信息文件取出员工记录;按一定的算法计算工
龄;按一定的算法计算工龄工资。
该模块中的三个相对独立的子功能必须以特定次序执行,整个模块具有过程内聚。
5) 通信内聚:一个模块,接收一个远程传来的信息文件,保存,同时马上打印该文件。
该模块针对同一个文件操作,打印和存盘操作没有前后顺序关系,整个模块具有通信内聚。
6) 顺序内聚:某干部退休,模块计算他的离/退休工资:打开干部信息文件;读出文件中他
的职务/级别等信息,通过一定算法判断他是否具备离休资格,结论写入文件;再读出文件
您可能关注的文档
- Oracle+Service+Bus实例开发详解.pdf
- 销售订单如何确定移动类型.pdf
- 早期胃癌大体分型的详细介绍.pdf
- 投影机灯泡分类.pdf
- 牙膏磨擦剂的理化特性和常用类型_牙膏磨擦剂对牙齿磨损和清洁效果的影响及研究进展_.pdf
- 03复句分析答案.pdf
- 工程预付款、起扣点、进度款、结算款计算实例-之二.pdf
- OMRON CP1H MODBUS-RTU通讯.pdf
- USB2.0各类型接口定义及封装.pdf
- Altair OptiStruct 10.0拓扑优化实例1.pdf
- 2025届云南省丽江市高中毕业生复习统一检测化学试题及答案.docx
- 2025届云南省丽江市高中毕业生复习统一检测生物试题及答案.docx
- 2025届云南省丽江市高中毕业生复习统一检测英语试题及答案.docx
- 2025届云南省丽江市高中毕业生复习统一检测物理试题及答案.docx
- 显性与隐性双重天津商业步行街改造评价调查.pdf
- 2025届云南省丽江市高中毕业生复习统一检测语文试题及答案.docx
- 奔驰威霆TVC创意脚本提报.pptx
- 2025届云南省丽江市高中毕业生复习统一检测历史试题及答案.docx
- 2025届浙江省Z20名校联盟高三上学期第二次联考地理试题及答案.docx
- 2025届浙江省北斗星盟高三上学期12月月考政治试题及答案.docx
文档评论(0)