项目3 目菜单的选择执行.pptVIP

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目3 目菜单的选择执行

;;;;;3.1 任务4:用if语句实现菜单的选择执行;3.2必备知识与理论;2. 算法的特性 简单地说,算法就是进行操作的方法和操作步骤。例如,菜谱实际上是做菜肴的算法,乐谱实际上是演奏的算法,计算机程序是用某种程序设计语言描述的解题算法。通常认为算法有如下一些性质: (1)有穷性 一个算法要在有限的步骤内解决问题(这里所说的步骤是指计算机执行步骤)。计算机程序不能无限地运行下去(甚至不能长时间地运行下去),所以一个无限执行的方法不能成为程序设计中的“算法”。 (2)确定性 确定性具有两重意义:一是所描述的操作应当具有明确的意义,不应当有歧义性。例如,不能发出这样的操作指令:“执行一个算术操作”。因为它既没有指出算术操作的类型,也没有指出操作数。 确定性的另一重意义: · 操作作序列只有一个初始动作,序列中每一动作仅有一个后继动作; · 序列终止表示问题得到解答或问题没有解答,不能没有任何结论。;;3.2.2 算法的表示方法 1. 自然语言表示算法 自然语言是相对于计算机语言而言的,是指人们在日常生活中使用的语言,如汉语、英语等。对于某些程序员来说,自然语言通俗易懂。但是,对于规模大、复杂的算法,使用自然语言来描述,往往很冗长,不直观,而且容易发生歧义。比如对于以下这句话:如果A大于B,就给它加1。在理解时就可能出现歧义,是给A加1?还是给B加1。 对于以上的一段话,如果我们用C语言进行编程则为: if(AB) A=A+1; 正是由于自然语言描述算法具有的缺陷,所以在程序设计中很少有人使用。;;过程;平行四边形表示数据,其中可注明数据名称、来源、用途或其它的文字说明。 处理矩形表示各种处理功能。例如,执行一个或一组特定的操作,从而使信息的值、信息形式或所在位置发生变化。矩形内可注明处理名称或其简要功能。 预定义过程带有双竖边线的矩形,表示已命名的处理。该处理为在另外地方已得到详细说明的一个操作或一组操作。例如库函数或其它已定义的函数等。矩形内可注明特定处理名称或其简要功能。 判断菱形表示判断。菱形内可注明判断的条件。它只有一个入口,但可以有若干个可供选择的出口,在对定义的判断条件求值后,有一个且仅有一个出口被选择。求值结果可在表示出口路径的流线附近写出。 流线直线表示执行的流程。当流程自上向下或由左向右时,流程线可不带箭头,其它情况应加箭头表示流程。 端点。扁圆形表示转向外部环境或从外部环境转入的端点符。例如,程序流程的起、始点。 注解。注解是程序的编写者向阅读者提供的说明。注解符由纵边线构成,它用虚线连接到被注解的符号或符号组上。 ; 图3-2(a)、(b)、(c)中的虚线框,分别为用流程图表示的三种基本流程控制结构。;例3-1 用流程图描述从三个数中取最大数的算法。 从三个数中取最大数的算法思路是:假定这三个数是a,b,c,则首先可以比较a,b两数,从中选大者;然后再用这个大数与数c比较,从中取大者。这时得到的大数,就是三个数中的最大数。这个算法用流程图描述如图3-3(a)所示。 通常,求解一个问题的算法不是唯一的。例如图3-3(b)也是一个三数中取大的算法。它的基本思路是,先设max=第一个数,然后依次输入i个数,每输入一个数,与max比较一次,把大的放入max中。当输完i个数时,max中存放的就是这i个数中的最大数。这里,i是一个计数器,用于统计输入数的个数,所以每输入一个数,要执行一次自增操作。这个算法与图3-3(a)所示算法的不同在于: 算法结构不同:图3-3(a)所示算法采用了两个选择结构,而图3-3(b)所示算法采用了一个循环结构和一个选择结构。 算法的灵活性不同:图3-3(b)中的算法可以用来求任意个数中的最大数。;a=b; 3. 用N-S流程图表示算法 灵活的流线是程序中隐藏错误的祸根。针对这一弊病,1973年美国学者I. Nassi和B. Shneiderman提出了一种无流线的流程图,称为N-S图。它的三种基本结构如图3-4所示。 N-S图的每一种基本结构都是一个矩形框,整个算法可以像堆积木一样堆成。其中,(a)为三个操作组成的顺序结构;(b)为二分支的选择结构;(c)为当型重复结构,即当命题P 为“真”时,就重复执行S。;S1; 图3-5(a)、(b)给出了用与图3-3(a)、(b)流程图对应的N-S图。; 3. 用伪码表示算法 伪代码(pseudo code)是用介于自然语言与计算机语言之间的文字符号算法描述的工具。它无固定的、严格的语法规则,通常是借助某种高级语言的控制结构,中间的操作可以用自然语言(

文档评论(0)

ms30039 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档