算法及算法的描述方法.ppt
《算法及算法的描述方法.ppt》由会员分享,可在线阅读,更多相关《算法及算法的描述方法.ppt(37页珍藏版)》请在三一办公上搜索。
1、School of Computer Science&Engineering,Xidian University,China,C程序设计(Programming in C),西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 2,上次课程的内容提要,C语言是一种得到广泛应用的高级程序设计语言用高级程序语言编写的程序需要进行翻译才能被计算机执行,对于C语言程序,该翻译过程由C编译器完成明确本课程的学习目标:初步掌握程序设计基本知识和良好的程序设计风格用计算机解决问题的首要步骤是分析问题并设计算法
2、算法描述了给定问题的解题步骤流程图是一种算法描述方法,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 3,素性判别,素性判别就是给定一个正整数,判定其是否为素数,素数的定义:一个大于1的整数,如果它的正因数只有1和它本身,就叫做素数,否则就叫合数。,如何判定给定正整数n是否为素数呢?根据定义。,从2开始找n的因子,若能找到一个介于2和n-1之间的n的因子,说明n不是素数;否则,n是素数。,西安电子科技大学计算机学院-School of Computer Science&Engineerin
3、g,Xidian University,China 4,素性判别,Y,N,K 2,K不能整除n?,K K+1,输出n是素数,输入n的值,开始,结束,Y,N,K等于n?,输出n不是素数,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 5,求最大公约数,设有两个正整数m和n,如何求其最大公约数?,有多种方法,例如求解速度最快的方法是辗转相除法。,辗转相除法(欧几里得算法):给定两个正整数m和n,求它们的最大公约数(公因子)。步骤1:【求余数】以n除m并令r为所得余数(0rn)步骤2:【余数为0
4、?】若r=0,算法结束;n即为答案步骤3:【互换】置mn,nr,转向步骤1。,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 6,求最大公约数流程图,Y,N,rm被n除的余数,r不等于0?,n r,输出n的值,输入正整数m和n,开始,结束,m n,结构不好!,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 7,这次课的主要内容,结构化方法的基本结构:顺序结构、选择结构、循环结构其他算法
5、描述方法N-S盒图方法伪代码方法,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 8,三种基本结构,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 9,三种基本结构,1966年,Bohra和Jacopini提出了以下三种基本结构,作为构造算法的基本单元顺序结构选择结构循环结构顺序结构和选择结构的流程图如下图所示,西安电子科技大学计算机学院-School of Computer Scie
6、nce&Engineering,Xidian University,China 10,三种基本结构,循环结构当型循环结构(while型循环)如图循环结构1所示直到型循环结构(Until型循环)如图循环结构2所示,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 11,基本结构小结,只有一个入口只有一个出口结构中的每一部分都存在一条从入口到出口的路径结构内不存在“死循环”,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian U
7、niversity,China 12,计算1+2+100的流程图,A,B,C,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 13,判断闰年的流程图,k能被4整除?,输入一个年份值k,开始,结束,输出k不是闰年,输出k是闰年,Y,N,k能被100整除?,Y,k能被400整除?,Y,N,N,输出k是闰年,输出k不是闰年,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 14,判断闰年的流程
8、图,k能被4整除?,输入一个年份值k,开始,结束,输出k不是闰年,Y,N,k能被100整除?,Y,k能被400整除?,Y,N,N,输出k是闰年,输出k是闰年,输出k不是闰年,A,B,C,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 15,判断闰年的流程图,k能被4整除?,输入一个年份值k,开始,结束,输出k不是闰年,输出k是闰年,Y,N,k能被100整除?,Y,k能被400整除?,Y,N,N,结构不好!,A,B,无法划分基本单元!,西安电子科技大学计算机学院-School of Comp
9、uter Science&Engineering,Xidian University,China 16,求最大公约数流程图,结构不好!,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 17,求最大公约数流程图,A,B,C,D,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 18,求最大公约数流程图,Y,N,r不等于0?,输出m的值,输入正整数m和n,开始,结束,rm被n除的余数m n;
10、n r,A,B,C,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 19,流程图的优缺点,优点直观形象,比较清楚地表现了各个框图的逻辑关系缺点占用篇幅较多对流程线的使用没有限制,允许随意转向可能造成流程混乱,理解困难,西安电子科技大学计算机学院-School of Computer Science&Engineering,Xidian University,China 20,其他算法描述方法,用N-S盒图表示算法用伪代码描述算法用PAD图描述算法(略)用计算机语言描述算法(程序).,西安电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 描述 方法
链接地址:https://www.31ppt.com/p-6012029.html