结构化程序设计(structured programming)(E.W.Dijikstra)在1965年提出的,是软件发展的一个重要的里程碑。它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。

1.采用自顶向下,逐步求精的程序设计方法

在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。

2.使用三种基本控制结构构造程序

任何程序都可由顺序、选择、重复三种基本控制结构构造。

(1)用顺序方式对过程分解,确定各部分的执行顺序。

(2)用选择方式对过程分解,确定某个部分的执行条件。

(3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。

(4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。

原则

自顶向下

程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。

逐步细化

对复杂问题,应设计一些子目标作为过渡,逐步细化。

模块化设计

一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。

如:输入一个数,输出该数以内的乘法表。

代码实现

结构化程序设计方法:自顶向下,逐步求精相关推荐

  1. C语言学习笔记:(五)结构化程序设计方法与顺序程序设计举例

    目录 目录 一.基本思路 二.具体方法 (1)自顶向下,逐步细化 (2)模块化设计 (3)结构化编码 三.顺序程序设计举例 一.基本思路 结构化程序设计的基本思路为:把一个复杂问题的求解过程分阶段进行 ...

  2. c语言程序设计第2章,C语言程序设计第2章 结构化程序设计与算法.ppt

    C语言程序设计第2章 结构化程序设计与算法.ppt 现在人们公认的具有"良好风格"的程序设计方法之一是所谓的"结构化程序设计方法".其核心是规定了算法的三种基本 ...

  3. 结构化程序设计的四个基本原则

    自顶向下 程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标.不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化. 逐步求精 对复杂问题,应设计一些子目标作为 ...

  4. 2.11 结构化程序设计思想

    程序设计方法经历了从传统的"面向过程设计"到目前被广泛接受的"面向对象设计"的过程.本节将讨论结构化程序设计. 概念提出 1976 年 N.Wirth 出版的名 ...

  5. 面向对象和结构化程序设计的区别X

    面向对象和结构化程序设计的区别 结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而提出的.转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中,就是用上节我们提到的" ...

  6. 【Java-笔试面试】面向对象与面向过程(结构化程序设计)的区别?

    文章目录 1.面向过程(结构化程序设计) 2.面向对象 1.面向过程(结构化程序设计)     结构化程序设计中最小程序单元是函数,各个模块都是不断细分为更小的模块,直到分为一个个函数,系统由这一个个 ...

  7. 结构化程序设计的基本结构与特点

    结构化程序设计方法主要由以下三种基本结构组成:1)顺序结构:顺序结构是一种线性.有序的结构,它依次执行各语句模块.2)循环结构:循环结构是重复执行一个或几个模块,直到满足某一条件为止.3)选择结构:选 ...

  8. 2.5 结构化程序设计的方法

    2.5 结构化程序设计的方法 由基础的三种结构组成的程序叫做结构化程序 结构化程序就是由高级语言编写的结构化算法. 结构化算法 百度百科:http://baike.baidu.com/view/102 ...

  9. java结构化程序设计的方法有哪些,Java结构化程序设计.doc

    昆明理工大学信息工程与自动化学院学生实验报告 (2012-2013学年第一学期) 课程名称:Java 课程名称:Java程序设计开课实验室:442 2012年11月7日 年级.专业.班 计科101 学 ...

  10. 系统架构师(八)系统分析与设计方法

    定义问题与归结模型 软件系统的目的是为了解决问题,因此在建模之初最重要的步骤是对问题的分析与定义,并在此基础上归结模型,这样才能够获得切实有效的模型.定义问题的过程包括:理解真实世界中的问题和用户的需 ...

最新文章

  1. 几何画板中隐藏坐标轴的步骤
  2. 最新图神经网络论文笔记汇总(附pdf下载)
  3. 互联网开发(一) 并发基础知识
  4. android自定义控件中文乱码,Android笔记--自定义View之组合控件
  5. 巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力!
  6. 【学习笔记】33、具有Python特色的循环
  7. day01-计算机操作系统java编程入门
  8. 2013-5-17杂乱草稿纸
  9. 算子基本思想_2.2 量子力学基本假设 Part 2
  10. 又一数据库高危漏洞爆出,数据安全如何有效保障?
  11. 胡明浩 160809313 (我就会三个)
  12. STM32单片机GPIO口简介
  13. 大学生自己做网站如何赚钱
  14. division by zero_MySQL5.7 group_by报错问题解决办法,大部分程序员都收藏了
  15. np.take()函数用法 python numpy
  16. linux编译openssl报错,cargo编译musl报错openssl
  17. 7个H5网页制作工具全面介绍
  18. 微信公众号开发(一)服务器配置
  19. Excel 经纬度互相转换
  20. CentOS 8上安装Docker

热门文章

  1. 汽车芯片严重短缺,价格全线上涨,“缺芯”仍将延续
  2. 物联网:互联网的终结者?
  3. 力扣的使用简介及代码编写说明
  4. codeforces 794D Labelling Cities
  5. android 7.0 壁纸设置,android7.0怎么换锁屏壁纸
  6. Android 实现计时器功能,Android计时器的三种实现方式(Chronometer、Timer、handler)...
  7. Axure RP 8制作计时器
  8. M0+体系结构与指令系统简介
  9. 计算机应用类型分类 余额宝属于,按计算机应用的类型分类,余额宝属于____。...
  10. chia windows接入hpool矿池