新人教版高中必修3 算法描述 课件.ppt_第1页
新人教版高中必修3 算法描述 课件.ppt_第2页
新人教版高中必修3 算法描述 课件.ppt_第3页
新人教版高中必修3 算法描述 课件.ppt_第4页
新人教版高中必修3 算法描述 课件.ppt_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

二.算法的描述,人的思想要用语言来表达。算法是人求解问题的思想方法,是对解题过程的精确描述,同样也需要用语言来表示。表示算法的语言主要有自然语言,流程图,伪代码等。,1用自然语言描述算法,前面关于欧几里得算法以及算法实例的描述使用的都是自然语言,自然语言是人们日常所用的语言,如汉语,英语,德语。使用这些语言不用专门训练,所描述的算法也通俗易懂,问题:鸡兔同笼问题。一个笼子里有一些鸡和兔,现在只知道里面一共有个头,只脚,问鸡和兔各有多少只?试设计一个求解的算法,并用自然语言描述出来。,分析问题设所求的鸡数是x,兔数是y,已知笼子里的头数是a,脚数是b,依题意得到如下的方程组:,x+y=a,2x+4y=b,解方程组得:x=2a-b/2,y=b/2-a,设计算法:,(1)输入a和b的值;,(2)求X=2A-B/2;,(3)求y=b/2-a;,(4)输出x,y的值;,(5)结束。,问题2:设计一个算法,求100以内能被3整数的数。,分析问题:设能被3整除的数为I,令I1,2,3,100,如果I能被3整数,则输出I,否则,检查下一个,知道I100为止。,设计算法:,1)令I1;,(2)如果I能被3整除的数,则输出I;,(3)I=I+1;,(4)如果I=100,则返回第(2)步;,(5)结束。,然而,用自然语言描述法也存在明显的缺点:(1)由于自然语言的歧义性,容易导致算法执行的不确定性;(2)自然语言的语句一般太长,从而导致了用自然语言描述的算法太长;(3)由于自然语言表示是按照步骤的标号顺序执行的,因此当一个算法中循环和分支较多时就很难清晰地表示出来;(4)自然语言表示的算法不便翻译成计算机程序设计语言,2用流程图描述算法在数学课程里,我们学习了用程序框图来描述算法。在程序框图中,流程图是描述算法的常用工具,它采用美国国家标准化协会ANSI(AmericanNationalStandardInstitute)规定的一组图形符号来表示算法,如下表所示:,使用流程图描述算法,让人感到流程的描述清晰简洁,容易表达分支结构;它不依赖于任何具体的计算机和计算机程序设计语言,从而有利于不同环境的程序设计。图2-1给出了用辗转相除发求两个数的最大公约数的算法流程图;图2-2给出了问题的算法流程图;图2-3.给出问题的算法流程图;,“算法是计算机科学的基础”,计算机完成任何一项任务都需要算法。但是,用自然语言或程序框图描述的算法计算机是无法“理解”的,我们还需要将算法用计算机能够理解的语言表达出来,通常这称为程序设计,所用的语言称为程序设计语言(programminglanguage)。程序设计语言由一些有特定含义的程序语句构成,与算法程序框图的三种基本结构相对应,任何程序设计语言都包含输入输出语句、赋值语句、条件语句和循环语句。不同的程序设计语言有不同的语句形式和语法规则,但基本结构是相同的,正是由于这样的原因,在研究算法的时候,有时并不很关心算法语句是否用的是某种精确的程序语言,而采用基本结构相同的更为简便易懂的语言形式,即所谓伪代码。,3.用伪代码描述算法,伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的工具。它不用图形符号,因此,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言算法(程序)过渡。下面给出用辗转相除法求两个数的最大公约数的伪代码算法描述。,INPUTM,N;R=MmodN;DOWHILER0M=NN=RR=MmodNLOOP;PRINTN,伪代码描述算法回避了程序设计语言严格,繁琐的书写格式,

温馨提示

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

评论

0/150

提交评论