算法程序的灵魂.ppt_第1页
算法程序的灵魂.ppt_第2页
算法程序的灵魂.ppt_第3页
算法程序的灵魂.ppt_第4页
算法程序的灵魂.ppt_第5页
免费预览已结束,剩余63页可下载查看

下载本文档

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

文档简介

1、第二章算法-程序的灵魂,一个程序主要包括(1)数据的说明两个茄子信息。指定程序要使用的数据、这些数据的类型以及数据的组织格式是对数据结构(数据结构)(2)的操作的说明。也就是说,需要电脑操作的步骤“算法”(algorithm)是操作对象的操作,用于加工数据以获得所需结果。著名的计算机科学家Nikiklaus Wirth是算法数据结构=节目,一个程序是算法和数据结构之外的主要元素。此外,必须使用结构化计算机编程方法表示计算机编程、算法、数据结构、计算机编程方法和语言工具的计算机语言之一。计算机编程人必须具备的知识。算法是解决“做什么”和“怎么做”问题的程序的操作语句。如果不理解算法,就不能编程。

2、2.1什么是算法2.2?简单的算法示例2.3算法特性2.4是算法2.5结构化计算机编程方法,2.1是算法,广义上来说,为解决一个问题而采取的方法和步骤称为“算法”。对于同一问题,可以徐璐有不同的问题解决方法和步骤,也可以分为算法质量考虑、有效的算法选择、2.1算法、电脑算法两个茄子主要类别:数值计算算法非数值计算算法数值运算的目的是数值解决方案非数值运算涉及的面很广,最常见的是事务管理领域,2.2简单算法示例,示例2.1 12345可以用最原始的方法完成。步骤1:首先,将步骤2:步骤1中得到的乘积2乘以3,结果为6牙齿。步骤3:6乘以4等于24。步骤4: 24乘以5等于120牙齿。这是最终结果

3、。示例2.1 12345 1000,太麻烦,2.2简单算法示例,改进的算法:将变量P设置为乘数变量I以获得循环算法结果,2.2简单算法示例,S1: p=1或1p S2: i=2,否则,算法结束后P的值为5!值,如果是1000,求什么?2.2简单的算法示例,S1: p=1,或1p S2: i=2,或2i S3: P乘以I,然后将乘积放入变量P,即p*ip S4: I值加1,否则,算法结束后P的值为5!求1357911,3,3,2,2,11等于I 11。例2.2要求输出50个学生,80分以上的学生学号和成绩。Ni输出第I学生学号,gi输出第I学生成绩S1: 1i S2: gi80的ni和gi,否则

4、,如果不输出S3: I 1i S4: i50,则返回步骤S2继续。否则,算法结束,示例2.3判断2闰年条件:(1)可分为4,但不能除以100的年份是闰年。例如,2008年、2012年、2048年(2)可分为400年的年份是闰年。例如,2000年不符合牙齿两个条件的年份不是闰年,算法标记如下:S1: 2000y year:如果年度不能除以4,则输出年度值和“不是闰年”。然后转至S6 S3。如果年份可以被4整除,不能被100整除,则输出年份值和闰年。然后转至S6 S4。如果年度可除以400,则输出年度值和闰年这两个值。然后移至S6 S5:如果不是年度值和闰年,则移至S6:年度1年度S7:年度250

5、0,闰年,年度除以100。除以400。闰年、闰年、其他、非闰年、判断范围逐渐缩小。范例2.4规则:1项目的分子分母都是1号2项目的分母是2,后续每个项目的分母都是1点2项目之前的运算子是-,范例2.4 S1:sign=1 S2:sum=1 S3:deno=2 S4:sign 示例2.4查找S1: sign=1,否则返回算法结束,sign当前符号term当前项目的值sum当前项目的总和和deno当前项目的分母,1,1/3,1-1/2 1/3,4,满意,S4,示例2.4 否则,算法关闭,循环99次后,sum的值是请求的结果。范例2.5提供大于或等于3的正整数,以判断是否为小数。所谓小数(prime

6、)是除了1和它本身以外,不能被任何整数整除的数字。例如,13是小数。因为不能被2,3,4,12整除。确定数字n(n3)是否为牙齿小数。N为被除数,从2到(n-1)的每个整数为除数,如果不能全部除以,则N为小数S1。输入n值。S2: I=2 (I作为除数)S3:否则,执行S5 S5:i 1i S6: in-1会传回S3。否则,输出n为小数,结束。可以更改为、n/2,2.3算法功能。有效的算法之一必须具有以下特征:(1)贫穷。一个算法必须包含有限制的程序,不能是无限的。(2)确定性。算法内的所有阶段都是模糊不清的,模糊不清的,渡边杏。2.3算法属性,有效算法:(3)必须至少有0个输入。输入是指在执

7、行算法时从外部获取必要的信息。(4)有一个或多个输出。“算法”的目的是解开,“解释”是输出。没有输出的算法没有意义。(5)有效性。算法中的每个步骤都必须能够有效地执行,并且能够得到确定的结果。,2.3算法功能,对于最终用户来说,处理任何问题都不需要设计自行算法和程序。您可以使用他人设计的现成算法和程序。根据已知的算法要求,只需进行必要的输入即可获得输出结果。3个输入,黑盒,3个中的最大数目,3个数字的最大数目,2.4个显示方法一般方法是自然语言现有流程图结构化流程图伪代码,2.4.1是算法显示方法,2.4.1是自然语言,算法2.4.2是算法2.4.3的三种茄子基本结构和改进的流程图2.4.4是

8、N-S流程图, 歧义发生概率自然语言中包含分支和循环的算法说明,不是很方便,除了简单的问题外,一般不使用自然语言,2.4.2是流程图,算法表示,流程图稍微易于理解,开始和结束框,输入输出框,处理框,判断框,流程线,连接点,注释框, 如果需要将12345最终结果输出为:1t,输出t,i5,开始,2i,t*it,i 1i,结束,N,Y,示例2.7示例2.2的算法流程图,要求50名学生取得80分以上成绩的学生学号和性出口。1i,i50,开始,I 1i,结束,N,Y,输入ni,gi,1i,开始,gi80,输出ni,gi,I 1i,i50,N,Y 22、N、Y、N、Y、Y、N、Y、N、示例2.9将示例2

9、.4中的算法图显示为流程图。1 sum 2 deno 1 sign,(-1)* sign sign sign *(1/deno)term sum terms um deno 1 deno,n,y,示例2.10示例大于或等于2.5判断小数3的正整数、N、Y、2i、n%ir、i 1i、Y、N以及以上几个茄子示例,表明流程图是显示算法的更好工具。流程图包含以下牙齿:(1)流程行(3),带有表示此操作的框(2)箭头。1.现有流程图的缺点现有流程图用流程线表示每个框的执行顺序,对使用流程线没有严格限制的用户可以不受限制地自由地在流程中漫游,因此很难理解算法逻辑。2.4.3岁茄子基本结构和改进的流程图,2

10、.3茄子基本结构(1)顺序结构,a,a 2。三个茄子基本结构(2)选择结构,A、B、Y、N、A、Y、N、2.4.3岁茄子基本结构和改进的流程图,2.3茄子基本结构(3)循环结构2。三个茄子基本结构(3)循环结构-类型循环结构,A,Y,N,Y,N,0 x,x 1x,输出1,2,3,4,5,牙齿三个茄子基本结构具有以下特征也就是说,对于每个箱子,必须有从入口到出口的路径。(4)结构内没有“死循环”,必须有从三个茄子基本结构派生的结构。A、N、Y、B,根据表达式P的值进行选择,A、B和B算法显示为N-S图。i5,1t为止,输出t、2i、t*it、i 1i和示例2.12将示例2.2中的算法显示为N-S

11、图。在50名学生中取得高于80分的成绩的学号和成绩。i50,1t,1i,i 1i为止,i50,gi80,否,是,输出ni,gi,示例2.13是2.3,用于确定闰年的算法n-;年度0不是零牙齿,年度 0将0、是、否、年度非闰年输出、年度闰年输出、年度闰年输出、范例2.14将范例2.4中的算法图片显示为N-S图片。Deno100,deno 1deno,输出sum,1 sum,1 sign,2 deno,(-1) * sign sign,sign * (1/deno)为止,是2.10输入n,r=0,是,否,0w,2i,n% IR,1w,结构化算法在由一些基本结构顺序组成的基本结构之间没有向前或向后跳跃。过程的转移是存在于一个基本结构范围内的非结构算法可以用相应的结构算法代替。其功能不变。如果算法不能分成多个基本结构,那就不一定是结构化的算法。2.4.5用伪代码表示算法,伪代码用自然语言和计算机语言之间的字母和符号描述算法伪代码书写算法没有固定而严格的语法规则。可以用英语或中英文混用。示例2.16 5!算法启动1t 2 I while i5 t * I t I 1 I print end(算法关闭),示例2.17 begin 1 sum 2 deno 1 sign while deno 100(-1)* sign sign sign sign算法设计的目的是为了实现算

温馨提示

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

评论

0/150

提交评论