✨博文作者:烟雨孤舟
喜欢的可以 点赞 收藏 关注哦~~✍️ 作者简介: 一个热爱大数据的学习者
✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教!
目录
自顶向下分析问题
逐步求精
函数实现
模块化设计
结构化编码主要原则
对于一个具体问题,一般按照结构化程序设计方法来组织函数,主要原则可以概括为“自顶向下,逐步求精,函数实现”
把大的复杂的问题分解成小问题后再解决,面对一个复杂的问题,首先进行整体分析,按照组织或功能将问题分解成子问题,若子问题仍然复杂也继续分解,直到容易解决为止。
自顶向下的方法有助于后续的模块化设计与测试,以及系统的集成。
对于复杂的问题,其中大的操作应该将其分解为更小的子步骤序列,逐步明晰实现过程。
通过逐步求精,把程序要解决的全局目标分解成局部目标,在进一步分解成具体的小目标,把最终的小目标通过函数来实现。
在这个阶段,需将模块组织成良好的层次系统,顶层模块调用其下层模块以实现程序的完整功能,每个层次模块外调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成更具体的功能。
模块化设计时要遵循模块独立性的原则,即模块之间的联系应尽量简单。体现在:
1.一个模块只能完成一个指定的功能
2.模块之间只能通过参数进行调用。
3.一个模块只有一个入口和一个出口
4.模块内慎用全局变量
模块化设计使程序结构清晰,易于设计和理解,有利于大型软件的开发。
c语言中,模块一般通过函数来实现,一个模块对应一个函数。在设计模块时,模块中包含的语句一般不要超过50行,以便于程序的阅读。
例:
学生成绩统计程序的层次结构图为
学生成绩统计程序
成绩输入 成绩输出 数据查找 数据成绩
模块化设计为:
(1)设计5个函数,每个函数完成一项功能,代表一个模块。包括main函数、成绩输入函数、成绩输出函数、数据查找函数、数据成绩函数
(2)模块之间的调用关系为:主函数main()函数、依次调用成绩输入函数、成绩输出函数、数据查找函数、数据成绩函数,完成计算功能。
1.经模块化设计后,每个模块都可以独立编码。编码时应选用顺序、选择、循环3种控制结构,对于复杂问题可以通过3种结构的组合、嵌套实现,以清晰表明程序的逻辑结构。
2.对变量、函数、常量等命名时,要见名知意,有助于对函数变量或功能的理解
3.在程序中增加适量的必要的注释,增加程序的可读性
4.要有良好的程序视觉组织,利用缩进格式,一行写一条语句,呈现出程序语句的阶梯方式,使程序逻辑结构层次分明、结构清晰
5.程序要清晰易懂,语句构造简单明了。
6.程序有良好的交互性,输入有提示,输出有说明