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

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

发布网友 发布时间:2022-05-02 18:13

我来回答

1个回答

热心网友 时间:2022-06-21 04:44

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

中文名:结构化程序设计
外文名: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
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... servlet连接不上sql数据库 怎么不用ssid登录开放式的隐藏wifi? 做什么运动能瘦身、是那种家里做得运动,详细 29号北京首都机场海航hu7811次航班在哪个候机楼登机 海南航空HU7975 在北京什么机场登机? 需要转机的国际航班中途需不需要拿行李 北京的海南航空在哪个航站楼 北京首都机场有海南航空机票购买吗? 我在北京转机买的是南方航空和海南航空需要注意什么? 从北京做海南航空到乌鲁木齐,海南航空公司要核酸检测报告吗? 海南航空HU7855 坐飞机流程 首都机场海航的电子客票柜台在什么位置?怎么登机? 北京 海南航空 提前多久办登机 首都机场海航的航班都是在T2登机吗? 自己一个人做飞机的注意事项,和登机的程序(从北京至波士顿,在西雅图转机) 11月22日早上7点55分从北京首都机场坐海航的HU7245航班在几号航站楼办理登机手续,怎样登机,谢谢。 第一次坐飞机在首都机场HU7277,到机场后应该怎么做? 真的可以淡斑吗?可以治红血丝吗? 有红血丝,还有黄褐斑,怎么治疗 脸颊长黄斑,还有红血丝 什么产品可以祛斑去红血丝的方法吗?有朋友推荐我用唯诺雅的水乳,可以吗? 求一加8手机壳的推荐,轻薄一点的? 联想s658t手机壳跟什么牌子的手机壳通用 联想a738t和a788t有啥区别 联想a678t手机壳跟哪个型号手机壳通用 联想a658t手机壳和那个相似 这个手机壳上的是个什么人物?怎么搜这个样子的联想a808t的手机壳 联想a678t能用a850的手机套么 联想A798T手机壳多少钱? 国外专门为苹果设计的防爆手机壳.T开头的 显示为了我的账号安全,此不能登陆网页微信是为什么啊? 求助:为了你的帐号安全,此已不允许登录网页微信。 为了你的帐号安全,此不能登录网页微信 为什么说我的不能登录网页版微信?- 问一问 为什么说我的不能登录网页版微信? 为啥不能登录网页版微信? 海运一切险 保险费率 为了你的帐号安全,新注册的不能登录网页微信怎么回事? 车子不知道什么时候被刮了可以报保险吗 为什么不能登录网页版 维生素e与番茄红素哪个好