结构化程序设计篇1
摘要:C语言是一种很好的结构化程序设计语言;结构化程序设计方法可以概括为自顶向下、逐步求精、模块化、限制使用goto语句,将原来较为复杂的问题化简为一系列简单模块的设计;一个程序的任何逻辑问题均可用顺序结构、选择结构和循环结构这3种基本结构来描述。
关键词:结构化程序设计;顺序结构;选择结构;循环结构;算法
中***分类号:TP311文献标识码:B文章编号:1009-9166(2010)023(C)-0084-01
当前,计算机技术飞速发展,程序设计技术已从结构化程序设计技术向面向对象程序设计技术过渡,对一个规模较大的应用程序,总体框架是由面向对象程序设计构搭而成,而在局部实现时仍需采用结构化程序设计技术。C语言是一种很好的结构化程序设计语言,因此,笔者论述了C中的的结构化程序设计的方法。
结构化程序设计(STRUCTURED PROGRAMING,简称SP)的概念是由荷兰学者E•W.DUKSTRA等人在20世纪60年代后期提出的,是以模块化设计为中心,将原来较为复杂的问题化简为一系列简单模块的设计,也就是将―个大的计算任务划分为一个个比较小的任务,这些小任务均由函数来完成。而函数既可以是C的标准库函数。也可以是自定义函数。在C中,一个具备一定规模的C程序往往是由多个函数组成,其中必有一个名为main的主函数,由main来调用其他函数,必要的话,其他函数还可以调用另外的函数。同一函数可以被一个或多个函数调用一次或多次。模块的***性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。
结构化程序设计的思想是一个程序的任何逻辑问题,均可用顺序结构、选择结构和循环结构这3种基本结构来描述。顺序结构的程序流程是按语句的书写顺序依次执行;选择结构是对给定条件进行判断,根据判断结果决定执行两分支中的一个分支或多分支中的一个分支;循环结构是在给定条件成立的情况下,反复执行某个程序段。实现这些程序流程的语句都是流程控制语句。流程控制语句在程序设计中起着重要的作用,通过3种基本控制结构使结构化程序具有唯一的人口和出口,没有死循环,而且程序的静态形式与动态执行形式之间具有良好的对应关系。在C语言中,有4种语句是顺序执行的:1、空语句,光有一个分号“;”作为语句结束符,它表示什么也不做。2、表达式语句,表达式后面加一个分号,表达式语句主要有赋值语句、自加减运算符构成的语句和逗号表达式语句。3、函数调用语句,它是由一个函数调用加上一个分号组成的。4、复合语句,由“{”和“}”把一些变量说明和语句组合放在一起,又称为语句块。选择语句有if语句和switch语句。循环语句有for,while和do-while语句以及一些辅助流程转向语句如continue,break,goto等。顺序结构,选择结构和循环结构共同作为各种复杂程序的基本构造单元,由这3种结构经过反复嵌套构成的程序称为结构化程序,也就是说,结构化程序是由上述3种基本结构组成的。但如果在编程过程中无限制地使用转移语句(goto),会使程序的控制流程强制性地向前或向后跳转而导致程序的流程无序可循,结构杂乱无章。结构化构造减少了程序的复杂性,提高了可靠性、可测试性和可维护性,使用少数的基本结构,就可使程序逻辑结构清晰,易读易懂,并且容易验证程序的正确性。对―个初学计算机语言的人来说。最重要的就是要有正确的程序流程概念,不仅要懂得而且要灵活应用。由此可见,用结构化方法设计的结构是清晰的,有利于编写出结构良好的程序。因此。结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句。将程序设计针对的问题进行分解,直到分解到对应于一个个功能更简单,又***的模块,每个模块再分解到上述3种基本程序结构。
实质上,结构化程序设计主要强调的是程序。程序=算法+数据结构+程序设计方法+语言工具和环境,其中算法是灵魂。是解决“做什么”和“怎么做”的问题;数据结构是加工对象;语言是工具;编程需要采用合适的方法。具体解决问题包含的步骤:1、分析问题,找出解决问题的模型;2、根据模型设计出适合计算机特点的处理方法即算法;3、进行编程程序,以实现算法;4、上机编辑(.c)、编译(.obj)、连接(.exe)、运行所编制的程序,直到得出正确结果;5、对结果进行分析,整理出文字材料。
现在人们已经认识到,程序设计的任务不只是编写出一个能得到正确结果的程序,还应考虑程序的质量。否则将会使程序质量低下、可靠性差、开发周期长、维护费用高,这也就是我们平常说的“软件危机”,它会严重阻碍计算机应用的发展。由于大多高级语言都支持结构化程序设计方法,其语法上都含有表示3种基本结构的语句,所以用结构化程序设计方法设计的模块结构到程序的实现是直接转换的,只需用相应的语句结构代替标准的控制结构即可。
作者单位:徐州空***学院基础部
结构化程序设计篇2
摘要:c语言是一种很好的结构化程序设计语言;结构化程序设计方法可以概括为自顶向下、逐步求精、模块化、限制使用goto语句,将原来较为复杂的问题化简为一系列简单模块的设计;一个程序的任何逻辑问题均可用顺序结构、选择结构和循环结构这3种基本结构来描述。
关键词:结构化程序设计;顺序结构;选择结构;循环结构;算法
当前, 计算 机技术飞速 发展 ,程序设计技术已从结构化程序设计技术向面向对象程序设计技术过渡,对一个规模较大的应用程序,总体框架是由面向对象程序设计构搭而成,而在局部实现时仍需采用结构化程序设计技术。c语言是一种很好的结构化程序设计语言,因此,笔者论述了c中的的结构化程序设计的方法。
结构化程序设计(structured programing,简称sp)的概念是由荷兰学者e·w.dukstra等人在20世纪60年代后期提出的,是以模块化设计为中心,将原来较为复杂的问题化简为一系列简单模块的设计,也就是将—个大的计算任务划分为一个个比较小的任务,这些小任务均由函数来完成。而函数既可以是c的标准库函数。也可以是自定义函数。在c中,一个具备一定规模的c程序往往是由多个函数组成,其中必有一个名为main的主函数,由main来调用其他函数,必要的话,其他函数还可以调用另外的函数。同一函数可以被一个或多个函数调用一次或多次。模块的***性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。
结构化程序设计的思想是一个程序的任何逻辑问题,均可用顺序结构、选择结构和循环结构这3种基本结构来描述。顺序结构的程序流程是按语句的书写顺序依次执行;选择结构是对给定条件进行判断,根据判断结果决定执行两分支中的一个分支或多分支中的一个分支;循环结构是在给定条件成立的情况下,反复执行某个程序段。实现这些程序流程的语句都是流程控制语句。流程控制语句在程序设计中起着重要的作用,通过3种基本控制结构使结构化程序具有唯一的人口和出口,没有死循环,而且程序的静态形式与动态执行形式之间具有良好的对应关系。在c语言中,有4种语句是顺序执行的:①空语句,光有一个分号“;”作为语句结束符,它表示什么也不做。②表达式语句,表达式后面加一个分号,表达式语句主要有赋值语句、自加减运算符构成的语句和逗号表达式语句。③函数调用语句,它是由一个函数调用加上一个分号组成的。④复合语句,由“{”和“}”把一些变量说明和语句组合放在一起,又称为语句块。选择语句有if语句和switch语句。循环语句有for,while和do-while语句以及一些辅助流程转向语句如continue,break,goto等。顺序结构,选择结构和循环结构共同作为各种复杂程序的基本构造单元,由这3种结构经过反复嵌套构成的程序称为结构化程序,也就是说,结构化程序是由上述3种基本结构组成的。但如果在编程过程中无限制地使用转移语句(goto),会使程序的控制流程强制性地向前或向后跳转而导致程序的流程无序可循,结构杂乱无章。结构化构造减少了程序的复杂性,提高了可靠性、可测试性和可维护性,使用少数的基本结构,就可使程序逻辑结构清晰,易读易懂,并且容易验证程序的正确性。对—个初学计算机语言的人来说。最重要的就是要有正确的程序流程概念,不仅要懂得而且要灵活应用。由此可见,用结构化方法设计的结构是清晰的,有利于编写出结构良好的程序。因此。结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句。将程序设计针对的问题进行分解,直到分解到对应于一个个功能更简单,又***的模块,每个模块再分解到上述3种基本程序结构。
实质上,结构化程序设计主要强调的是程序。程序=算法+数据结构+程序设计方法+语言工具和环境,其中算法是灵魂。是解决“做什么”和“怎么做”的问题;数据结构是加工对象;语言是工具;编程需要采用合适的方法。具体解决问题包含的步骤:①分析问题,找出解决问题的模型;②根据模型设计出适合 计算 机特点的处理方法即算法;③进行编程程序,以实现算法;④上机编辑(.c)、编译(.obj)、连接(.exe)、运行所编制的程序,直到得出正确结果;⑤对结果进行分析,整理出文字材料。
现在人们已经认识到,程序设计的任务不只是编写出一个能得到正确结果的程序,还应考虑程序的质量。否则将会使程序质量低下、可靠性差、开发周期长、维护费用高,这也就是我们平常说的“软件危机”,它会严重阻碍计算机应用的 发展 。由于大多高级语言都支持结构化程序设计方法,其语法上都含有表示3种基本结构的语句,所以用结构化程序设计方法设计的模块结构到程序的实现是直接转换的,只需用相应的语句结构代替标准的控制结构即可。
结构化程序设计篇3
【摘要】随着我国科研竞争实力的不断提升,涉及单片机技术开始得到大范围推广沿用。须知此类设备型号类别繁杂,特别是在编程规则方面,主张使用多汇编语言,至此相关程序通用、移植,以及维护性能条件等,都产生本质性的变化结果。因此,笔者决定联合现阶段我国结构化程序设计理念,进行既有单片机汇编语言的结构化程序设计方案系统化制定实施,希望能够借此为相关工作人员,提供相对可观的指导性建议。
【关键词】单片机;汇编语言;结构化程序;设计方案;验证解析
作者简介:冯珊珊(1981—),女,辽宁辽阳人,辽宁建筑职业学院应用电子专业讲师
前言
单片机亦被称作是微型控制器,在国际范围内的单位年限产量,已然超过70亿片。事实上,此类媒介不管是在***事或是民用行业范畴下,都已经得到广泛认可和大力改造传承。尤其随着我国市场经济体制和科研实力的有机改善,单片机硬件技术开始趋近于成熟形态,相关技术研发人员也开始将自身核心注意力,转投到软件层面之上。具体来讲,单片机汇编语言非自然化特征显著,从阅读到理解上来讲都不够简易,并且各类企业、型号单片机使用的汇编语言各异,编程技术人员不得不潜心开展软件功能解析事务,透过软件工程视角验证解析汇编语言编程结构的几率不大。所以,此类软件程序的通用、可移植、维护性能等,长期以来处于萎靡之势。
1单片机汇编语言结构化程序设计内涵机理的细致性研究
结构化程序设计工作,主张借助自上而下且精益求精的方式,进行单入口单出口控制结构舒展,包括顺序、选择、重复三类逻辑构造单元,即便是再过复杂的问题,也能够在其支持下,被细化分解为多个模块集结而成的软件系统。技术人员在开展单位模块功能编码事务期间,往往会使用较高级的语言,尽量规避一类无条件跳转语言的出现。需要额外加以强调的是,其核心动机并非在于单纯地进行语句去除,相对应地是期望开辟一种全面创新的程序设计路径,尽量提升该类软件的编程制备实效,将最终软件维护代价降到最低范畴之内。尽管说汇编语言非结构特征显著,可是只要技术人员能够熟练地掌握结构化编程的处理规则,汇编语言结构化程序的改造目标,依然会得以实现。有关具体细节内容如下所示:
1.1软件结构层面
实际上就是程序依托的系统结构单元,可以顺势定位为一类控制层次体系。其和软件工程有着本质性区别,对于过程中的处理、判定,以及操作细节关注度不高。大多数情况下其可以自由分解,基本上依照自上而下的顺序加以分配控制,整体设计指标就此简化,现场测试水准大幅度提升,方便在今后选取一种更加有效的方式加以维护管理。
1.2模块化及其***性层面
模块作为软件结构的基础元素,可以进行单独命名编址,结构化程序中运用此类媒介的核心动机在于,时刻降低软件自身机理的复杂深入隐患,确保最终开放的软件,不管是在功能测试、调度或是后期维护上,都变得简单便利。至于模块的大小或是数量多少,主要凭借其固有功能和应用需求而定,技术人员要做的便是,在分析此种结构环节中,尽量规避不必要的超量模块化危机。至于模块***性,可以认定是模块化抽象与信息隐蔽机理下的标志性产物,主要利用内聚和耦合两类定性指标,加以清晰化度量。
1.3信息隐蔽和抽象性层面
所谓信息隐蔽,就是说在设计确认特定模块过程中,往往不能回访内部蕴藏的数据,即便是进行交互式沟通,也仅仅使用一些软件功能必须的信息内容。长此以往,在进行特定软件测试和维护期间,衍生出的错误效应,便不会过度扩散到软件内部其余部分之上。而抽象,则集中阐述软件结构的分解描述细节,任何细微变化结果,都会促使软甲结构分解力度的不断加深,持续到源代码产生过后,证明抽象级别已然达到最低级别。
1.4设计规则层面
第一,竭尽全力调试软件结构,确保内部模块***性能得以系统化提升。事实上,经过模块的适当分解与融合,最终的目标便是使用标准数据进行内聚提升、耦合降低。第二,模块规模不宜过大,并且单位模块内部大约蕴藏着50~100行源程序。第三,高扇出结构数目要尽量予以缩减,随着深度递增,扇入需求才自然同步增长。第四,模块的功用范畴,时常维系在其或是下属等级模块的控制范畴之中。第五,集中一切技术手段,降低模块接口的复杂程度,确保信息传递流程的简易以及模块功能的一致性。第六,单入单出口模块的精心设计补充,确保任何创新功能,都能够得到精准预测。
2日后单片机汇编语言结构化程序设计方案的科学化验证解析
结合以往实践性经验加以整理判定,有关创新样式的单片机汇编语言结构化程序设计流程具体表现为:首先,时刻彰显数据采集、处理加工和传递功用特征,因为其对外部控制功能不多,因此模块的设计和抽象表现过程,就可以利用数据流作为核心,加以运行操作。其次,加大对设备的控制力度,此时数据的传输和处理工作不多,以此确保日后结构化程序设计过程,能够时刻以功能控制为核心动机。就像是目前广泛流行的借助实际工作内部简单案例,进行单片机汇编语言结构化设计思路展示的思路,其中一体化金额显示终端,可以认定是高速公路收费系统内部的一类支撑单元,其关键性存在意义,基本上是透过串口进行主流控制计算机信号接收,进而使得收费车道通行灯、声光报警装置、通行卡剩余金额等得以灵活显示回应,其便可以在第一时间内借助语音播放系统,向广大驾驶人员阐述公路收费金额、通行车辆型号,或是其余文明语言等信息。毕竟透过主体控制计算机传输的数据,无法进行直接管理,因此数据转换工序流程显得极为必要。
为了尽量缩减既有存储空间,语音芯片之中会设定单元语音,需要技术人员在播放资料过程中及时加以衔接。一旦说芯片在上述环节中产生任何干扰或是操作错误迹象,便会快速溢出,此时最佳选择便是借助特定程序加以复位调整,同时在金额显示不能获取清零指示状况之下,仍需人员手工定时进行清零处理。另一方面,汇编语言和面向对象语言有着本质性区别,不过技术人员可以考虑引入面向对象工作模式,确保其在编程工作环节中信息传递的清晰度。实际上面向对象程序运行的框架属于事件驱动模式,就是说在程序快速运行期间,如若系统内部滋生任何一类事件,固定应用软件会自动调用并处理。可以说它将消息分发机制融会贯通,就是说消息模版产生外部或是内部事件时,相关消息内容便会同步在消息模板映射出来,方便技术人员查询根源或是激发其余相关部件。因此,日后技术人员在进行单片机汇编程序编写环节中,第一要务便是建立起某类固定样式的内存空间,以此作为消息模板,将整个过程中曾经出现的事件信息一一记录,确保每接收到一个消息就立即进行内存变量修改,同时依次判定消息的状态,如若证明其接收到某类信息,则快速启动对应事件调度处理进程。
3结语
综上所述,笔者经过对单片机汇编语言结构化程序设计方案细致性研究,发现在开展先进程序引入事务过程中,特别是在结构分析理论支持下,使得原本复杂深入的单片机汇编程序,得以适当的简化。这对于单片机软件工程长远化发展,有着极为特殊的辅助价值,希望相关工作人员能够多加改良利用。
参考文献
[1]颜见明.浅谈结构化程序设计(上)[J].可编程控制器与工厂自动化,2010,16(10):145-153.
[2]张海***.单片机应用系统结构化程序设计方法与实现[J].内蒙古农业大学学报(自然科学版),2010,22(01):79-83.
[3]郭凤英.汇编语言程序设计课程教学改革与实践[J].中国教育技术装备,2012,15(03):147-158.
作者:冯珊珊 单位:辽宁建筑职业学院
转载请注明出处学文网 » 结构化程序设计范文精选