c语言(算法流程图).ppt_第1页
c语言(算法流程图).ppt_第2页
c语言(算法流程图).ppt_第3页
c语言(算法流程图).ppt_第4页
c语言(算法流程图).ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第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; 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:当y2500,结束。,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】 求两个数的最大公约数。,求最大公约数通常用“辗转相除法”, 方法如下: (1)比较两数,并使m大于n。 (2)将m作被除数,n作除数,相除后余数为r。 (3)将mn,nr; (4)若r=0,则m为最大公约数,结束循环。若r0,执行步骤步骤(2)和(3)。,8.3.5 用伪代码表示算法 伪代码是介于自然语言与计算机语言之间的一种算法描述工具。 【范例8-6】 用伪代码描述s=1+2+100的算法。 01 s置初值为0; 02 i置初值为0; 03 while(i100) 04 05 s=s+i 06 i=i+1 07 08 输出s的值;,8.3.6 用计算机语言表示算法 计算机语言通常分为三类:即机器语言,汇编语言和高级语言。,8.4 结构化程序设计方法,结构化程序设计的思想:自顶向下、逐步求精; 即首先把一个复杂的大问题分解为若干相对独立的小问题。如果小问题仍较复杂,则可以把这些小问题又继续分解成若干子问题,这样不断地分解,使得小问题或子问题简单到能够直接用程序的三种基本结构表达为止。,8.5 综合应用求一元二次方程的根,【范例8-7】求一元二次方程:ax2+bx+c=0的根。,8.5 综合应用求一元二次方程的根,【范例8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论