c语⾔传统流程图ab数据互换,C语⾔课件第⼆章算法与程序的
设计基础.pptx
流程图转换为ns图
C语⾔课件第⼆章算法与程序的设计基础.pptx
C语⾔程序设计第⼆章算法与程序设计基础 本章要点 什么是算法(了解) 如何设计和表⽰算法(掌握,重难点) 结构化程序设计的思想和⽅法(理解)2.1 算法概述1. 算法的概念 解决问题确定的⽅法和有限的步骤称作为算法。 规则的有限集合,是对特定问题的求解步骤的⼀种逻辑描述 特点:有穷性、确定性、可⾏性、有0或多个输⼊,⾄少有⼀个输出共 32 页 第 页①将蓝瓶中的⿊墨⽔装⼊⽩瓶中②将⿊瓶中的蓝墨⽔装⼊蓝瓶中③将⽩瓶中的⿊墨⽔装⼊⿊瓶中④交换结束共 32 页 第 页2. 算法的常⽤表⽰⽅法可以⽤不同的⽅法表⽰算法,常⽤⽅法有:⾃然语⾔传统流程图结构化流程图 共 32 页 第 页程序流程图表⽰传统流程图⽤流程线指出各框的执⾏顺序,对流程线的使⽤没有严格限制。开始1 ? s;t=>1;输⼊ns*t=>s;t+1=>t成⽴t<=n不成⽴输出s结束共 32 页 第 页传统流程图的流程可以是:缺点:使⽤者可以毫不受限制地使流程随意地转向,使流程图变得毫⽆规律,难以阅读、修改,使算法的可靠性和可维护性难以保证。解决办法:必须限制箭头的滥⽤,即不允许⽆规律地使流程随意转向,只能顺序的进⾏下去。 共 32 页 第 页(3)N–S流程图N—S流程图 由美国学者I.Nassi和
B.Shneiderman提出表⽰算法的图形⼯具。基本单元是矩形框,⽤不同的形状线分割,表⽰三种结构。只
有⼀个⼊⼝,⼀个出⼝, 流程没有线。共 32 页 第 页1?s,1?t,输⼊ns*t=>st+1?t 直到 t>n输出 s 的值程序流程图表⽰ n!开始1 ? s;t=>1;输⼊ns*t=>s;t+1=>t成⽴t<=n不成⽴输出s结束共 32 页 第 页语句1语句2AB程序的三种基本结构1.顺序结构 程序按照语句的书写次序顺序执⾏。 N-S流程图传统流程图 先执⾏A操作,再执⾏B操作,两者是顺序执⾏关系。共 32 页 第 页例 求华⽒温度100F对应的摄⽒温度开始F=100C=5*(F-32)/9输出 F, C结束计算公式:C=5*(F-32)/9 #include main() { int F, C; F=100; C= 5*(F-32)/9.0; printf("F= %d ,C= %f \n", F,C) ; }共 27 页 第 页2.选择结构 不成⽴条件 PTF语句 成⽴语句 2.选择结构 通过判断特定条件,选择⼀个分⽀执⾏。N-S流程图传统流程图当P条件成⽴时,执⾏语句操作,否则跳过语句操作共 32 页 第 页 成⽴P不成⽴ AB2.选择结构条件TF语句1 语句2N-S流程图传统流程图当P条件成⽴时,执⾏A操作,否则执⾏B操作共 32 页 第 页不成⽴ P成⽴ A 3. 循环结构 在给定条件下,反复执⾏循环体,直到条件不满⾜为⽌.(1)形式a(当型循环结构)当满⾜条件P时循环体AN-S流程图传统流程图当P条件成⽴时,反复执⾏A,直到P为零为⽌。共 32 页 第 页A成⽴P不成⽴ (2)形式b (直到型循环结构)循环体A 直到条件P成⽴N-S流程图传统流程图共 32 页 第 页(3)N–S流程图N--S图的优点 ⽐⽂字描述直观、形象、 易于理解;⽐传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N--S流程图中的上下顺序就是执⾏时的顺序。共 32 页 第 页传统流程图与N-S流程图的⽐较开始 0?s,0?ii+1?i0?s,0?ii+1?i s+i?ss+i?s Y直到 i>100i<=100N 输出 s 的值输出 s 的值结束例1:1+2+3+……+ 加到100为⽌共 32 页 第 页程序设计的步骤分析问题,建⽴数学模型确定数据结构确定算法,描述算法编制程序,调试程序运⾏结果 ⼀个正
确的程序通常包含两⽅⾯的含义:⼀是书写正确,⼆是结果正确。书写正确是指程序语法正确,符合程序语⾔的规则;结果正确是指对应于正确的输⼊,程序能够得到所期望的输出。共 32 页 第 页总结算法的概念和特征算法的表⽰⽅法(3种,注意⽤流程图表⽰结构化程序设计的3种基本结构)结构化程序设计思想和⽅法共 32 页 第 页1973年美国学者I.Nassi 和B.Shneiderman提出了⼀种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在⼀个矩形框内,在该框内还可以包含其它的从属于它的框,或者说,由⼀些基本的框组成⼀个⼤的框。这种流程图⼜称N--S结构化流程图 。1973年美国学者I.Nassi 和B.Shneiderman提出了⼀种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。