3.2算法及其描述_第1页
3.2算法及其描述_第2页
3.2算法及其描述_第3页
3.2算法及其描述_第4页
3.2算法及其描述_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

3.2算法及其描述课堂导入想一想:1、生活中哪些算法.?2、算法(algorithm)是什么?算法的概述算法就是在有限步骤内求解某一问题所使用的的一组定义明确的规则,通俗的讲就是用计算机解决某一问题的方法,是能被机械的执行的动作或指令的有限集合。简答地说,算法就是解决问题的具体方法和步骤。灵魂发问:我们可以毫无章法的设计算法吗?算法有没有属于他的特征呢?算法的特征:(1)有穷性一个算法在执行有穷步骤之后必须结束,即一个算法所包含的步骤是有限的。(2)确定性算法出现的每一个步骤必须有一个明确的定义,不能出现模棱两可的情况。(3)数据输入一个算法必须有0个或者多个输入,以刻画运算对象的初始情况。(4)数据输出一个算法必须有1个或者多个输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的。(5)可行性算法中执行的任何计算步骤都可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限的时间内完成。思考一下:算法是解题过程的精准描述,我们可以用哪些方法来描述他?算法描述的方法1、自然语言描述算法用自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法。例:找到两个数中较大的数。自然语言表示的话就是:如果a大于b,那么把a的值赋值给max。古典问题------韩信点兵韩信点兵问题:相传汉高祖刘邦问大将军韩信统御士兵多少,韩信回答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人、17人一列余8人,刘邦听后茫然而不知其数。你能说出有多少士兵吗?古典故事:韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。用自然语言描述算法(解决韩信点兵问题)1.将N的初始值赋为1;2.如果N<700并且N除以3、5、7后余数都是1则

输出N,转到第4步;3.将N的值加1,转到第2步;4.结束程序。2、流程图描述算法用程序框图来描述算法的一种表示方法。流程图的基本图形及其功能。流程图描述算法(韩信点兵为例)开始N←1N除以3、5、7后余数都为1(N<700)N←N+1输出N值结束YN伪代码描述算法用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。伪代码描述(解决韩信点兵问题)ForN←1to700IFN%3==1andN%5==1andN%7==1PrintNElseN←N+1讨论交流:算法三种描述方法的优势和不足算法描述的方法优

势不

足自然语言表示法用人们日常所用的语言,比较容易掌握。由于自然语言的歧义性,容易导致算法执行的不确定性。流程图表示法清晰简洁所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。伪代码表示法书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。伪代码的语句不规范,有时会产生误解。三种基本控制结构1、顺序结构2、选择结构3、循环结构顺序结构顺序结构表示程序中的各个操作步骤按出现的先后顺序执行。代码段1代码段2选择结构选择结构表示程序的处理步骤出现了分支,需要根据某一特定的条件选择其中的一个分支执行。条件代码段1代码段2True

温馨提示

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

评论

0/150

提交评论