第3章算法和基本程序设计精选PPT.ppt
《第3章算法和基本程序设计精选PPT.ppt》由会员分享,可在线阅读,更多相关《第3章算法和基本程序设计精选PPT.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章算法和基本程序设计第1页,本讲稿共44页3.1算法的概念1.定义:做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。2.计算机算法可分为两大类:数值运算算法:求解数值;非数值运算算法:事务管理领域。第2页,本讲稿共44页一个著名的公式一个著名的公式 数据结构数据结构+算法算法=程序程序数据:计算机所能识别、存储和处理的数据:计算机所能识别、存储和处理的对象。数据的动态性。对象。数据的动态性。数据结构:确定数据对象及其存储方式,数据结构:确定数据对象及其存储方式,并定义在这些数据对象上的运算集合。并定义在这些数据对象上的运算集合。算法:为解决一个问题而采取的方法和算法
2、:为解决一个问题而采取的方法和步骤。步骤。第3页,本讲稿共44页算法的特性1 1 有穷性有穷性 操作步骤是有限的,不是无限的操作步骤是有限的,不是无限的。2 2 确定性确定性 每个步骤是确定的,无歧义性。每个步骤是确定的,无歧义性。3 3 有零个或多个输入有零个或多个输入4 4 有一个或多个输出有一个或多个输出5 5 有效性有效性 每一步骤能有效执行,并得到确定结果每一步骤能有效执行,并得到确定结果。第4页,本讲稿共44页3.1.2算法的评价标准1.正确性对任何合法的输入,算法都会得出正确的结果。2.可读性可读性指算法被理解的难易程度。3.健壮性(鲁棒性)健壮性即对非法输入的抵抗能力。4.高效
3、率与低存储量需求通常,效率指的是算法执行时间;存储量指的是算法执行过程中所需的最大存储空间,两者都与问题的规模有关。二者往往是一对矛盾,常常可以用空间换时间,也可以用时间换空间。第5页,本讲稿共44页 怎样表示一个算法用自然语言表示算法用自然语言表示算法用流程图表示算法用流程图表示算法用用N-S流程图表示算法流程图表示算法用伪代码表示算法用伪代码表示算法用计算机语言表示算法用计算机语言表示算法 歧义性,描述分支、循环算法不方便歧义性,描述分支、循环算法不方便第6页,本讲稿共44页第7页,本讲稿共44页起止框起止框输入输出框输入输出框处理框处理框判断框判断框流程线流程线连接点连接点第8页,本讲稿
4、共44页【例3.1】求三个整数的和。求三个整数和的算法流程图如图所示。开始x+y+z=sum输 出 sum的值结束输入x,y,z图3.2求三个整数和的算法第9页,本讲稿共44页【例3.2】求最大公约数。m,n为正整数开始结束输入m,n求m/n的余数rr=0?n=m,r=n输出n是否第10页,本讲稿共44页最大公因数的算法求最大公因数的最普遍的算法是欧几里得算法,它最初是公元前由欧几里得提出来的,有时也称它为辗转相除法表述如下:设给定m,n(mn),令r0=m,r1=n,有则得rk=gcd(rk-1,rk)=gcd(rk-2,rk-1)=gcd(r2,r3)=gcd(r1,r2)=gcd(r0,
5、r1)=gcd(m,n)b|a表示b整除a或者a整除以b则a是b的倍数,b是a的约数rk-2=qk-1 qkrk+rk=(qk-1 qk+1)rk第11页,本讲稿共44页S1:求求12=2S2:求求23=6S3:求求64=24 天啊!共需天啊!共需999个步骤,太可个步骤,太可怕了。怕了。案例案例 求求12341000S1:1 p (p:被乘数被乘数)S2:2 i (i:乘数乘数)S3:pi pS4:i+1 iS5:若若i1000,返回返回S3;否则,结束。;否则,结束。只需只需5个步骤,简单。个步骤,简单。第12页,本讲稿共44页3.2结构化程序设计的方法结构化程序设计思想采用了模块分解与功
6、能抽象和自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子程序,便于开发和维护,减少程序的出错概率和提高软件的开发效率。采用结构化程序设计方法应遵循以下原则。1.自顶向下即在程序设计时,先考虑总体,做出全局设计,然后再考虑细节进行局部设计,逐步实现精细化。这种方法称为“自顶向下,逐步细化”的方法。2.模块化就是将一个大任务分成若干个较小的部分,每一部分承担一定的功能,称为“功能模块”。每个模块可以分别编程和调试,然后组成一个完整的程序。模块的划分应遵循一些基本原则,如模块内部联系要紧密,关联程度要高;模块间的接口要尽可能简单,以减少模块间的数据传递。
7、3.限制使用GOTO语句第13页,本讲稿共44页 结构化的程序设计方法结构化的程序设计方法基本思路基本思路:把一个复杂问题的求解过把一个复杂问题的求解过程分阶段进行程分阶段进行,每个阶段处理的问题都每个阶段处理的问题都控制在人们容易理解和处理的范围内控制在人们容易理解和处理的范围内.采用的方法采用的方法:1 1 自顶而下自顶而下2 2 逐步细化逐步细化3 3 模块化设计模块化设计4 4 结构化编码结构化编码第14页,本讲稿共44页三种基本结构三种基本结构1 1 顺序结构顺序结构 2 2 选择结构选择结构3 3 循环结构循环结构3.3 程序的基本结构程序的基本结构第15页,本讲稿共44页三种基本
8、结构的特点三种基本结构的特点1 1 只有一个入口只有一个入口2 2 只有一个出口只有一个出口pA3 3 结构内的每一部分都有机会被执行到结构内的每一部分都有机会被执行到AB4 4 结构内没有死循环结构内没有死循环第16页,本讲稿共44页顺序结构的流程图符号顺序结构的流程图符号ABabAB传统流程图传统流程图N-S流程图流程图第17页,本讲稿共44页选择结构的流程图符号选择结构的流程图符号Ap成立不成立BAp成立不成立传统流程图传统流程图第18页,本讲稿共44页选择结构的流程图符号(续)选择结构的流程图符号(续)成立不成立ApBN-S流程图流程图第19页,本讲稿共44页循环结构的流程图符号循环结
9、构的流程图符号Ap1成立不成立ab不成立Ap2成立ab传统流程图传统流程图While型型Until型型第20页,本讲稿共44页循环结构的流程图符号(续)循环结构的流程图符号(续)直到直到p1成立成立A当当p1成立成立AWhile型型Until型型N-S流程图流程图第21页,本讲稿共44页一个有用的结论一个有用的结论已经证明:已经证明:三种基本结构的三种基本结构的顺序组成顺序组成可以表示任何复杂的算法结构。可以表示任何复杂的算法结构。由基本结构构成的算法,属于由基本结构构成的算法,属于“结构化结构化”算法。算法。第22页,本讲稿共44页有关结构化算法的总结有关结构化算法的总结一个结构化的算法是由
10、一些基本结构顺一个结构化的算法是由一些基本结构顺序组成的;基本结构之间不存在向前或序组成的;基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个向后的跳转,流程的转移只存在于一个基本结构的范围之内(如循环中的流程基本结构的范围之内(如循环中的流程跳转);跳转);一个非结构化算法可以用一个等价的结一个非结构化算法可以用一个等价的结构化算法代替,其功能不变。构化算法代替,其功能不变。如果一个算法不能分解为若干个节本结如果一个算法不能分解为若干个节本结构,则它必然不是一个结构化算法。构,则它必然不是一个结构化算法。第23页,本讲稿共44页3.4顺序结构程序设计1.表达式语句表达式语句是在各种表
11、达式后加一个分号(;)形成一个表达式语句。2.空语句空语句直接由分号(;)组成,常用于控制语句中必须出现语句之处。它不做任何操作,只在逻辑上起到有一个语句的作用。例如:;空语句也是一个语句,不产生任何动作。空语句常用于构成标号语句,标识程序中相关位置;循环语句中空循环体;模块化程序中未实现的模块及暂不链入的模块。第24页,本讲稿共44页3.函数调用语句由函数调用加上分号组成。4.复合语句是由一对花括号括起的若干个语句,语法上可以看成是一个语句。复合语句中最后一个语句的分号不能省略。例如下面是一个复合语句:z=x;x=y;y=z;凡是单一语句可以存在的位置,均可以使用复合语句。复合语句用在语法上
12、是单一语句,而相应操作需多条语句描述的情况。第25页,本讲稿共44页5.控制语句控制语句有条件判断语句(if、switch),循环语句(for、while、do-while),转移语句(goto、continue、break、return)。控制语句根据控制条件决定程序的执行流程,控制语句不是顺序执行的。顺序结构是C语言的基本结构,除非指示转移,否则计算机自动以语句编写的顺序一句一句地执行C语句。第26页,本讲稿共44页C语言无I/O语句,I/O操作由函数实现#include字符输出函数3.5数据的输入与输出格式格式:putchar(c):putchar(c)参数参数:c:c为字符常量、变量或
13、表达式为字符常量、变量或表达式功能:把字符功能:把字符c c输出到显示器上输出到显示器上返值:正常,为显示的代码值;出错,为返值:正常,为显示的代码值;出错,为EOF(-1EOF(-1)第27页,本讲稿共44页【例3.3】字符数据的输出。#include main()char a,b;a=r;b=e;putchar(a);putchar(b);putchar(d);putchar(n);运行后,在屏幕上显示:red 第28页,本讲稿共44页 数据输入数据输入字符输入函数格式格式:getchar():getchar()功能:从键盘读一字符功能:从键盘读一字符返值:正常,返回读取的代码值;出错返值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 算法和基本程序设计精选PPT 算法 基本 程序设计 精选 PPT
限制150内