1、第四章 三种基本结构程序设计 本章内容及要求:1.了解算法概念及算法的表示,掌握用流程图表示算法 2. 熟练掌握赋值语句、 End语句和注释语句等语句及输入 /输出消息框函数的使用;3. 熟练掌握行 if语句、块 if结构、 Select Case情况选择结构的使用,掌握选择的嵌套结构;4. 熟练掌握实现循环结构的 For/Next循环结构及Exit For语句、 Do/Loop循环结构的使用,掌握多重循环。重点: 选择结构及循环结构的实现及其应用难点: 选择的嵌套及多重循环结构4.1 算法及算法的表示 4. 1.1 算法概述什么是算法:广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则
2、的、精确的、无歧义的描述,它的总步数是有限的。狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:例 4.1 输入三个数,然后输出其中最大的数。将三个数依次输入到变量、 B、 C中,设变量 MAX存放最大数。其算法如下: 例 4.2 输入 10个数,打印输出其中最大的数。算法设计如下:( 1)输入 1个数 ,存入变量 A中 ,将记录数据个数的变量 N赋值为 1,即 N=1( 2)将 A存入表示最大值的变量 Max中,即 Max=A( 3) 再输入一个值给 A, 如果 AMax 则 Max=A, 否则 Max不变( 4)让记录数据个数的变量增加 1,即 N=N+1
3、( 5) 判断 N是否小于 10,若成立则转到第( 3)步执行,否则转到第( 6)步。( 6)打印输出 max1) 输入 A、 B、 C。2) A与 B中大的一个放入 MAX中。3) 把 C与 MAX中大的一个放入 MAX中。4) 输出 MAX, MAX即为最大数。4.1.2 算法的特性 1 有穷性1 一个算法必须经过有限步骤之后就能解决某个问题。事实上,一般的有限性限制在实际中是不够的,因为尽管解决某个特定问题的执行步骤量是有限的,但可能对实际计算来说仍太大。一个有用的算法不仅要求步骤有限,同时也要求步骤量合理。 2 确定性2 一个算法的每一步必须是无歧义的和精确定义的。在各种情况下动作的执
4、行必须严密地确定。 3 有 0个或多个输入且有一个或多个输出输入可定义为算法执行前初始化时给定的一些量,输出指与输入有某种特定关系的,在算法执行完成时产生的一些量。 4 通用性一个算法最好是适用于某类问题而不只是适用于某一个问题。这种通用性,尽管不是必要的,但肯定是一有用算法要求的特性 4.1.3 算法的表示 一、自然语言与伪代码表示算法自然语言: 就是指人们日常使用的语言,可以是汉语、英语或其它语言。伪代码: 是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。 例如:例 4.1可用如下的伪代码表示Begin( 算法开始)输入 A, B, CIF AB 则AMax否则 B
5、MaxIF CMax 则 CMaxPrint MaxEnd (算法结束 )二、 用传统流程图表示算法处理框起止框 I/O框 判断框流程线 连接点1、传统流程图中的基本符号2、三种基本结构的传统表示( 1)顺序结构条件语句 1 语句 2Y N语句 1语句 2( 2)选择结构条件( a )条件语句组( 3)循环结构a) 当型 循环 b) 直到循环YNYN( b )语句组例 4.2输入 10个数,打印输出其中的最大的数的流程图NMaxMax =A输入 A开始再输入给 AN=N+1 输出 Max结束YNNYPrivate Sub Form_Click()Dim a%, max%, i%a = Val(InputBox(“A=?“)max = aFor i = 2 To 10a = Val(InputBox(“A=?“)If a max Then max = aNext iMsgBox( “Max=“ & Str(max)End Sub最后需要说明的是:上面介绍的算法表示是给人看的,即是为帮助程序开发人员阅读、编写程序而设计的一种辅助工具,程序则必须符合计算机语言的语法规则。下面是例 4.2的计算机 程序,即为用计算机语言表示算法: