【计算机】08 算法.pptVIP

  • 1
  • 0
  • 约1.28万字
  • 约 60页
  • 2018-02-26 发布于江苏
  • 举报
【计算机】08 算法

Visual Basic程序设计 第八讲 补充内容: 算法 一、算法的概念 1、什么是算法 为解决一个问题而采用的方法和步骤称为算法。 做任何事情都有一定方法和步骤,例如,打太极拳有描述太极拳动作的图解,它是“太极拳的算法”。解决某一问题的计算机算法,应该是一系列的操作步骤。 对同一个问题,可以有不同的算法,但算法有优劣之分,有的算法步骤少,有的算法步骤多。我们希望得到方法正确,步骤少的算法。 算法语言只是一 种工具,为实际问题设计算法才是程序设计的核心。 因此,为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。 2、算法的特点 有穷性。一个算法应包含有限的操作步骤,不能出现死循环。 确定性。算法中的每一个操作步骤都应当是确定的,而不应当是含糊不清的。 可以没有输入,也可以有多个输入。执行算法有时需要从外界得到信息,这时必须有输入语句。 有一个或多个输出。算法的目的是为了求解,“解”一定要通过输出,才能看到结果。 有效性。算法中的每一个步骤都应当能有效的执行。并得到确定的结果。 算法常用的几种表示方法 用传统流程图表示算法 用N-S结构化流程图表示算法 用伪代码表示算法 二、算法常用的几种表示方法 1、用传统流程图表示算法 传统流程图常用的符号 起止框 输入输出框 判断框 处理框 流程线 连接点 注释框 1、 用传统流程图表示算法 ---传统流程图表示算法的三种结构 顺序结构 分支结构 1、 用传统流程图表示算法 ------传统流程图表示算法的几种结构 循环结构 当型循环 直到型循环 1、 用传统流程图表示算法 例1 用流程图表示求5!的算法 1 、 用传统流程图表示算法 例2 用流程图表示判断2000年~2500年是否闰年的算法。 解:闰年的条件是: 1、用传统流程图表示算法 ---传统流程图的弊端 可读性差。由于算法中允许使用流程线让程序转来转去,从而使流程图变得毫无规律,读起来要化很大的精力。也使人难以理解算法的逻辑。 算法的可靠性和可维护性差。流程线的使用使算法变成一团乱麻,毫无规律,使其可靠性和可维护性差,因而因此流程图中必须限制箭头的使用。 1、用传统流程图表示算法 ---- 三种基本结构 顺序结构: 分支结构 1、用传统流程图表示算法 ---三种基本结构的特点 只有一个入口。 只有一个出口。 结构中每一部分都有机会被执行。 结构中不存在“死循环”。 2、用N-S结构流程图表示算法 流程符号: 顺序结构 先执行A框, 再执行B框。 选择结构 当条件P成立时执行A操作。 当条件P不成立时执行B操作。 2、 用N-S结构流程图表示算法 --举例 例1、将50名学生中成 绩高于80分的学生的 学号和成绩打印出来。 解:N-S结构化 流程图如图4-4: 其中: 变量i用来统计学生 人数。 变量Ni,Gi用来表示 学生的学号和分数。 2、 用N- S结构流程图表示算法 -- 举例 例2用N-S图表示求 的算法。 解:本例是求多项式的和,用变量sum存放累加和,由于每项中的符号不一样,须用一个变量sign来存放符号;用变量term来存放某一项。用变量deno来存放某一项的分母。算法开始,将变量sum和sign赋值为1,然后分别求sign和deno得到某一项的值,接着加到和上,再求另一项的值,再加到和上,直到deno大于100. 流程图如图4-5所示: 2、 用N-S结构流程图表示算法 ---- 举例 例3 用N- S结构化流程图表示判断2000年 ~2500年是否闰年的算法。 (见下页图 4- 6 ) 例4用N-S结构化流程图表示判断N是否为素数的算法。(见下页图 4- 7 ) 为了使程序能符合结构化程序设计,这里设计了一个开关W,使初值为0,若N能被某一个整数整除,则使W值为1,否则W值不变。最后根据W的值来确定N是否为素数,若W值为0,则N为素数,否则N为非素数。 3、用伪代码表示算法 ----什么是伪代码 伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。它如同一篇文章一样,自下而上地写下来。每一行(或几行)表示一个基本操作。它不用图形符号,因此书写方便、格式紧凑,易学好懂,便于修改,也便于向计

文档评论(0)

1亿VIP精品文档

相关文档