欢迎来到天天文库
浏览记录
ID:44083709
大小:310.42 KB
页数:24页
时间:2019-10-18
《程序的灵魂——算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二章程序的灵魂--算法陕西师范大学计算机科学与技术专业:李绵梁本章要点算法的概念算法的表示结构化程序设计方法主要内容2.5结构化程序设计方法2.1算法的概念2.2简单算法举例2.3算法的特性2.4算法的表示2.1算法的概念广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。100+(1+99)+(2+98)+…+(49+51)+50=100+49×100+50加51次对同一个问题,可有不同的解题方法和步骤!例:求1+2,+3,+4,一直加到100加99次方法1:方法2:为了有效地进行解题,不仅需要保证算法正确,还
2、要考虑算法的质量,选择合适的算法。希望方法简单,运算步骤少。包括的面十分广泛,最常见的是用于事务管理领域,例如图书检索、人事管理、行车调度管理等。计算机算法可分为两大类别:数值运算算法:非数值运算:求数值解,例如求方程的根、求函数的定积分等。2.2简单算法举例例:求1×2×3×4×5步骤4:将24再乘以5,得120太繁琐那么,如果要求1×2×…×1000则要写999个步骤!!!步骤3:将6再乘以4,得24步骤2:将步骤1得到的乘积2再乘以3,得到结果6步骤1:先求1×2,得到结果2S5:如果i不大于5,返回重新执行步骤
3、S3以及其后的步骤S4和S5;否则,算法结束。最后得到p的值就是5!的值。可以设两个变量:一个变量代表被乘数,一个变量代表乘数。不另设变量存放乘积结果,而直接将每一步骤的乘积放在被乘数变量中。设p为被乘数,i为乘数。用循环算法来求结果,算法可改写:S1:使p=1S2:使i=2S3:使p×i,乘积仍放在变量p中,可表示为:p×i→pS4:使i的值加1,即i+1→i。此时,如果题目改为:求1×3×5×……×999算法只需作很少的改动:算法简练S5:如果i不大于999,返回重新执行步骤S3以及其后的步骤S4和S5;否则,算法
4、结束。最后得到p的值就是所求的值。S1:使p=1S2:使i=3S3:使p×i,乘积仍放在变量p中,可表示为:p×i→pS4:使i的值加2,即i+2→i。用这种方法表示的算法具有通用性、灵活性。S3到S5组成一个循环,在实现算法时要反复多次执行S3,S4,S5等步骤,直到某一时刻,执行S5步骤时经过判断,乘数i已超过规定的数值而不返回S3步骤为止。此时算法结束,变量p的值就是所求结果。2.3算法的特性有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果。一个算法应该具有以下特点:有穷性:包含有限的操作步骤确定性
5、:算法中的每一个步骤都应当是确定的有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息有一个或多个输出:算法的目的是为了求解,“解”就是输出可以用不同的方法表示算法,常用的有:2.4算法的表示自然语言传统流程图结构化流程图伪代码PAD图用自然语言表示算法自然语言就是人们日常使用的语言,可以是汉语或英语或其它语言。用自然语言表示通俗易懂,但文字冗长,容易出现“歧义性”。自然语言表示的含义往往不大严格,要根据上下文才能判断其正确含义,描述包含分支和循环的算法时也不很方便。因此,除了那些很简单的问题外,一般不用自然语言
6、描述算法。起止框判断框处理框输入/输出框注释框流向线连接点用流程图表示算法美国国家标准化协会ANSI(AmericanNationalStandardInstitute)规定了一些常用的流程图符号:例将求5!的算法用流程图表示开始1=>t2=>it*i=>ti+1=>ii>5YN输出t结束流程图是表示算法的较好的工具。一个流程图包括以下几部分:(3)框内外必要的文字说明。(2)带箭头的流程线;(1)表示相应操作的框;三种基本结构Bohra和Jacopini提出了以下三种基本结构:选择结构顺序结构循环结构用这三种基本结构作为
7、表示一个良好算法的基本单元。三种基本结构的图示:顺序结构选择结构循环结构当型(While型)循环直到型(Until型)循环abABabABpp1AAp1成立不成立不成立成立aabb1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其它的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图又称N--S结构化流程图。用N--S流程图表示算法N--S流程图用以下的流程图符号:顺序结构选择结构循环结构
8、BAAB成立p不成立AA当p1成立直到p1成立当型(While型)循环直到型(Until型)循环用三种N--S流程图中的基本框,可以组成复杂的N--S流程图。图中的A框或B框,可以是一个简单的操作,也可以是三个基本结构之一。P≥100成立不成立r=0.08r=0.06当n≤10P*(1+r)=>pABA
此文档下载收益归作者所有