结构化程序设计(structured programming):

1:结构化程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效更容易。

2:结构化程序设计的三种基本结构是:顺序结构、选择结构和循环结构。

顺序结构 :顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。顺序结构的程序又称简单程序,这种结构的程序是顺序执行的,无分支,无转移,无循环,程序本身的逻辑很简单,它只依赖于计算机能够顺序执行指令(语句)的特点,只要语句安排的顺序正确即可。

选择结构 :选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。

循环结构 :循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。在循环结构中最主要的是:什么情况下执行循环?哪些操作需要循环执行?循环结构的基本形式有两种:当型循环和直到型循环。

当型循环:表示先判断条件,当满足给定的条件时执行循环体,并且在循环终端处流程自动返回到循环入口;如果条件不满足,则退出循环体直接到达流程出口处。因为是"当条件满足时执行循环",即先判断后执行,所以称为当型循环。

直到型循环:表示从结构入口处直接执行循环体,在循环终端处判断条件,如果条件不满足,返回入口处继续执行循环体,直到条件为真时再退出循环到达流程出口处,是先执行后判断。因为是"直到条件为真时为止",所以称为直到型循环。

3:三种基本结构图示

  1. 顺序结构                                                2、选择结构                                                         3、循环结构

循环结构又包括:当型循环(While型)、直到型(Until)

4:三种结构示例:

1、顺序结构示例:

2、选择结构示例:

3、循环结构以例子展示:

例子:计算5!的值

计算1 - 1/2 + 1/3 - 1/4 +...+1/99 - 1/100

5:结构化程序设计方法

  1. 自顶而下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。
  2. 逐步细化:对复杂问题,应设计一些子目标作为过渡,逐步细化。
  3. 模块化设计:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。
  4. 结构化编码

特点

结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。在程序的静态形式与动态执行流程之间具有良好的对应关系。

优点

由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。

按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合:顺序结构、选择结构和循环结构来实现。

结构化程序设计的基本思想是采用"自顶向下,逐步求精"的程序设计方法和"单入口单出口"的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;"单入口单出口"的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序来。

1、整体思路清楚,目标明确。

2、设计工作中阶段性非常强,有利于系统开发的总体管理和控制。

3、在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。

缺点

1、用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。

2、用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。

3、系统的开发周期长。

结构化程序设计(structured programming)相关推荐

  1. 结构化编程(SP,structured programming)

    简介: 结构化编程又叫结构化程序设计. 结构化程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则.结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效 ...

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

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

  3. 微软推出新语言Bosque,超越结构化程序设计

    微软近期推出了一款全新的编程语言 Bosque,该语言参考了 TypeScript 的语法与类型,还有 ML 和 Node/JavaScript 的语义. 作者微软计算机科学家 Mark Marron ...

  4. 微软推出新编程语言 Bosque,超越结构化程序设计

    微软近期推出了一款全新的编程语言 Bosque,该语言参考了 TypeScript 的语法与类型,还有 ML 和 Node/JavaScript 的语义.作者微软计算机科学家 Mark Marron  ...

  5. 编译器-FORTRAN(公式翻译)语言,第一个全球正式推广的高级语言,Pascal(帕斯卡)可称为第一个结构化程序设计语言Pascal基于ALGOL编程语言BASIC初学者通用符号指令代码17语句微软

    编译器-FORTRAN(公式翻译)语言,第一个全球正式推广的高级语言,Pascal(帕斯卡)它可称为第一个结构化程序设计语言,Pascal基于ALGOL编程语言,ALGOL是算法语言(ALGOrith ...

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

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

  7. c语言是非结构化程序设计语言,第章_结构化程序设计基础和C语言的控制结构(fb).ppt...

    第章_结构化程序设计基础和C语言的控制结构(fb).ppt 2.4.2 continue语句 例2-24 编程序实现功能:检测从键盘上输入的以换行符结束的字符流,统计非字母字符的个数. 分析:通过循环 ...

  8. 结构化程序设计03 - 零基础入门学习Delphi12

    结构化程序设计03 让编程改变世界 Change the world by program 循环结构语句 顺序结构和选择结构只能完成一些简单功能,实际的程序也很少只由顺序结构和选择结构组成. 例如小甲 ...

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

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

  10. c语言周林答案,C语言程序设计实训教程教学课件作者周林ch04结构化程序设计课件.ppt...

    C语言程序设计实训教程教学课件作者周林ch04结构化程序设计课件.ppt * * 4.1 选择结构程序设计 4.2 循环结构程序设计 4.3 辅助控制语句 第四章 结构化程序设计 4.1 选择结构程序 ...

最新文章

  1. Oracle 同义词(synonym) 简介
  2. WinsockExpert+NC抓包上传之拿WEBSHELL
  3. Centos Another app is currently holding the yum lock
  4. PowerDesigner提示This data item is already used in a primary identifier.的处理
  5. SQL的Join使用图解教程
  6. Javascript图像处理之平滑处理
  7. HDU6380 degree
  8. css3中border-image的用法(fill 、border-image-outset 、border-image-width)
  9. usbcan、can分析仪的产品特点和功能特点
  10. 反编译工具Reflector下载(转)
  11. 奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置
  12. Xilinx_JESD204B
  13. 来啊battle啊,Java和Python你站哪个?
  14. 平面广告设计课程中发散思维训练
  15. ybt1359: 围成面积
  16. Android Studio设置关闭当前页面的快捷键ctrl+w
  17. pinta(centos7画图软件)
  18. LeetCode 题解:一顿操作猛如虎,一看击败百分五
  19. 首都经贸计算机考研怎么样,【考研心路历程】首都经贸大学考研的回忆与感悟...
  20. Java实现拼图小游戏(7)—— 计步功能及菜单业务的实现

热门文章

  1. 键盘对于程序员的价值
  2. 网口调试助手如何以服务器与plc调试,PLC调试助手
  3. html5css字竖着显示,css如何设置竖排文字?
  4. 前端实现antd文本域限制字数
  5. MySQL数据库中主键和候选键的区别?
  6. 图片格式tif转换jpg
  7. 内存单元地址求字节大小的计算方法
  8. PHP微信公众号开发之自动回复
  9. 计算机打印怎么取消,电脑怎么取消打印任务_打印机取消打印任务的详细步骤...
  10. oracle数据库自动修复,【案例】Oracle数据库由于存在坏块导致无法启动的恢复过程...