问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

结构化程序设计的工作原理是什么?

发布网友 发布时间:2022-03-25 22:34

我来回答

1个回答

热心网友 时间:2022-03-26 00:03

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

中文名:结构化程序设计
外文名:structured programming
提出人:E.W.Dijikstra
时间:1965年
分享
概述

概念
其概念最早由E.W.Dijikstra在1965年提出的,是软件发展的一个重要的里程碑。它的主要观点是采用自顶向下、逐步求精及模块化的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。结构化程序设计主要强调的是程序的易读性。

内容
详细描述处理过程常用三种工具:图形、表格和语言。

图形:程序流程图、N-S图、PAD图 表格:判定表

语言:过程设计语言(PDL)

结构化程序设计曾被称为软件发展中的第三个里程碑。该方法的要点是:

(1) 主张使用顺序、选择、循环三种基本结构来嵌套连结成具有复杂层次的“结构化程序”,严格控制GOTO语句的使用。用这样的方法编出的程序在结构上具有以下效果:

a. 以控制结构为单位,只有一个入口,一个出口,所以能独立地理解这一部分。

b. 能够以控制结构为单位,从上到下顺序地阅读程序文本。

c.由于程序的静态描述与执行时的控制流程容易对应,所以能够方便正确地理解程序的动作。

(2)“自顶而下,逐步求精”的设计思想,其出发点是从问题的总体目标开始,抽象低层的细节,先专心构造高层的结构,然后再一层一层地分解和细化。这使设计者能把握主题,高屋建瓴,避免一开始就陷入复杂的细节中,使复杂的设计过程变得简单明了,过程的结果也容易做到正确可靠。

(3)“独立功能,单出、入口”的模块结构,减少模块的相互联系使模块可作为插件或积木使用,降低程序的复杂性,提高可靠性。程序编写时,所有模块的功能通过相应的子程序(函数或过程)的代码来实现。程序的主体是子程序层次库,它与功能模块的抽象层次相对应,编码原则使得程序流程简洁、清晰,增强可读性。

(4) 主程序员组。

其中(1)、(2)是解决程序结构规范化问题;(3)是解决将大划小,将难化简的求解方法问题;(4)是解决软件开发的人员组织结构问题。

模型
结构化程序设计通常使用自上往下的设计模型,开发员将整个程序结构映射到单个小部分。已定义的函数或相似函数的集合在单个模块或字模块中编码,这意味着,代码能够更有效的载入存储器,模块能在其它程序中再利用。模块单独测试之后,与其它模块整合起来形成整个程序组织。

程序流程遵循简单的层次化模型,采用“for”、“repeat”、“while”等循环结构,鼓励使用“Go To”语句。几乎任何语言都能使用结构化程序设计技术来避免非结构化语言的通常陷阱。非结构化程序设计必须依赖于开发人员避免结构问题,从而导致程序组织较差。大多数现代过程式语言都鼓励结构化程序设计。

基本结构

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

顺序结构
顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。

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

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

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

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

设计方法

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

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

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

*使用goto语句 结构化程序设计方法的起源来自对GOTO语句的认识和争论。肯定的结论是,在块和进程的非正常出口处往往需要用GOTO语句,使用GOTO语句会使程序执行效率较高;在成程序目标时,GOTO语句往往是有用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
计算∫L√x^2+y^2ds,其中L为xoy平面上的圆周x^2+y^2=2x ∮√x^2+y^2ds(其中L为圆周x^2+y^2=ax)的值是多少? 高等数学,第一类曲线积分:计算√x^2 +y^2ds,其中L为圆周x2 +y2 =4x? 设L是圆周x^2+y^2=1在第一象限的部分,则曲线积分∫Lxy^2ds=? 计算∫根号下x^2+y^2ds,其中L为x=根号下a^2-y^2,y=x,y=0围成的闭... ∫l3xdx+2ydy= ,其中l为x²+y²=1的封闭曲 绝代双骄2江湖凶险 为什么我下的新绝代双骄前传不能玩? 大侠帮我过过新绝代双骄2的任务。 我的人类来源哪里?? 如果是猿猴,那猿猴来源哪里?? 在结构化程序设计中,程序由一些基本结构组成,任何一个复杂的程序都可以由三种基本的什么 什么叫结构化程序设计 在结构化程序设计中,模块划分的原则是什么? 结构化编程的原则 ios13.4.1为什么没有实况壁纸 如何设置苹果动态壁纸自动播放 ios13.3.1怎么设置自己喜欢的动态壁纸 iphone13怎么自定义动态壁纸 三星note3怎么设置4g网络? 三星note4为什么不能启用4g网 三星NotE4全网通怎样设置? 为什么三星note4连不上4g网? 三星note3 4G手机,这样才能把2G/3G网络关掉只用4G网络? 三星note4韩版,在国内如何使用4G?怎么设置? 三星note4网络设置 三星note4网络设置方法 三星note4 9109w如何设置4g网络 三星note4怎么用4g网络? 三星note4网络模式仅限2g怎么改成4g 电信三星note4怎么锁定4g 结构化设计方法的软件设计过程及原则 结构化程序的三种基本逻辑结构是什么? 苹果手机出厂原设置共有哪些软件? 苹果6手机里有什么自带软件? iphone11激活自带的软件都有哪些? 苹果手机自带app哪些 苹果手机自带软件有哪些 苹果手机有哪些很实用的自带App? 苹果13promax自带的软件是哪些? iphone必装的手机软件有哪些 苹果手机那些社交软件是自带的吗? 苹果手机下载东西的软件有哪些可以用? iphone8系统自带软件都有什么 苹果手机自带word软件叫什么? 苹果手机自带的软件都有什么功能? 三星s10能应用双开? 三星手机怎么微信双开或多开 S10是否支持应用分身? 三星s10自带有应用分身吗? amigoos4.0.5s.18(S10正式版)怎样同时开2个App