c3顺序结构程序设计.ppt
《c3顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《c3顺序结构程序设计.ppt(39页珍藏版)》请在三一文库上搜索。
1、第三章 顺序结构程序设计,1 利用计算机解决实际问题的步骤,2 算法的概念,3 结构化程序设计,本章内容,4 C+语句,5 C+的输入与输出,6 顺序结构程序设计,1 利用计算机解决实际问题的步骤,算法分析,最有效的方法,问题,选择实现语言,运行程序,分析、论证,算法流程,结束,测试程序,2 算法的概念,一、算法的概念,程序,对数据的描述:在程序中要指定数据的类型和数据 的组织形式,即数据结构,对操作的描述:即操作步骤,也就是算法,算法:为解决一个问题而采取的方法和步骤,称为“算法” 它是程序设计的灵魂,是解决“做什么”和“怎么做”的 问题,处理的对象是数据,2 算法的概念,二、算法的特性,1
2、、有穷性 2、确定性 3、有效性/可行性 4、有零个或多个输入 5、有一个或多个输出,2 算法的概念,三、算法的表示,自然语言表示法 传统流程图表示法 NS结构化流程图 伪代码 PAD图等,2 算法的概念,三、算法的表示,1、自然语言表示法 例:对于一个大于等于3的正整数,判断其是否素数 算法如下: S1:输入n的值 S2:i2作为除数 S3:n被i除,得余数r S4:如果r0,表示n能被i整除,则打印“不是素数”,算法结束; 否则,继续下一步 S5:i1i S6:如果in1,返回执行S3;否则,打印“是素数”,算法结束,2 算法的概念,三、算法的表示,2、传统流程图表示法,传统流程图表示前例
3、,2 算法的概念,三、算法的表示,3、算法的三种基本结构,Bohra和Jacopini提出了以下三种基本结构: 顺序结构、选择结构、循环结构 用这三种基本结构作为表示一个良好算法的基本单元。,顺序结构,选择结构,三种基本结构,当型(While型)循环,直到型(Until型)循环,三种基本结构,三种基本结构的共同特点:,2 算法的概念,三、算法的表示,3、算法的三种基本结构,(1)只有一个入口; (2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。) (3)结构内的每一部分都有机会被执行到; (4)结构内不存在“死循环”(无
4、终止的循环)。,2 算法的概念,三、算法的表示,3、NS结构化流程图,1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其它的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图又称N-S结构化流程图 。,N-S流程图用以下的流程图符号:,(1)顺序结构,(2)选择结构,(3)直到型循环,(3)当型循环,N-S图表示算法的优点,比文字描述直观、形象、 易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N-S流程图中的上
5、下顺序就是执行时的顺序。用N-S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。,3 结构化程序设计,一个结构化程序 就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、便于阅读、便于修改和维护。 结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。 结构化程序设计方法的基本思路是:把一个复杂问题的求解过程 分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。,结构化程序设计方法,采取以下方法来保证得到结构化的程序: 自顶向下; 逐步细化; 模块化设计; 结构化编码。,两种不同的方法
6、: 自顶向下,逐步细化; 自下而上,逐步积累。,自顶向下,逐步细化方法的优点: 考虑周全,结构清晰,层次分明,作者容易写,读者容易看。如果发现某一部分中有一段内容不妥,需要修改,只需找出该部分修改有关段落即可,与其它部分无关。我们提倡用这种方法设计程序。这就是用工程的方法设计程序。,模块设计的方法: 模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务就相对简单了。 在拿到一个程序模块以后,根据程序模块的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,还再可以划分为更小的模块。这个过程采用自顶向下方法来实现。 子模块一般不超过50行 划分子模块时应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c3 顺序 结构 程序设计
链接地址:https://www.31doc.com/p-2089922.html