《算法程序的灵魂》ppt课件

上传人:tian****1990 文档编号:74483451 上传时间:2019-01-28 格式:PPT 页数:33 大小:758.31KB
返回 下载 相关 举报
《算法程序的灵魂》ppt课件_第1页
第1页 / 共33页
《算法程序的灵魂》ppt课件_第2页
第2页 / 共33页
《算法程序的灵魂》ppt课件_第3页
第3页 / 共33页
《算法程序的灵魂》ppt课件_第4页
第4页 / 共33页
《算法程序的灵魂》ppt课件_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《算法程序的灵魂》ppt课件》由会员分享,可在线阅读,更多相关《《算法程序的灵魂》ppt课件(33页珍藏版)》请在金锄头文库上搜索。

1、第2章 算法-程序的灵魂,一个程序主要包括以下两方面的信息: (1) 对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式 这就是数据结构(data structure) (2) 对操作的描述。即要求计算机进行操作的步骤 也就是算法(algorithm) 著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式: 算法 + 数据结构 = 程序 算法、数据结构、程序设计方法和语言工具是一个程序设计人员应具备的知识,2.1 什么是算法 2.2 简单的算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法,2.1 什么是算法,自学,2.2简

2、单的算法举例,例2.1 求12345 可以用最原始的方法进行: 步骤1:先求1 2,得到结果2。 步骤2:将步骤1得到的乘积2再乘以3,得到结果6。 步骤3:将6再乘以4,得24。 步骤4:将24再乘以5,得120。这就是最后的结果。 改进的算法: 设变量p为被乘数 变量i为乘数 用循环算法求结果,2.2简单的算法举例,S1:1p S2:2i S3:p*ip S4:i+1 i S5:如果i不大于5,返回重新执行S3;否则,算法结束 最后得到p的值就是 5!的值,若是1000呢?,例2.3 判定20002500年中的每一年是否闰年,并将结果输出。 闰年的条件: (1)能被4整除,但不能被100整

3、除的年份都是闰年,如2008、2012、2048年 (2)能被400整除的年份是闰年,如2000年 不符合这两个条件的年份不是闰年 例如2009、2100年,设year为被检测的年份。算法表示如下: S1:2000year S2:若year不能被4整除,则输出year 的值和“不是闰年”。然后转到S6 S3:若year能被4整除,不能被100整除,则输出year的值和“是闰年”。然后转到S6 S4:若year能被400整除,则输出year的值和“是闰年” ,然后转到S6 S5: 其他情况输出year的值和“不是闰年” S6:year+1year S7:当year2500时,转S2,否则停止,y

4、ear不能被4整除,非闰年,year被4整除,但不能被100整除,闰年,year被100整除,又能被400整除,闰年,其他,非闰年,逐渐缩小判断的范围,例2.5 给出一个大于或等于3的正整数,判断它是不是一个素数。 所谓素数(prime),是指除了1和该数本身之外,不能被其他任何整数整除的数 例如,13是素数,因为它不能被2,3,4,12整除。,判断一个数n(n3)是否素数:将n作为被除数,将2到(n-1)各个整数先后作为除数,如果都不能被整除,则n为素数 S1:输入n的值 S2:i=2 (i作为除数) S3:n被i除,得余数r S4:如果r=0,表示n能被i整除,则输出n“不是素数”,算法结

5、束;否则执行S5 S5:i+1i S6:如果in-1,返回S3;否则输出n “是素数”,然后结束。,可改为n/2,2.3算法的特性,自学,2.4怎样表示一个算法,常用的方法有: 自然语言 传统流程图 结构化流程图 伪代码 ,2.4怎样表示一个算法,2.4.1 用自然语言表示算法 2.4.2 用流程图表示算法 2.4.3 三种基本结构和改进的流程图 2.4.4 用N-S流程图表示算法 2.4.5 用伪代码表示算法 2.4.6 用计算机语言表示算法,2.4.1 用自然语言表示算法,自学,2.4.2 用流程图表示算法,起止框,输入输出框,处理框,判断框,流程线,连接点,注释框,例2.6 将例2.1的

6、算法用流程图表示。 求12345 如果需要将最后结果输出:,1t,输出t,i5,开始,2i,t*it,i+1i,结束,N,Y,例2.8 例2.3判定闰年的算法用流程图表示。判定20002500年中的每一年是否闰年,将结果输出。,N,Y,N,Y,Y,N,Y,N,例2.10 例2.5判断素数的算法用流程图表示。对一个大于或等于3的正整数,判断它是不是一个素数。,N,Y,2i,n%ir,i+1i,Y,N,2.4.3 三种基本结构和改进的流程图,(1) 顺序结构,A,B,2.4.3 三种基本结构和改进的流程图,(2) 选择结构,A,B,Y,N,A,Y,N,2.4.3 三种基本结构和改进的流程图,(3)

7、 循环结构 当型循环结构,A,Y,N,Y,N,0x,x+1x,2.4.3 三种基本结构和改进的流程图,(3) 循环结构 直到型循环结构,A,Y,N,Y,N,0x,x+1x,以上三种基本结构,有以下共同特点: (1) 只有一个入口 (2) 只有一个出口 一个判断框有两个出口 一个选择结构只有一个出口 (3) 结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它 (4) 结构内不存在“死循环”,2.4.4 用N-S流程图表示算法,N-S流程图用以下的流程图符号:,顺序结构,选择结构,循环结构 (当型),循环结构(直到型),例2.11 将例2.1的求5!算法用N-S图表示。,直到i5,1t,输出t,2i,t*it,i+1i,例2.13 将例2.3判定闰年的算法用N-S图表示,直到year2500,2000year,year+1year,否,是,year%4为0,否,是,输出 year 非闰年,year%100不为0,year%400为0,是,否,输出year 非闰年,输出year 闰年,输出 year 闰年,例2.15 将例2.5判别素数的算法用N-S流程图表示。,2.4.5用伪代码表示算法,自学,2.4.6用计算机语言表示算法,自学,2.5结构化程序设计方法,自学,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号