《1.2算法和算法的描述(王世雄).pptx》由会员分享,可在线阅读,更多相关《1.2算法和算法的描述(王世雄).pptx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.算法和算法的描述算法和算法的描述第一页,编辑于星期五:二十一点 五十七分。第一页,编辑于星期六:十三点 三十四分。在数学中,我们是怎样求取两个正整数的最大公约数的?例:计算112和64的最大公约数第二页,编辑于星期五:二十一点 五十七分。第二页,编辑于星期六:十三点 三十四分。设给定的两个正整数为设给定的两个正整数为m m和和n n,求它们的最大公约数的步骤,求它们的最大公约数的步骤为:为:1.1.以以m m除以除以n n,令所得的余数为,令所得的余数为r r 2.2.若若r=0r=0,则输出,则输出n,n,算法结束;否则,继续步骤算法结束;否则,继续步骤3 3 3.3.令令m=nm=n,
2、n=rn=r,并返回步骤,并返回步骤1 1继续进行继续进行 计算:计算:现在请同学们再计算现在请同学们再计算m=112m=112和和n=64n=64的最大公约数。的最大公约数。辗转相除法第三页,编辑于星期五:二十一点 五十七分。第三页,编辑于星期六:十三点 三十四分。什么是算法 算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。即用计算机求解某一问题的方法。是能被机械地执行的动作或指令的有穷集合。程序的编制依赖于算法的设计。程序的效率主要取决于算法的效率。第四页,编辑于星期五:二十一点 五十七分。第四页,编辑于星期六:十三点 三十四分。算法的特征1)有0或多个输入解题算法中可以没有数据
3、输入,也可以同时输入多个需要算法处理的数据。2)确定性。解题方法中的任何一个操作步骤都是清晰无误的,不会使人产生歧义或者误解。3)有穷性。任何一种提出的解题方法都是在有限的操作步骤内可以完成的,哪怕是失败的解题方法。4)有1或多个输出。一个算法执行结束之后必须有数据处理结果输出,哪怕是输出错误的数据结果。没有输出的算法是毫无意义的。5)可行性。解题方法中的任何一个操作步骤在现有计算机软硬件条件下和逻辑思维中都能够实施实现。第五页,编辑于星期五:二十一点 五十七分。第五页,编辑于星期六:十三点 三十四分。算法的描述用自然语言描述算法用自然语言描述算法用流程图描述算法用流程图描述算法用伪代码描述算
4、法用伪代码描述算法 例:辗转相除法第六页,编辑于星期五:二十一点 五十七分。第六页,编辑于星期六:十三点 三十四分。1).输入m和n的值;2).r=m除以n的余数;3).如果r=0,则输出n值;否则令m=n,n=r返回第2步;4).结束.开始输入正整数m和nr=m除以n的余数r=0m=n,n=r输出n的值结束是否输入m和n值r=m Mod ndo while r!=0m=nn=rr=m mod nloop输出n值辗转相除法的算法描述自然语言描述自然语言描述流程图描述流程图描述伪代码描述伪代码描述第七页,编辑于星期五:二十一点 五十七分。第七页,编辑于星期六:十三点 三十四分。三种描述方式的优劣优点点缺点缺点自然自然语言言不需专门训练,通俗易懂书写较繁琐、对复杂的问题难以表达准确、不能被计算机识别和执行。流程流程图描述清晰简洁,容易表达选择结构;利于不同环境的程序设计无法被计算机直接接受并进行操作,不易编辑伪代代码书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡种类繁多,语句不容易规范,不易排查错误第八页,编辑于星期五:二十一点 五十七分。第八页,编辑于星期六:十三点 三十四分。