c语⾔中闰年的流程图_c语⾔(算法流程图).ppt
c语⾔(算法流程图)
《ASP.NET 3.5⽹站开发从⼊门到精通》 第8章 程序的灵魂——算法与流程图 8.1 算法基础 8.1.1 算法的概念 8.1.2 算法的特性 8.1.3简单算法举例——解⽅程 8.1.1 算法的概念 算法(Algorithm):将为了解决问题所制订的步骤、⽅法。 利⽤计算机涉及到两类算法问题:(1) 数值性计算问题 (2) ⾮数值性计算问题 对算法的学习包括五个⽅⾯的内容: 设计算法、表⽰算法、确认算法、分析算法、验证算法
8.1.2 算法的特性 1.有穷性 2.确定性 3.有效性 4.有零或多个输⼊ 5.有⼀个或多个输出 8.1.3 简单算法举例——解⽅程 【范例8-1】 计算下⾯的分段函数。 算法描述: ? 输⼊x的值; ? 判断x是否⼤于0,若⼤于0,则y为2x+1,然后转第5步;否则进⾏第3步; ? 判断x是否等于0,若等于0,则y为0,然后转第5步;否则进⾏第4步; ? y为3x+1(因为2、3步条件不成⽴,则肯定第4步条件成⽴); ? 输出y的值后结束。 8.2 流程图的基础 8.2.1 流程图中的元素及含义 8.2.2 流程图的绘制 8.2.1 流程图中的元素及含义 流程图主要⽤两种:传统流程图和N-S流程图。 1.传统流程图 2、N-S流程图 8.2.2 流程图的绘制 1.使⽤word⾃带的流程图绘图⼯具 2、使⽤Visio绘制⼯具8.3 如何表⽰⼀个算法 8.3.1 ⽤⾃然语⾔表⽰算法 8.3.2 ⽤流程图表⽰算法 8.3.3 ⽤传统流程图表⽰三种基本结构 8.3.4 ⽤N-S图表⽰算法 8.3.5 ⽤伪代码表⽰算法 8.3.6 ⽤计算机语⾔表⽰算法 8.3.1 ⽤⾃然语⾔表⽰算法 ⾃然语⾔是最简单的描述算法的⼯具。
【范例8-2】⽤⾃然语⾔描述s=1+2+......+ 100 的算法。 算法描述: S1:把0放⼊S单元; S2:把1放⼊i单元; S3:将S+i赋给S; S4;i值加1;
流程图转换为ns图S5:判断i是否⼩于等于100? 是,转S3;否则转S6; S6:输出S的值,结束。 8.3.1 ⽤⾃然语⾔表⽰算法 【范例8-3】判定2010---2050年中的哪⼀年是闰年,将结果输出。(闰年的条件是:能被4整除,但不能被100整除;或者能被400整除的年份)。 算法描述: S1:将2010放⼊y单元; S2:若y不能被4整除,则转到S5; S3:若y能被4整除,不能被100整除,则输出y,然后转到S5; S4:若y能被400整除,则输出y,然后转到S5; S5:将y +1赋给y; S6:当y<=2050时,转S2继续执⾏,如果y>2500,结束。 8.3.2 ⽤流程图表⽰算法 流程图相对于⾃然语⾔来说更直观形象,易于理解简洁直观。 ⼀个流程图包括以下⼏部分: ① 表⽰相应操作的框; ② 带箭头的流程线; ② 框内外必要的⽂字说明 8.3.2 ⽤流程图表⽰算法 ⼀个流程图包括以下⼏部分: ① 表⽰相应操作的框; ② 带箭头的流程线; ②框内外必要的⽂字说明。 【范例8-4】 求区间[100, 200]内10个随机整数中的最⼤数、最⼩数。 8.3.3 ⽤传统流程图表⽰三种基本结构1、顺序结构 2、选择结构 8.3.3 ⽤传统流程图表⽰三种基本结构 3、循环结构 8.3.4 ⽤N-S图表⽰算法 1、顺序结构 2、选择结构 8.3.4⽤N-S图表⽰算法 3、循环结构 8.3.4 ⽤N-S图表⽰算法 【范例8-5】 求两个数的最⼤公约数。 8.3.5 ⽤伪代码表⽰算法 伪代码是介于⾃然语⾔与计算机语⾔之间的⼀种算法描述⼯具。 【范例8-6】 ⽤伪代码描述s=1+2+......+100的算法。 01 s置初值为0; 02 i置初值为0;
03 while(i≤100) 04 { 05 s=s+i 06 i=i+1 07 } 08 输出s的值; 8.3.6 ⽤计算机语⾔表⽰算法 计算机语⾔通常分为三类:即机器语⾔,汇编语⾔和⾼级语⾔。 8.4 结构化程序设计⽅法 结构化程序设计的思想:⾃顶向下、逐步求精; 即⾸先把⼀个复杂的⼤问题分解为若⼲相对独⽴的⼩问题。如果⼩问题仍较复杂,则可以把这些⼩问题⼜继续分解成若⼲⼦问题,这样不断地分解,使得⼩问题或⼦问题简单到能够直接⽤程序的三种基本结构表达为⽌。 8.5 综合应⽤——求⼀元⼆次⽅程
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论