《4.1结构化程序设计.ppt》由会员分享,可在线阅读,更多相关《4.1结构化程序设计.ppt(12页珍藏版)》请在第壹文秘上搜索。
1、第四章 程序设计思想和方法 4.1 结构化程序设计结构化程序设计的由来o 在Basic,Pascal或C语言中,都有goto语句,虽然它们的用法格式不同,但它们的作用都是从一个语句跳转到另一语句。o 在初学者看来,它确实是一个实现跳跃、反复、多条件分支的有用语句,这对于小的程序段来说,是可取的,但经验丰富的程序员们都会对goto语句退避三舍。o 因为在大的程序段里,goto语句打乱了程序结构化的整体,不利于程序员读懂理解程序,常常使程序员自己都搞不懂自己编的到底是什么。 结构化程序设计思想o 所谓结构化程序设计思想,就是要使所设计的程序给人一种一目了然的感觉。条理清晰,模块化,自粗到精,逐步细
2、化。在行文上有缩进书写方式,层次分明。 o 结构化程序设计,要求程序只能用三种基本结构来描述,也可以用这三种基本结构组成一个复杂程序。这三种结构就是:顺序结构、选择结构和循环结构。 结构化程序设计思想顺序结构就是一组一条接一条地执行计算机命令。是典型的自上而下结构选择结构是一种先对给定条件进行判断,再按判断后的不同情况做不同处理的结构1、顺序结构 2、选择(分支)结构结构化程序设计思想3、循环结构 是指多次重复执行同一系列命令的结构。具有循环结构的程序必须指定循环的停止条件,以便对程序的循环进行有效的控制,以免进入死循环状态。根据循环的执行过程及循环结束方式的不同,循环结构又可分为计数循环结构
3、、当型循环结构和直到型循环结构。结构化设计常用方法:模块化 (1)把一个较大的程序划分为若干子程序, 每一个子程序总是独立成为一个模块;(2) 每一个模块又可继续划分为更小的 子模块;(3) 程序具有一种层次结构。 运用这种编程方法,考虑问题必须先进行整体分析,避免边写边想。 结构化设计常用方法:自顶向下 逐步求精“自顶向下”是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。“逐步求精”是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题
4、。结构化设计常用方法:自底向上 (1) 即先设计底层,最后设计顶层;(2) 优点:由表及里、由浅入深地解决问题; (3) 不足:在逐步细化的过程中可能发现原来的分解细化不够完善;该方法主要用于修改、优化或扩充一个程序。 结构化程序设计的步骤1.分析问题对要解决的问题,首先必须分析清楚,明确题目的要求,列出所有已知量,找出题目的求解范围、解的精度等。例如“兔子的繁殖问题”,必须找出其繁殖规律。2.建立数学模型对实际问题进行分析之后,找出它的内在规律,就可以建立数学模型。只有建立了模型的问题,才可能利用计算机来解决。如菲波那契数列,可推出递推公式un=un-1+un-2结构化程序设计的步骤3.选择
5、算法建立数学模型后,还不能着手编程序,必须根据数据结构,解决问题的算法。一般选择算法要注意: (1) 算法的逻辑结构尽可能简单; (2) 算法所要求的存贮量应尽可能少; (3) 避免不必要的循环,减少算法的执行时间; (4) 在满足题目条件要求下,使所需的计算量最小。4.编写程序把整个程序看作一个整体,先全局后局部,自顶向下,一层一层分解处理,如果某些子问题的算法相同而仅参数不同,可以用子程序来表示。结构化程序设计的步骤5.调试运行6.分析结果7.写出程序的文档主要是对程序中的变量、函数或过程作必要的说明,解释编程思路,画出框图,讨论运行结果等。综合练习一参考“综合练习样例.EXE”和“综合练习要求.TXT”要求: 作业文件夹名为“学号姓名综合练习1” 文件夹内保存好保留窗体文件和工程文件 提交到“综合练习一”文件夹中第一节课:完成三个窗体和对应的程序编写调试 窗体1: 封面窗体2: 累加器、累乘器、计数器窗体3: 交换两个变量值、求极值