vb程序设计第四章
4.铁路运货的费用与路程s远近有关: 不足50公里, 每吨每公里1.00元 >=50公里,<100公里, 每吨每公里0.90元 >=100公里,<200公里, 每吨每公里0.80元 >=200公里, 每吨每公里0.70元 如下程序是计算运货w吨,路程s公里的运费,请将程序补充完整 Private Sub Command1_Click() Dim w As Single, s As Single, p As Single w = val(InputBox("请输入货物吨数!")) s = val(InputBox("请输入行使公里数!")) If Then p = 0.7 ElseIf s >= 100 Then p = 0.8 ElseIf s >= 50 Then p = 0.9 End If Print "公交运费为:"; p * s * w End Sub
第四章 选择结构程序设计
4.1 选择结构程序设计概念 特点:根据给定的条件为真(即条件成立) 与否,而决定从各种实际可能的不同分支中 执行某一分支的相应操作。 在VB中,实现选择结构的语句有: If Then Else、 If Then IfElse、Select Case 条件语句的功能是:根据表达式的值有选择地执行 一组语句。
"空格"<"数字"<"大写字母"<"小写字母"< "任何汉字"
不要对单精度或双精度的数进行 “ = ” 比较
例2: PRINT 5<2+3,3<>6,6>=6 PRINT X=1 PRINT a=b PRINT #11-24-1999# > #2000-12-1# END 请问此程序的运行结果是?? 答案: false true true false true false
[<语句组2>] :
[ELSEIF <条件N> <语句组N>] [ELSE <语句组N+1>] THEN
END IF
例:百货公司促销,采用购物打折的优惠,每位
顾客一次购物: (1)在1000元以上者,九五折优惠 (2)在2000元以上者,九折优惠 (3)在3000元以上者,八五折优惠 (4)在5000元以上者,八折优惠
4.2
关系表达式和逻辑表达式
4.2.1 关系运算符和关系表达式
关系运算符主要是对比较来说的。 关系表达式是由关系运算符把两个算术表达 式连接起来的式子 一般形式: <表达式><关系运算符><表达式>
VB 提供的关系运算符有:
=(等于) >(大于) <(小于) <>(不等于) >=(大于或等于) <=(小于或等于)
5.用inputbox()判断输入的书能否被3或5整除。
6.求一元二次方程ax2+bx+c=0的实根。
7.P97 例4-8
8.设计一个用于倒计时的计时器。
END
真
如果T1 OR T2 OR T3
假
输出:可以获奖
输出:不能获奖
4.3.2 块结构条件语句 IF…THEN…ELSE…END IF 语法结构:P88 IF <条件> Then [语句系列1] [Else [语句系列2] End If
4.3.3 使用IIF函数 使用IIF函数来实现一些比较简单的选择结构。 格式为: IIF(<条件表达式>,<真部分>,<假部分>) 例如:
例: 判断能否获奖 流程图:
输入s1,s2,s3,s4,s5 T1=s1+s2+s3+s4+s5>=450
T2=s1>=88 and s2>=88 and s3>=88 and s4>=88 and s5>=88 T3=s1>=95 and s2>=95 and s3>=95 and s4>=80 and s5>80
例:IF x>=0 AND X<=10 THEN PRINT X*10 ELSE PRINT X*20
IF X>10 THEN Y=3 IF X THEN PRINT X ELSE Y=4 ELSE PRINT "HELLO" ??
例: P91 4-4 流程图:
输入x的值
真 y=1+x 输出y的值 如果x>=0 y=1-2x 假
复习题
1.下图是应用程序的窗体,要求用户选中复选框check1后, 文本框 text1 中的文本以粗体显示,选中复选框 check2 以 后,文本框的文本以斜体显示,单击关闭按钮command1结 束程序运行,请将程序补充完整。 Private Sub Check1_Click() If Then Text1.FontBold = True Else Text1.FontBold = False End If End Sub
3.1.2 逻辑运算符和逻辑表达式
一个简单的条件可用关系运算符表示,一个
复杂的条件只能用逻辑运算符构成逻辑表达 式来判断;
如: 10> Y>0(数学表达式)
Y>0 AND Y<10 (VB表达式)
VB提供的逻辑运算符有:
逻辑运算符
含义
例
AND
OR NOT
逻辑与
逻辑或 逻辑非
A>B AND B>C
4.4 多分支条件选择语句 SELECT CASE 流程图:
<测试表达式>
<条件11>,<条件12>…<条件21>,<条件22>… …… 其他情形
<语句组1>
<语句组2>
……
<语句组n>
1、 一般结构: SELECT CASE <测试表达式> CASE <表达式1> <语句列1> CASE <表达式2> <语句列2> CASE <表达式3> <语句列3> : : [CASE ELSE <其他语句列>] END SELECT
End Sub
3. 下图中窗体上有三个文本框 Text1, Text2, Text3, 一 个按钮 Command1, 为完成已知圆直径求圆周长和圆面积的 功能, 请将程序补充完整。 Dim d As Single Private Sub Command1_Click()
If d >= 0 Then Text2.Text = 3.14159 * d Text3.Text = 3.14159 * (d / 2) ^ 2 End If End Sub
A>B OR B>C NOT A>B
XOR
逻辑异或
A>B XOR B>C
一个逻辑表达式内可能包括逻辑运算符、关 系运算符和算术运算符,它们有一个优先顺 序的问题:
它们的优先顺序如下: (NOT
算术运算 字符串运算
AND
OR,XOR)
关系运算 逻辑运算
高 例:a=5:b=4:c=6 x=4*b+1<c^2 y=b+c<5 z=NOT 2*a>b=c*2 PRINT x,y,z,x OR y AND z True false true true
4.6 使用计时控件器(Timer) 计时器控件(Timer)可以在应用中以重复 的时间间隔产生一个事件。 计时器控件的主要属性: Enable:定时器是否开始工作的设置 Interval:设置定时器触发的周期,以毫秒 计算,取值范围为:0—64767 唯一事件: Timer 例: P103 4-11, P105 4-13, P106 4-14
说明: <测试表达式>是必要参数,是任何数值表达式 或字符串表达式 在Case子句中,<表达式>为必要参数,用来测 试其中是否有值与<测试条件>相匹配。其形式 有: 表达式: Case 3 表达式 to 表达式:指定一个范围 Case 2 to 9 Case "a" to "f" Is关系运算表达式: Case Is<100
2.以下程序用以判断x的值是否在[0,10]的范围内,请将 程序补充完整。 Private Sub Command1_Click() Dim x As Integer, y As Integer x = Val(InputBox("请输入x的值", "数据输入", 0)) If Then MsgBox "满足条件" Else MsgBox "不满足条件"
低
4.3 单条件选择语句 IF 流程图:
真 条件 假
语句系列1
语句系列2
说明: <语句系列1>和<语句系列2>可以为空。 实现单条件选择结构的语句是IF语句,在VB 中有行IF语句和块IF语句两种。
IF<条件>THEN<语句1>[ELSE<语句2>]
“条件”可以是逻辑表达式或关系表达式或 者 是一个逻辑量。
<语句列>可选参数,是一条或多条语句 Case Else子句用于指明其他语句系列,当 测试条件和所有的Case子句<表达式表>中 的值都不匹配时,则会执行这些语句。 例:P94 4-6
4.5 提供简单选择的控件 4.5.1 选项按钮(OptionButton) 一、使用选项按钮组 (一般用框架(Frame)控件来组织一个选项组) 1、常用属性 caption,alignment value:控件的选择状态(true,false) style(使用图形选项按钮) 2、事件 click