三种基本结构程序设计说明书
按钮及图标值如下:
例4.1 编一帐号和密码检验程序。
要求: 帐号不超过6位数字,有错,清除原内容再输入. 密码输入时在屏幕上以 “*”代替; 若密码错,显示有关信息, 选择“重试”按钮,清除原内容再输入,选择“取消”按钮, 停止运行。 分析: 帐号6位,MaxLength为6 , 密码PassWordChar为 “*”,MsgBox函数设置密码错对话框.
例如: CheckIt = IIf(TestMe > 1000, "Large", "Small") 相当于: If TestMe > 1000 Then testIt = "Large" Else testIt = "Small" End If
4.3.2 Select Case语句(情况语句)
形式: 数值型或字符串表达式 Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 … [Case Else 语句块n+1] End Select <表达式列表>:与<变量或表达式>同类型的下面四种形式之一 1. 表达式 A +5 2. 一组枚举表达式(用逗号分隔) 2, 4, 6, 8 3. 表达式1 To 表达式2 60 to 100 4. Is 关系运算符表达式 Is < 60
方法一 Select Case mark Case mark >= 90 MsgBox( "优") Case mark >= 80 MsgBox("良") Case mark >= 70 MsgBox("中") Case mark >= 60 MsgBox("及格") Case Else MsgBox("不及格") End Select 方法二 Select Case mark Case Is >= 90 MsgBox("优") Case Is >= 80 MsgBox("良") Case Is >= 70 MsgBox( "中") Case Is >= 60 MsgBox("及格") Case Else MsgBox("不及格") End Select
Print
Y
3. If…Then…ElseIf语句(多分支结构)
形式: If <表达式1> Then <语句块1> ElseIf <表达式2>Then <语句块2> … [Else 语句块 n+1 ] End If
执行过程
例:输入一学生成绩,评定其等级。方法是:90~100分为 “优秀”,80~89分为“良好”,70~79分为“中等”, 60~69分为“及格”,60分以为“不合格”
Private Sub Form_Click() Dim a%, max%, i%
a = Val(InputBox("A=?"))
max = a For i = 2 To 10 a = Val(InputBox("A=?")) If a > max Then max = a Next i MsgBox( "Max=“ & Str(max)) End Sub
t
y
图 1-3-8 过程
两个数交换
2. If…Then…Else语句(双分支结构) If <表达式> Then <语句块1> Else <语句块2> End If
If <表达式> Then <语句1> Else <语句2>双分支选择结构执行过程
例如:输出x,y两个中值较大的一个值。 IF X>Y Then Print X Else Print Y End If 也可以写成如下的单行形式: IF X>Y Then Print X Else
一、自然语言与伪代码表示算法 自然语言:就是指人们日常使用的语言,可以是汉语、 英语或其它语言。 伪代码:是用介于自然语言和计算机语言之间的文字和 符号(包括数学符号)来描述算法。 例如:例4.1可用如下的伪代码表示 Begin(算法开始) 输入 A,B,C IF A>B 则 A→Max 否则 B→Max IF C>Max 则 C→Max Print Max End (算法结束)
4.3 选择结构
1. If…Then语句(单分支结构)
If <表达式> Then 语句块 End If 或 If <表达式> Then <语句>
x
例:已知两个数x和y,比较它们的 大小, 使得x大于y. If x<y Then t=x : x=y: y=t End If 或 If x<y Then t=x: x=y: y=t
的执行必须严密地确定。
3 有0个或多个输入且有一个或多个输出
输入可定义为算法执行前初始化时给定的一些量,输出指与输入有某 种特定关系的,在算法执行完成时产生的一些量。
4 通用性
一个算法最好是适用于某类问题而不只是适用于某一个问题。这种通 用性,尽管不是必要的,但肯定是一有用算法要求的特性
4.1.3 算法的表示
二、
用传统流程图表示算法
1、传统流程图中的基本符号
起止框 I/O框 判断框
处理框
流程线
连接点
2、三种基本结构的传统表示
(1)顺序结构 (2)选择结构
语句1 语句2
Y
条件
N
语句1
语句2
(3)循环结构
a) 当型循环 b) 直到循环
条件 Y 语句组
N
语句组
Y 条件 N
(a)
(b)
例4.2输入10个数,打印输出其中的最大的数的流程图
IIf 函数
语法:IIf(expr, truepart, falsepart)
部分 expr truepart falsepart 描述 必要参数。用来判断真伪的表达式。 必要参数。如果 expr 为 True,则返回这部分的值或 表达式。 必要参数。如果 expr 为 False,则返回这部分的值或 表达式。
变量名=InputBox[$](<提示信息>[,<标题>][,<缺省>] [,<x坐标>][,<y坐标>] ) 其中:提示 提示信息,标题 标题区显示,缺省输入区缺省值 有$ 返回字符类型,否则为数值类型. 例如,要在屏幕上显示如下的对话框:
标题题 提示
缺省值
例如:有下列语句如下: Dim strName As String * 40, strS1 As String * 40 strS1 = “请输入你的姓名” + Chr(13) + Chr(10) + “然后单 击确定” strName= InputBox$(strS1, “输入框”, , 100,100) 当键盘输入“王晓明” 后,变量strName获得键盘输入的值.
最大数。其算法如下:
1) 输入A、B、C。 2) A与B中大的一个放入MAX中。 3) 把C与MAX中大的一个放入MAX中。 4) 输出MAX,MAX即为最大数。 例4.2 输入10个数,打印输出其中最大的数。 算法设计如下: (1)输入1个数,存入变量A中,将记录数据个数的变量N赋值 为1,即N=1 (2)将A存入表示最大值的变量Max中,即Max=A (3)再输入一个值给A,如果A>Max 则 Max=A, 否则Max 不变 (4)让记录数据个数的变量增加1,即N=N+1 (5)判断N是否小于10,若成立则转到第(3)步执行,否 则转到第(6)步。 (6)打印输出max
请问以下哪些正确,哪些错误?
方法一 方法二 If mark >= 90 Then If mark < 60 Then MsgBox( "优") MsgBox( "不及格") ElseIf mark >= 80 Then ElseIf mark < 70 Then MsgBox("良") MsgBox( "及格") ElseIf mark >= 70 Then ElseIf mark < 80 Then MsgBox( "中") MsgBox( "中") ElseIf mark >= 60 Then ElseIf mark < 90 Then MsgBox( "及格") MsgBox( "良") Else Else MsgBox( "不及格") MsgBox("优") End If End If 方法三 If mark >= 60 Then MsgBox( "及格") ElseIf mark >= 70 Then MsgBox( "中") ElseIf mark >= 80 Then MsgBox("良") ElseIf mark >= 90 Then MsgBox("优") Else MsgBox("不及格") End If
4.2 顺序结构
4.2.1 赋值语句
形式: 变量名=表达式 对象.属性=表达式
功能: 将表达式的值赋值给变量名或指定对象的属性。 一般用于给变量赋值或对控件设定属性值. 例: sRate!=0.1 Text1.Text = "欢迎使用Visual ” 说明: 1. 执行过程:先求表达式的值,然后将值赋值给左边的变量。 2. 右边表达式可以是变量、常量、函数调用等特殊的表达式。 3. 不要将“=”理解为数学上的等号: A=A+1 是表示将A单元的值加1后以放回到A单元。