欢迎来到天天文库
浏览记录
ID:52266726
大小:303.96 KB
页数:25页
时间:2020-04-03
《c语言(算法流程图).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第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的值
2、;➋判断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流程图起止框输入/输出框处理框判断框流程线连接符顺序结构元素处理AABP成立?是否AB当P成立A当P成立A选择结构元素当型循环结构元素直到型循环结构元素8.2.2流程图的绘制1.使用
3、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;S5:判断i是否小于等于100?是,转S3;否则转S6;S6:输出S的值,结束。8.3.1用自然语言表示算法
4、【范例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用流程图表示算法流程图相对于自然语言来说更直观形象,易于理解简洁直观。一个流程图包括以下几部分:①表示相应操作的框;②带箭头的流程线;②框内外必要的
5、文字说明8.3.2用流程图表示算法一个流程图包括以下几部分:①表示相应操作的框;②带箭头的流程线;②框内外必要的文字说明。【范例8-4】求区间[100,200]内10个随机整数中的最大数、最小数。开始结束产生第1个随机数a1max←aii<10?min←aimax←a1min←a1是否输出max,min产生下1个随机数aimaxai?否是是8.3.3用传统流程图表示三种基本结构1、顺序结构2、选择结构AB条件?AB成立不成立8.3.3用传统流程图表示三种基本结构3、循环结构条件?A成立不成立当型循环A条件?成立不成立直到型循环8.3.4用N-S图表示算法1、顺
6、序结构2、选择结构AB成立PAB不成立8.3.4用N-S图表示算法3、循环结构当P成立A直到P不成立A当型循环直到型循环8.3.4用N-S图表示算法【范例8-5】求两个数的最大公约数。求最大公约数通常用“辗转相除法”,方法如下:(1)比较两数,并使m大于n。(2)将m作被除数,n作除数,相除后余数为r。(3)将m←n,n←r;(4)若r=0,则m为最大公约数,结束循环。若r≠0,执行步骤步骤(2)和(3)。输入m,nm7、描述s=1+2+......+100的算法。01s置初值为0;02i置初值为0;03while(i≤100)04{05s=s+i06i=i+107}08输出s的值;8.3.6用计算机语言表示算法计算机语言通常分为三类:即机器语言,汇编语言和高级语言。8.4结构化程序设计方法结构化程序设计的思想:自顶向下、逐步求精;即首先把一个复杂的大问题分解为若干相对独立的小问题。如果小问题仍较复杂,则可以把这些小问题又继续分解成若干子问题,这样不断地分解,使得小问题或子问题简单到能够直接用程序的三种基本结构表达为止。
7、描述s=1+2+......+100的算法。01s置初值为0;02i置初值为0;03while(i≤100)04{05s=s+i06i=i+107}08输出s的值;8.3.6用计算机语言表示算法计算机语言通常分为三类:即机器语言,汇编语言和高级语言。8.4结构化程序设计方法结构化程序设计的思想:自顶向下、逐步求精;即首先把一个复杂的大问题分解为若干相对独立的小问题。如果小问题仍较复杂,则可以把这些小问题又继续分解成若干子问题,这样不断地分解,使得小问题或子问题简单到能够直接用程序的三种基本结构表达为止。
此文档下载收益归作者所有