第2章程序的灵魂算法精选文档.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第2章程序的灵魂算法精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章程序的灵魂算法精选文档.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章程序的灵魂算法2023/4/101本讲稿第一页,共六十页第第2章章 程序的灵魂程序的灵魂算法算法本章主要介绍算法的概念、算法的特征、本章主要介绍算法的概念、算法的特征、算法的表示法以及结构化程序设计。算法的表示法以及结构化程序设计。2.1 算法的概念与举例算法的概念与举例2.2 算法的特征算法的特征2.3 算法的表示方式算法的表示方式2.4 结构化程序设计方法结构化程序设计方法2023/4/102本讲稿第二页,共六十页算法的概念与举例算法的概念与举例计算机科学家沃思(计算机科学家沃思(Nikiklaus Wirth)提出一个公式)提出一个公式:数据结构数据结构+算法算法=程序程序 目前,
2、认为程序设计包括四个方面,目前,认为程序设计包括四个方面,表示如下:表示如下:程序程序=算法算法+数据结构数据结构+程序设计方法程序设计方法+语言工具和环境语言工具和环境 算法算法是灵魂,解决是灵魂,解决“做什么做什么”和和“怎么做怎么做”的问题;的问题;数据结构数据结构是加工对象;是加工对象;编程需要采用合适的方法,不了解算法则谈不上编程需要采用合适的方法,不了解算法则谈不上程序设计程序设计;语言语言是工具。是工具。厨师炒菜:厨师炒菜:炒法炒法+原料原料+操作和炒菜工具。操作和炒菜工具。2023/4/103本讲稿第三页,共六十页算法的概念和特性算法的概念和特性 算算法法的的概概念念:广广义义
3、地地讲讲,为为解解决决一一个个问问题题而而采采取取的的方方法法和和步步骤骤,就称为就称为“算法算法”。说说明明1:计计算算机机是是低低能能儿儿、是是没没有有思思维维的的,需需要要程程序序设设计计者者设设计计算算法;法;说说明明2:解解决决同同一一问问题题可可以以有有不不同同的的方方法法和和步步骤骤,好好的的算算法法不仅保证解决问题,还要有高的效率;不仅保证解决问题,还要有高的效率;举举例例:从从我我们们学学校校到到德德胜胜门门可可以以直直接接乘乘坐坐345到到达达,也也可可以以做做345到到沙沙河河再再转转919到到达达;两两种种方方法法都都能能到到达达德德胜胜门;后一种方法可能费时费力,该方
4、法可能不科学门;后一种方法可能费时费力,该方法可能不科学!2023/4/104本讲稿第四页,共六十页算法的概念和特性算法的概念和特性 说说明明3:可可以以将将一一些些常常用用的的算算法法集集合合在在一一起起,形形成成“算算法法程程序序库库”,方方便便应应用用。如如数数学学程程序序库库(求求正正旋旋、余余旋旋、求求开开方方等等),和和其其他他非非数数值值算算法法,如如排排序等。序等。如:如:stdio.h是输入输出库,是输入输出库,math.h 数学库。数学库。说说明明4:计计算算机机的的算算法法与与常常规规的的数数值值算算法法有有所所区区别别,计计算算机机的的算算法法包包括括数值算法和非数值算
5、法数值算法和非数值算法:(1)数数值值运运算算方方法法:目目的的是是数数值值求求解解。如如求求方方程程的的根根。应应用用非非常常深深入入,如如“Fortran 程序库程序库”;(2)非非数数值值运运算算方方法法:最最常常见见的的是是用用于于事事务务管管理理领领域域,例例如如图图书书管管理理、人人事事管管理理、行行车车调调度度等等。目目前前,计计算算机机在在非非数数值值运运算算方方面面的的应应用用远远超超过过数数值值运算方面应用。运算方面应用。2023/4/105本讲稿第五页,共六十页算法的特性算法的特性(1)有穷性,往往指是在合理的范围内有穷)有穷性,往往指是在合理的范围内有穷;(2)确定性,
6、算法的步骤应当是确定的,不应是含糊不清的)确定性,算法的步骤应当是确定的,不应是含糊不清的;(3)有零个或多个输入)有零个或多个输入;(4)有有一一个个或或多多个个输输出出。无无输输出出的的算算法法通通常常是是无无意意义义的的;(I/O)(5)有效性。)有效性。2023/4/106本讲稿第六页,共六十页算法的表示算法的表示自然语言自然语言流程图流程图传统流程图传统流程图N-S流程图流程图伪代码伪代码2023/4/107本讲稿第七页,共六十页 用传统流程框图表示算法用传统流程框图表示算法 起止框起止框 判断框判断框 流程线流程线 注释框注释框 输入输出框输入输出框 处理框处理框 连接点连接点 流
7、程图符号流程图符号流程图符号流程图符号2023/4/108本讲稿第八页,共六十页输入三个数,输出其中最大的数输入三个数,输出其中最大的数算法:算法:首首先先,找找个个地地方方放放这这三三个个数数,定定义义三三个个变变量量A、B、C,将将三三个个数数依依次次输输入入到到、B、C中中,另外,再准备一个另外,再准备一个MAX放最大数;放最大数;由由于于计计算算机机一一次次只只能能比比较较两两个个数数,于于是是先先把把A与与B比比,大大的的数数放放入入MAX中中,再再把把MAX与与C比,又把大的数放入比,又把大的数放入MAX中;中;最最后后,把把MAX输输出出,此此时时MAX中中放放的的就就是是、C三
8、数中最大的数。三数中最大的数。2023/4/109本讲稿第九页,共六十页求1-1/2+1/3-1/4+1/99-1/100开开 始始1 sum2 deno1 sign(-1)*sign signsign*(1/deno)termsum+term sumdeno+1 denodeno100NY结束结束输出输出sum值值2023/4/1010本讲稿第十页,共六十页算法的三种基本结构算法的三种基本结构顺序结构顺序结构选择结构(分支结构)选择结构(分支结构)循环结构(重复结构)循环结构(重复结构)当型(当型(While)循环结构)循环结构直到型(直到型(Until)循环结构)循环结构2023/4/10
9、11本讲稿第十一页,共六十页顺序结构顺序结构顺序结构顺序结构:坐:坐:坐:坐345345从中国政法大学到德胜门买衣服;从中国政法大学到德胜门买衣服;从中国政法大学到德胜门买衣服;从中国政法大学到德胜门买衣服;选选选选择择择择结结结结构构构构:坐坐坐坐345345从从从从中中中中国国国国政政政政法法法法大大大大学学学学到到到到德德德德胜胜胜胜门门门门买买买买衣衣衣衣服服服服,若若若若车车车车在在在在沙沙沙沙河河河河坏坏坏坏了了了了,就就就就转转转转919919到到到到德德德德胜胜胜胜门门门门;否否否否则则则则,坐坐坐坐345345直直直直接接接接到到到到德胜门;德胜门;德胜门;德胜门;循循循循环
10、环环环结结结结构构构构:坐坐坐坐345345从从从从中中中中国国国国政政政政法法法法大大大大学学学学到到到到德德德德胜胜胜胜门门门门买买买买衣衣衣衣服服服服,如如如如果果果果你你你你带带带带的的的的钱不够,需要回来取钱再去,直到钱够!钱不够,需要回来取钱再去,直到钱够!钱不够,需要回来取钱再去,直到钱够!钱不够,需要回来取钱再去,直到钱够!三种基本结构的类比举例三种基本结构的类比举例2023/4/1012本讲稿第十二页,共六十页三种基本结构的共同点三种基本结构的共同点(1)只有一个入口)只有一个入口(2)只有一个出口)只有一个出口(3)结构内的每一部分都有机会被执行到)结构内的每一部分都有机会
11、被执行到(4)结构内不存在)结构内不存在“死循环死循环”2023/4/1013本讲稿第十三页,共六十页用用N-S流程图表示算法流程图表示算法 1973年美国学者年美国学者I.Nassi和和B.Shneiderman提出了所谓的提出了所谓的N-S流程图。流程图。顺序结构顺序结构选择结构选择结构循环结构循环结构 2023/4/1014本讲稿第十四页,共六十页N-S图特点说明图特点说明(1)比文字描述直观、形象、易于理解;)比文字描述直观、形象、易于理解;(2)比比传传统统流流程程图图紧紧凑凑易易画画,尤尤其其是是其其废废除除流流程程线线,整整个个算算法结构是由各个基本结构按顺序组成;法结构是由各个
12、基本结构按顺序组成;(3)N-S图图的的上上下下顺顺序序就就是是执执行行顺顺序序,用用N-S图图表表示示的的算算法法是是结结构构化化算算法法:由由一一些些基基本本单单元元组组成成,在在基基本本单单元元之之间间不不存存在在向向前前或或向向后的跳转,流程的转移只存在于一个基本结构范围内。后的跳转,流程的转移只存在于一个基本结构范围内。2023/4/1015本讲稿第十五页,共六十页判断闰年的算法闰闰年年的的条条件件:(1)能能被被4整整除除,但但不不能能被被100整整除除的的年年份份都都是是闰闰年年;(2)能能被被100整整除除,又又能能被被400整整除除的的年年份份是是闰闰年年。不不符合这两个条件
13、的年份不是闰年。符合这两个条件的年份不是闰年。2023/4/1016本讲稿第十六页,共六十页用传统流程图表示y+1 y开开 始始2000 yy不能被不能被4整除整除y不能被不能被100整除整除打印打印y“是闰年是闰年”打印打印y“不是闰年不是闰年”y不能被不能被400整除整除打印打印y“是闰年是闰年”打印打印y“不是闰年不是闰年”结结 束束Y2500YNYYNNNY2023/4/1017本讲稿第十七页,共六十页用N-S流程图表示y+1 y2000 y y/4的余数为的余数为0是是否否 y/100的余数不为的余数不为0是是否否打印打印y“是闰年是闰年”y/400的余数的余数为为0打印打印y“是闰
14、年是闰年”打印打印y“非闰年非闰年”是是否否直到直到y 2500打印打印y“非闰年非闰年”2023/4/1018本讲稿第十八页,共六十页1 1 结构化程序结构化程序 用高级语言表示的结构化算法就是结构化程序,用高级语言表示的结构化算法就是结构化程序,用三种基用三种基本结构组成的程序必然是结构化的程序。本结构组成的程序必然是结构化的程序。结构化程序设计方法结构化程序设计方法2023/4/1019本讲稿第十九页,共六十页2 结构化程序设计的思路结构化程序设计的思路 把一个问题求解过程分阶段进行,每个阶段处理的问把一个问题求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理范围:题都控制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章程 灵魂 算法 精选 文档
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内