什么叫结构化程序设计

什么叫结构化程序设计,第1张

问题一:什么叫结构程序设计?它的主要内容是什么? 结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。

虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。

由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使处面向过程的方法来开发和维护都将非常困难

问题二:什么是结构化程序设计方法? 一个结构化程序就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、阅读、

修改和维护。这就减少了程序出错的机会,提高了程序的可靠性,保证了程序的质量。

结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。怎样才能得到一个结构化的程序呢如果我们面临一

个复杂的问题,是难以一下子写出一个层次分明、结构清晰、算法正确的程序的。结构化程序设计方法的基本思路是,把一个复

杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。

具体说,采取以下方法保证得到结构化的程序。

(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。

在接受一个任务后应怎样着手进行呢有两种不同的方法:一种是白顶向下,逐步细化;―种是自下而上,逐步积累。以写文章为

例来说明这个问题。有的人胸有全局,先没想好整个文章分成哪几个部分,然后再进一步考虑每一部分分成哪几节,每一节分成哪

几段,每一段应包含什么内容,用这种方法逐步分解,直到作者认为可以直接将各小段表达为文字语句为止。这种方法就叫做

“自顶向下,逐步细化”。

另有些人写文章时不拟提纲,如同写信一样提起笔就写,想到哪里就写到哪里,直到他认为把想写的内容都写出来了为止。

这种方法叫做“自下而上,逐步积累”。

显然,用第一种方法考虑周全,结构清晰,层次分明,作者容易写,读者容易看。如果发现某一部分中有一段内容不妥,需要修改

只需找出该部分,修改有关段落即可,与其他部分无关。我们提倡用这种方法设计程序。这就是用工程的方法设计程序。

我们应当掌握自顶向下、逐步细化的设计方法。这种设计方法的过程是将问题求解由抽象逐步具体化的过程。

用这种方法便于验证算法的正确性,在向下一层展开之前应仔细检查本层设计是否正确,只有上一层是正确的才能向下细化。

如果每一层设计都没有问题,则整个算法就 正确的。由于每一层向下细化时都不太复杂,因此容易保证整个算法的正确性检查

时也是由上而下逐层检查,这样做,思路清楚,有条不紊地一步一步进行,既严谨又方便。

举一个例子来说明这种方法的应用。

例 将1到1000之间的素数打印出来。

我们已在本章中讨论过判别素数的方法,现在采用“筛法”来求素数表。所谓“筛法”指的是“埃拉托色尼(Eratosthenes)筛法”

他是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到1000全部整数,然后逐个判断它们是否素数,找出一个非素数,就

把它 挖掉,最后剩下的就是素数

具体作法如下:

(1) 先将1挖掉(因为1不(2) 是素数)。

(3) 用2去除它后面的各个数,(4) 把能被2整除的数挖掉,(5) 即把2 的倍(6) 数挖掉。

(7) 用3去除它后面各数,(8) 把3的倍(9) 数挖掉

(10) 分别用4、5…各数作为除数去除这些数以后个各数。这个过程一直进行到除数后面的数已全被挖掉为止。

上面的算法可表示为:

(1) 挖去1;

(2) 用刚才被挖去的数的下一个数p去除p后面各数,(3) 把p的倍(4) 数挖掉;

(5) 检查p是否小于√n的整数部分(如果n=1000,(6) 则检查p∠31?),(7)如果是则返回(2)继续执行,(8)否则

就结束;

(9) 之上盛夏的数就是素数。>>

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

中文名:结构化程序设计

外文名:structured programming

提出人:EWDijikstra

时间:1965年

分享

概述

概念

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

内容

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

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

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

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

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

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

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

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

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

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

(4) 主程序员组。

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

模型

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

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

基本结构

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

顺序结构

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

选择结构

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

循环结构

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

当型循环:表示先判断条件,当满足给定的>>

问题四:结构化程序设计的三种基本结构是什么。各有什么特点 顺序结构、分支结构、循环结构

顺序结构就是从头到尾一次执行每一个语句

分支结构根据不同的条件执行不同的语句或者语句体

循环结构就是重复的执行语句或者语句体,达到重复执行一类 *** 作的目的

问题五:什么是结构化程序设计 结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效更容易。结构化程序设计的三种基本结构是:顺序结构、选择结构和循环结构。结构化程序设计曾被称为软件发展中的第三个里程碑。结构化程序设计通常使用自上往下的设计模型,开发员将整个程序结构映射到单个小部分。当型循环:表示先判断条件,当满足给定的条件时执行循环体,并且在循环终端处流程自动返回到循环入口;如果条件不满足,则退出循环体直接到达流程出口处。

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

问题七:结构化程序设计的目的构成与方法 结构化程序设计的目的:通过设计结构良好的程序,以程序静态的良好的结构保证程序动态执行的正确性,使程序易理解、易调试、易维护,以提高软件开发的效率,减少出错率。构成:控制结构+数据结构,控制结构有顺序、选择、循环结构。方法:模块丁,自顶向下,自底向上。

问题八:结构化与非结构化程序的区别? 结构化就是把整体分布,把每部分都解决

问题九:什么叫结构化程序设计?它的主要内容是什么? 结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。

虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。

由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使处面向过程的方法来开发和维护都将非常困难

问题十:什么是结构化程序设计方法? 一个结构化程序就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、阅读、

修改和维护。这就减少了程序出错的机会,提高了程序的可靠性,保证了程序的质量。

结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。怎样才能得到一个结构化的程序呢如果我们面临一

个复杂的问题,是难以一下子写出一个层次分明、结构清晰、算法正确的程序的。结构化程序设计方法的基本思路是,把一个复

杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。

具体说,采取以下方法保证得到结构化的程序。

(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。

在接受一个任务后应怎样着手进行呢有两种不同的方法:一种是白顶向下,逐步细化;―种是自下而上,逐步积累。以写文章为

例来说明这个问题。有的人胸有全局,先没想好整个文章分成哪几个部分,然后再进一步考虑每一部分分成哪几节,每一节分成哪

几段,每一段应包含什么内容,用这种方法逐步分解,直到作者认为可以直接将各小段表达为文字语句为止。这种方法就叫做

“自顶向下,逐步细化”。

另有些人写文章时不拟提纲,如同写信一样提起笔就写,想到哪里就写到哪里,直到他认为把想写的内容都写出来了为止。

这种方法叫做“自下而上,逐步积累”。

显然,用第一种方法考虑周全,结构清晰,层次分明,作者容易写,读者容易看。如果发现某一部分中有一段内容不妥,需要修改

只需找出该部分,修改有关段落即可,与其他部分无关。我们提倡用这种方法设计程序。这就是用工程的方法设计程序。

我们应当掌握自顶向下、逐步细化的设计方法。这种设计方法的过程是将问题求解由抽象逐步具体化的过程。

用这种方法便于验证算法的正确性,在向下一层展开之前应仔细检查本层设计是否正确,只有上一层是正确的才能向下细化。

如果每一层设计都没有问题,则整个算法就 正确的。由于每一层向下细化时都不太复杂,因此容易保证整个算法的正确性检查

时也是由上而下逐层检查,这样做,思路清楚,有条不紊地一步一步进行,既严谨又方便。

举一个例子来说明这种方法的应用。

例 将1到1000之间的素数打印出来。

我们已在本章中讨论过判别素数的方法,现在采用“筛法”来求素数表。所谓“筛法”指的是“埃拉托色尼(Eratosthenes)筛法”

他是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到1000全部整数,然后逐个判断它们是否素数,找出一个非素数,就

把它 挖掉,最后剩下的就是素数

具体作法如下:

(1) 先将1挖掉(因为1不(2) 是素数)。

(3) 用2去除它后面的各个数,(4) 把能被2整除的数挖掉,(5) 即把2 的倍(6) 数挖掉。

(7) 用3去除它后面各数,(8) 把3的倍(9) 数挖掉

(10) 分别用4、5…各数作为除数去除这些数以后个各数。这个过程一直进行到除数后面的数已全被挖掉为止。

上面的算法可表示为:

(1) 挖去1;

(2) 用刚才被挖去的数的下一个数p去除p后面各数,(3) 把p的倍(4) 数挖掉;

(5) 检查p是否小于√n的整数部分(如果n=1000,(6) 则检查p∠31?),(7)如果是则返回(2)继续执行,(8)否则

就结束;

(9) 之上盛夏的数就是素数。>>

计算机系统开发的流程如图所示:

计算机系统开发步骤包括:

1、制定开发计划,根据用户对系统功能的要求和业务管理的需要,在充分分析当前省级界线信息管理系统开发和设计的技术与平台的基础上,确定本系统的技术方案和开发计划,为系统的建设和实施提供一个基本的概要方案。

2、系统调研与需求分析,调研考察与用户需求分析是系统设计成功的关键,这个过程就是客户将系统要完成的工作描述给系统设计者;另外,客户的业务流程要描述给系统设计者。从技术角度为客户提高系统的档次。总之,客户与系统设计者要充分交流思想,最后要达成一致。

3、功能设计,在系统需求调研分析的基础上,对系统的功能进行设计、组织和安排,确定系统中各项业务功能的具体实施情况,以及每项功能需要实现的具体内容。

4、系统设计,系统设计的主要任务包括系统组织结构设计、系统数据库设计、系统功能和实现方式的设计、系统用户界面设计等,也包括系统应用中的软硬件结构组织设计。

5、系统编码与实现,系统的设计书是一种可 *** 作性描述,接下来就是根据该设计书的数据结构及软件流程进行程序编码;同时要对系统软件进行采购以便建立起相应的开发环境。完成系统服务器的配置和应用服务的启动,保证系统的正常运行。

6、集成阶段,当各子系统样机已实现并经测试后,这些样机必须组合到一起成为一个完整的可运行的系统。

扩展资料

开发一种能提供期望服务的高可信计算机系统是一个复杂的工程化过程,通常包括需求、 设计、 实现、 集成四个阶段为使系统达到期望的可信程度。

计算机系统可信性是描述系统所提交服务的性质的一种定性量度,用于表征系统可提交用户有足够理由依赖的期望服务能力。

系统提交的服务是指所有由用户察觉到的系统行为,可信性作为一种定性量度需根据不同应用来对其属性具体化或定量化。

典型的可信性定性/定量量度包括:可靠度、可用度、安全度。可维修度、可测性、完整性等。

参考资料来源:百度百科-计算机系统开发

#include<stdioh> //链接标准头文件

#define N 10 //定义常量N并赋值为10

void main() //主函数入口

{ //表示主函数开始

int i,j; //定义整形变量i和j

int grade[N],temp; //定义N维(N=10,也就是十维啦^^)整形数组和整形变量temp

printf("输入10个数\n"); //在屏幕上显式“输入10个数”并且换行

for(i=0;i<N;i++) //开始for循环,从i=0,每次加1,直到i=9,共需循环10次

{ //循环体开始

scanf("%d",&grade[i]); //依次获取用户输入的整数值并存入数组grade中

} //循环结束

for(i=0;i<N;i++) //开始外层for循环,从i=0,每次加1,直到i=9

{ //外层循环体开始

for(j=0;j<N-1-i;j++) //开始外层for循环,从j=0,每次加1直到i等于外层循环的N-j-1

{ //内层循环体开始

if(grade[j]>grade[j+1]) //条件判断

{ //如果整形数组前面的数比其后的大,执行以下语句

temp=grade[j+1]; //将比较小的数赋值给temp

grade[j+1]=grade[j]; //将比较大的数赋值给数组中后面的变量

grade[j]=temp; //将比较小的数赋值给数组中前面的变量

} //从此便完成大小变量的交换,使得小值往前放

} //结束内层循环

} //结外内层循环,完成排序

printf("最后排序为:\n");//在屏幕显式“最后排序为:”并换行

for(i=0;i<N;i++) //同开始的for循环类似

{ //开始循环输出

printf("%d",grade[i]); //只是这里要逐个输出数组中的十个数值

} //结束循环输出

printf("最小值为%d\n",&grade[0]);

printf("最大值为%d\n",&grade[9]);

printf("\n"); //输出换行到屏幕,看不到什么效果,可删掉

} //结束main()函数

流程设计应考虑的基本因素有:

1、材料:不同的材料有不同的加工处理方法。

2、工艺:不同产品的工艺要求各异,流程设计也不同。

3、设备:生产设备的水平决定了流程的自动化水平。

4、人员和资金:人员的技术水平和必要的资金影响生产的过程、质量和周期,是进行流程设计必须考虑的主要因素。

5、环境:生产过程对环境的污染以及环境对生产的反作用,是流程设计时应关注的重要因素。

“面向过程”是一种以过程为中心的编程思想。 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

过程

面向过程其实是最为实际的一种思考方式,就是算面向对象的方法也是含有面向过程的思想可以说面向过程是一种基础的方法它考虑的是实际的实现一般的面向过程是从上往下步步求精所以面向过程最重要的是模块化的思想方法对比面向对象,面向对象的方法主要是把事物给对象化,对象包括属性与行为当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织比如拿学生早上起来的事情来说说这种面向过程吧粗略的可以将过程拟为: (1)起床 (2)穿衣 (3)洗脸刷牙 (4)去学校 而这4步就是一步一步的完成,它的顺序很重要,你只须一个一个的实现就行了而如果是用面向对象的方法的话,可能就只抽象出一个学生的类,它包括这四个方法,但是具体的顺序就不能体现出来

以上就是关于什么叫结构化程序设计全部的内容,包括:什么叫结构化程序设计、计算机系统开发流程以及步骤!、C语言程序设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9501643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存