c语言(算法流程图).ppt

上传人:M****1 文档编号:570259126 上传时间:2024-08-03 格式:PPT 页数:25 大小:372.31KB
返回 下载 相关 举报
c语言(算法流程图).ppt_第1页
第1页 / 共25页
c语言(算法流程图).ppt_第2页
第2页 / 共25页
c语言(算法流程图).ppt_第3页
第3页 / 共25页
c语言(算法流程图).ppt_第4页
第4页 / 共25页
c语言(算法流程图).ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《c语言(算法流程图).ppt》由会员分享,可在线阅读,更多相关《c语言(算法流程图).ppt(25页珍藏版)》请在金锄头文库上搜索。

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使用wo

3、rd自带的流程图绘图工具 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:当y2500,结束。 8.3.2 用流程图表示算法流程图相对于自然语言来说更直观形象,易于理解简洁直观。一个流程图包括以下几部分: 表示相应操作的框; 带箭头的流程线; 框内外必要的文字说明 8.3.2 用流程图表示算法一个流

5、程图包括以下几部分: 表示相应操作的框; 带箭头的流程线; 框内外必要的文字说明。【范例8-4】 求区间100, 200内10个随机整数中的最大数、最小数。 开始结束产生第1个随机数a1maxaii10?minaimaxa1 mina1是否输出max,min产生下1个随机数aimaxai?否是是8.3.3 用传统流程图表示三种基本结构1、顺序结构 2、选择结构AB条件?AB成立不成立8.3.3 用传统流程图表示三种基本结构3、循环结构条件?A成立不成立当型循环A条件?成立不成立直到型循环8.3.4 用N-S图表示算法1、顺序结构 2、选择结构AB成立PAB不成立8.3.4 用N-S图表示算法3

6、、循环结构当P成立A直到P不成立A当型循环直到型循环8.3.4 用N-S图表示算法【范例8-5】 求两个数的最大公约数。求最大公约数通常用“辗转相除法”,方法如下:(1)比较两数,并使m大于n。(2)将m作被除数,n作除数,相除后余数为r。(3)将mn,nr;(4)若r=0,则m为最大公约数,结束循环。若r0,执行步骤步骤(2)和(3)。输入m,nm=0?x1=x+sqrt(d)/(2a)x2=x- sqrt(d)/(2a)x1=x+sqrt(-d)/(2a)x2=x- sqrt(-d)/(2a)NYd=b2-4acx=-b/(2a)8.5 综合应用求一元二次方程的根 【范例8-7】求一元二次

7、方程:ax2+bx+c=0的根。输入a,b,c的值输出结果a=0?x1=x2=-c/bNYd=0?x1=x+sqrt(d)/(2a)x2=x- sqrt(d)/(2a)x2=x-sqrt(-d)/(2a)x1=x+ sqrt(-d)/(2a)NYd=b2-4acx=-b/(2a)8.7 跟我上机1. 求1!+3!+5!+N!的值。N由键盘输入,且为奇数。输入n的值开始结束i赋值为1t赋初值为1sum赋初值为0i+=2t*=i;sum+=t;in?YN输出sum用流程图表示用N-S图表示输入n的值t赋初值为1;i赋值为1sum赋初值为0in?t*=I; s+=t;i+=2输出sum8.7 跟我上机2. 将1到100之间能用3或5整除的数打印出来。i赋初值为1i=100?i能被3或5整除?TF打印i用N-S图表示i+用流程图表示开始i赋初值为1i=100?i能被3或5整除?打印i结束NYYNi+

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号