第03章程序的控制结构.ppt

第03章程序的控制结构.ppt

ID:60878063

大小:1.52 MB

页数:75页

时间:2020-02-03

第03章程序的控制结构.ppt_第1页
第03章程序的控制结构.ppt_第2页
第03章程序的控制结构.ppt_第3页
第03章程序的控制结构.ppt_第4页
第03章程序的控制结构.ppt_第5页
资源描述:

《第03章程序的控制结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章程序的控制结构2本章主要内容3.1算法3.2C语句概述3.3顺序结构3.5循环结构3.6综合例子3.4选择结构33.1算法可以把“算法”理解为完成一件事情或解决一个问题而采取的方法和步骤。由此可知,算法这一概念早已融入我们的学习与生活中:如何求解一个方程、如何安排去某地旅游的路线或行程等都包含着某种算法。当然我们现在只讨论计算机算法,即计算机可以实现的算法。43.1算法按数据的处理方式,计算机中的算法可分为:(1)数值运算:目的是求数值解,如求方程的根,求函数的定积分等。(2)非数值运算:目前使用范

2、围广泛,如办公自动化处理、图书情报检索等。一般来说,不同的问题,有不同的解决方法和步骤,而对同一问题,也可能有不同的解决方法和步骤,也就是有不同的算法。算法有优劣,一般而言,应当选择简单的、运算步骤少的,运算快、内存开销小的算法。53.1.1算法的特性1.有穷性算法包含的操作步骤是有限的,每一步都应在合理的时间内完成。2.确定性算法中的每一步骤都应是唯一的和确定无误的,不允许有岐义性。如“输出成绩优秀的同学名单”就有岐义,“成绩优秀”的含义不明确。3.有效性算法中每一步骤都应是能有效地执行,且能得到确定的

3、结果,例如:求一个负数的对数,就是一个无效的步骤。4.没有输入或有多个输入有些算法无需从外界输入数据,如计算6!,而有的算法需从外界输入数据,如计算n!。5.有一个或多个输出即算法必须得到结果,没有结果的算法是毫无意义的。63.1.2算法的表示1.用自然语言表示算法所谓自然语言,即人们日常使用的语言,可以是汉语、英语、其他语言及其混合体。用自然语言表示通俗易懂,但文字冗长,容易出现岐义性。[例3-1]计算1+2+3+…+100的和。方法1:可以采用最原始方法:1+2,+3,+4,一直加到100,加99次。

4、将这一思路用自然语言描述为如下算法:s1:计算1+2;s2:使得s1+3;s3:使得s2+4;计算100以内自然数的和,需要99个步骤。即s99:s98+100。观察上述的算法,可以考虑使用一个变量(sum)既用来存放每一次的求和结果,又用来表示每一次求和时的被加数。这样方法1中的99个步骤可以表示为:s1:sum=sum+2;(在这之前先把sum初始化为1)s2:sum=sum+3;s3:sum=sum+4;s99:sum=sum+100;再次观察上述的算法,可以考虑再使用一个变量i来表示加数,让i

5、从2开始,不断地做sum=sum+i这一个相同的循环操作,直到i超过100为止。于是可以得到改进的算法如下:73.1.2算法的表示方法2:用变量sum和i分别表示两个加数,和也用变量sum表示。用自然语言描述如下:s1:sum=1;s2:i=2;s3:若i<=100,重复步骤s4~s5,否则转去执行s6;s4:sum=sum+i;s5:i=i+1;s6:输出sum的值。上述算法是一个循环算法:S3到S5组成一个循环,在实现算法时要反复多次执行S3,S4,S5等步骤,直到某一时刻,执行S5步骤时经过判断,加

6、数i已超过规定的数值而不返回S3步骤为止。此时算法结束,变量sum的值就是所求结果。83.1.2算法的表示2.用传统流程图表示算法传统流程图采用一组规定的图形符号、流程线和文字说明来表示各种操作算法。美国国家标准化协会ANSI(AmericanNationalStandardInstitute)规定了一些常用的流程图符号,已为世界各国程序工作者普遍采用,如表3-1所示。用传统流程图描述例3-1的算法,如图3-1所示。用传统流程图表示算法直观形象,易于理解,能够比较清晰地表达各种处理之间的逻辑关系,是表示算

7、法的较好的工具。但由于对流程线的使用没有严格限制,易造成流程的随意转移,不能保证是结构化的,从而难以阅读和修改。93.1.2算法的表示符号名称用途起止框用于描述控制流程的开始和结束:开始框内标注“开始”字样,结束框内标注“结束”字样输入输出框用于表示数据的输入和输出:框内标明输入输出的变量处理框用于描述数据加工和处理:常采用文字加符号来表示计算公式和赋值操作判断框用于描述条件判断和转移关系:框内描述条件关系,两个流出边分别标注Yes/No、Y/N、True/False或“真/假”,表示条件成立或不成立时的

8、转移关系调用框用于描述过程调用或模块调用:框内标注函数或模块名流程线用于连接两个图形框:箭头描述处理过程的转移方向连接框用于描述多张流程图的连接:应附加文字标识连接关系表3-1传统流程图常用的图形符号103.1.2算法的表示3.用N—S流程图表示算法针对传统流程图存在的问题,1973年美国学者I.Nassi和B.Shneiderman提出了一种新的结构化流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。