算法及算法的描述方法.ppt
《算法及算法的描述方法.ppt》由会员分享,可在线阅读,更多相关《算法及算法的描述方法.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、西安电子科技大学计算机学院西安电子科技大学计算机学院 张淑平张淑平2004200420042004秋季计算机学院本科课程秋季计算机学院本科课程秋季计算机学院本科课程秋季计算机学院本科课程C程序设计程序设计(Programming in C)School of Computer Science&Engineering,Xidian University,China 上次课程的内容提要上次课程的内容提要l lC C语言是一种得到广泛应用的高级程序设计语言语言是一种得到广泛应用的高级程序设计语言语言是一种得到广泛应用的高级程序设计语言语言是一种得到广泛应用的高级程序设计语言l l用高级程序语言编写的
2、程序需要进行翻译才能被计算用高级程序语言编写的程序需要进行翻译才能被计算用高级程序语言编写的程序需要进行翻译才能被计算用高级程序语言编写的程序需要进行翻译才能被计算机执行,对于机执行,对于机执行,对于机执行,对于C C语言程序,该翻译过程由语言程序,该翻译过程由语言程序,该翻译过程由语言程序,该翻译过程由C C编译器编译器编译器编译器完成完成完成完成l l明确本课程的学习目标:初步掌握程序设计基本知识明确本课程的学习目标:初步掌握程序设计基本知识明确本课程的学习目标:初步掌握程序设计基本知识明确本课程的学习目标:初步掌握程序设计基本知识和良好的程序设计风格和良好的程序设计风格和良好的程序设计风
3、格和良好的程序设计风格l l用计算机解决问题的首要步骤是分析问题并设计算法用计算机解决问题的首要步骤是分析问题并设计算法用计算机解决问题的首要步骤是分析问题并设计算法用计算机解决问题的首要步骤是分析问题并设计算法l l算法描述了给定问题的解题步骤算法描述了给定问题的解题步骤算法描述了给定问题的解题步骤算法描述了给定问题的解题步骤l l流程图是一种算法描述方法流程图是一种算法描述方法流程图是一种算法描述方法流程图是一种算法描述方法西安电子科技大学计算机学院 -School of Computer Science&Engineering,Xidian University,China 2 素性判别
4、素性判别l l素性判别就是给定一个正整数,判定其是否为素数素性判别就是给定一个正整数,判定其是否为素数素性判别就是给定一个正整数,判定其是否为素数素性判别就是给定一个正整数,判定其是否为素数素数的定义:一个大于素数的定义:一个大于1的整数,如果它的正因数只有的整数,如果它的正因数只有1和它和它本身,就叫做本身,就叫做素数素数,否则就叫,否则就叫合数合数。l l如何判定给定正整数如何判定给定正整数如何判定给定正整数如何判定给定正整数n n是否为素数呢?根据定义。是否为素数呢?根据定义。是否为素数呢?根据定义。是否为素数呢?根据定义。l l从从从从2 2开始找开始找开始找开始找n n的因子,若能找
5、到一个介于的因子,若能找到一个介于的因子,若能找到一个介于的因子,若能找到一个介于2 2和和和和n-1n-1之间的之间的之间的之间的n n的因子,说明的因子,说明的因子,说明的因子,说明n n不是素数;否则,不是素数;否则,不是素数;否则,不是素数;否则,n n是素数。是素数。是素数。是素数。西安电子科技大学计算机学院 -School of Computer Science&Engineering,Xidian University,China 3 素性判别素性判别YNK 2K不能整除不能整除n?K K+1输出输出n是素数是素数 输入输入n的值的值开始开始结束结束YNK等于等于n?输出输出n不
6、是素数不是素数西安电子科技大学计算机学院 -School of Computer Science&Engineering,Xidian University,China 4 求最大公约数求最大公约数l l设有两个正整数设有两个正整数设有两个正整数设有两个正整数mm和和和和n n,如何求其最大公约数?,如何求其最大公约数?,如何求其最大公约数?,如何求其最大公约数?l l有多种方法,例如有多种方法,例如有多种方法,例如有多种方法,例如l l求解速度最快的方法是辗转相除法。求解速度最快的方法是辗转相除法。求解速度最快的方法是辗转相除法。求解速度最快的方法是辗转相除法。辗转相除法辗转相除法(欧几里得
7、算法欧几里得算法):给定两个正整数给定两个正整数m m和和n n,求它们的最大公约数,求它们的最大公约数(公因子公因子)。步骤步骤1:1:【求余数】以【求余数】以n n除除m m并令并令r r为所得余数为所得余数(0r(0rn)n)步骤步骤2:2:【余数为【余数为0?0?】若】若r=0r=0,算法结束;,算法结束;n n即为答案即为答案步骤步骤3:3:【互换】置【互换】置mnmn,nr nr,转向步骤,转向步骤1 1。西安电子科技大学计算机学院 -School of Computer Science&Engineering,Xidian University,China 5 求最大公约数流程图
8、求最大公约数流程图YNrm被被n除的余数除的余数r不等于不等于0?n r输出输出n的值的值输入正整数输入正整数m和和n开始开始结束结束m n结构不好!结构不好!西安电子科技大学计算机学院 -School of Computer Science&Engineering,Xidian University,China 6 这次课的主要内容这次课的主要内容l l结构化方法的基本结构:顺序结构、选择结构、循环结构化方法的基本结构:顺序结构、选择结构、循环结构化方法的基本结构:顺序结构、选择结构、循环结构化方法的基本结构:顺序结构、选择结构、循环结构结构结构结构l l其他算法描述方法其他算法描述方法其他
9、算法描述方法其他算法描述方法N-SN-S盒图方法盒图方法盒图方法盒图方法伪代码方法伪代码方法伪代码方法伪代码方法西安电子科技大学计算机学院 -School of Computer Science&Engineering,Xidian University,China 7 三种基本结构三种基本结构西安电子科技大学计算机学院 -School of Computer Science&Engineering,Xidian University,China 8 三种基本结构三种基本结构l l19661966年,年,年,年,BohraBohra和和和和JacopiniJacopini提出了以下三种基本结构
10、,提出了以下三种基本结构,提出了以下三种基本结构,提出了以下三种基本结构,作为构造算法的基本单元作为构造算法的基本单元作为构造算法的基本单元作为构造算法的基本单元顺序结构顺序结构顺序结构顺序结构选择结构选择结构选择结构选择结构循环结构循环结构循环结构循环结构l l顺序结构和选择结构的流程图如下图所示顺序结构和选择结构的流程图如下图所示顺序结构和选择结构的流程图如下图所示顺序结构和选择结构的流程图如下图所示AB顺序结构顺序结构abpAB成立成立不成立不成立ab选择结构选择结构1pA成立成立不成立不成立ab选择结构选择结构2西安电子科技大学计算机学院 -School of Computer Sci
11、ence&Engineering,Xidian University,China 9 三种基本结构三种基本结构l l循环结构循环结构循环结构循环结构当型循环结构当型循环结构当型循环结构当型循环结构(while(while型循环)如图循环结构型循环)如图循环结构型循环)如图循环结构型循环)如图循环结构1 1所示所示所示所示直到型循环结构直到型循环结构直到型循环结构直到型循环结构(Until(Until型循环型循环型循环型循环)如图循环结构如图循环结构如图循环结构如图循环结构2 2所示所示所示所示pA成立成立不成立不成立ab循环结构循环结构2pA成立成立不成立不成立ab循环结构循环结构1西安电子科
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 描述 方法
限制150内