Visual Basic 程序设计教程

58
Visual Basic Visual Basic 程程程程程程 程程程程程程 机机机机机机机机机机机 机机机机机机 2003 程 6

description

Visual Basic 程序设计教程. 机械工业出版社同名教材 配套电子教案. 2003 年 6 月. 第 4 章 选择结构程序设计. 1. 条件表达式. 1. 1 关系运算符与关系表达式 关系运算符 关系表达式 关系表达式的格式为 〈 表达式 1〉〈 关系运算符 〉〈 表达式 2〉[〈 关系运算符 〉〈 表达式 3〉…] 布尔运算符与布尔表达式 VB 提供的布尔运算符有: And 、 Or 、 Not 、 Xor 、 Eqv 、 Imp 等 6 种. 3 运算符的优先顺序. - PowerPoint PPT Presentation

Transcript of Visual Basic 程序设计教程

Page 1: Visual Basic  程序设计教程

Visual Basic Visual Basic 程序设计教程程序设计教程

机械工业出版社同名教材配套电子教案

2003 年 6月

Page 2: Visual Basic  程序设计教程

第 4 章 选择结构程序设计

条件表达式 11

1 关系运算符与关系表达式

<1> 关系运算符

<2> 关系表达式

关系表达式的格式为

〈表达式 1 〉〈关系运算符〉〈表达式 2 〉 [ 〈关系运算符〉〈表达式 3 〉… ]

2 布尔运算符与布尔表达式

VB 提供的布尔运算符有: And 、 Or 、 Not 、 Xor 、 Eqv 、Imp 等 6 种

Page 3: Visual Basic  程序设计教程

3 运算符的优先顺序

【例 4-1 】设变量 x = 4 , y = –1 , a = 7.5 , b = – 6.2 ,求表达式 x + y > a + b And Not y < b 的值。

分析:将按下面步骤计算:

(1) 先作算术运算: 3 > –1.3 And Not y < b

(2) 再作关系运算: True And Not False

(3) 作非运算: True And True

(4) 最后得: True

Page 4: Visual Basic  程序设计教程

【例 4-2 】判断某个年份是闰年的根据是年份数满足下述条件之一。

(1) 能被 4 整除,但不能被 100 整除的年份都是闰年。

(2) 能被 100 整除,又能被 400 整除的年份都是闰年。

设变量 y 表示年份,写出判断 y 是否闰年的布尔表达式。

解:判断 y 是否满足条件 (1) 的布尔表达式是 y Mod 4 = 0 And y Mod 100 <> 0

判断 y 是否满足条件 (2) 的布尔表达式是 y Mod 100 = 0 And y Mod 400 = 0

两者取“或”,即得判断闰年的布尔表达式

y Mod 4 = 0 And y Mod 100 <> 0 Or y Mod 100 = 0 And y Mod 400 = 0

Page 5: Visual Basic  程序设计教程

2. 单条件选择语句 IF 1 单行结构条件语句 IF…THEN…ELSE

单行 If 语句的语法格式为

If 〈条件〉 Then [ 〈语句序列 1 〉 ] [ Else 〈语句序列 2 〉 ]

【例 4-3 】输入 x ,计算 y 的值。其中:

)0(21

)0(1

xx

xxy

Page 6: Visual Basic  程序设计教程

设计步骤如下:

(1) 建立应用程序用户界面与设置对象属性。

(2) 编写程序代码。

写出命令按钮 Command1 的单击( Click )事件代码为

Private Sub Command1_Click()

Dim x As Single, y As Single

x = Val(Text1.Text)

If x >= 0 Then y = 1 + x Else y = 1 – 2 * x

Text2.Text = y

End Sub

Page 7: Visual Basic  程序设计教程

【例 4-4 】学校对学习成绩优良的学生进行奖励,获奖的条件如下:

(1) 所考 5 门课的总分超过 450 分。

(2) 每门课的成绩都在 88 分以上。

(3) 前 3 门(主课)的成绩都在 95 分以上,其他两门(非主课)的成绩都在 80 分以上。

输入某学生 5 门课的成绩 s1 、 s2 、 s3 、 s4 、 s5 ,判断他是否能够获奖。

设计步骤如下:

(1) 建立应用程序用户界面与设置对象属性。

(2) 编写程序代码。

Page 8: Visual Basic  程序设计教程

图 4-5 判断能否获奖可以写出命令按钮 Command1 的单击( Click )事件代码为:

Private Sub Command1_Click()

Dim s1 As Single, s2 As Single, s3 As Single, s4 As Single, s5 As Single

Dim p As String

s1 = Val(InputBox(" 请输入第 1 门课的成绩: ", " 输入框 ", 0))

s2 = Val(InputBox(" 请输入第 2 门课的成绩: ", " 输入框 ", 0))

s3 = Val(InputBox(" 请输入第 3 门课的成绩: ", " 输入框 ", 0))

Page 9: Visual Basic  程序设计教程

s4 = Val(InputBox(" 请输入第 4 门课的成绩: ", " 输入框 ", 0))

s5 = Val(InputBox(" 请输入第 5 门课的成绩: ", " 输入框 ", 0))

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 t1 Or t2 Or t3 Then p = " 可以获奖 !" Else p = " 不能获奖 !"

p = Str(s1) & "," & Str(s2) & "," & Str(s3) & "," & Str(s4) & "," & Str(s5) & Chr(13) & p

Label1.Caption = " 该生五门课的成绩分别是: " & Chr(13) & p

End Sub

Page 10: Visual Basic  程序设计教程

【例 4-5 】利用输入框函数输入 3 个不同的数,选出其中最大的数。

设计步骤如下:

(1) 建立应用程序用户界面与设置对象属性。

(2) 编写程序代码。

Page 11: Visual Basic  程序设计教程

可以写出命令按钮 Command1 的单击( Click )事件代码为Private Sub Command1_Click() Dim a As Single, b As Single, c As Single a = Val(InputBox(" 请输入第 1 个数: ", " 输入框 ", 0)) b = Val(InputBox(" 请输入第 2 个数: ", " 输入框 ", 0)) c = Val(InputBox(" 请输入第 3 个数: ", " 输入框 ", 0)) p = " " & a & " , " & b & " , " & c p = p & " 三个数中最大的数是: " If a > b And a > c Then p = p & a If b > a And b > c Then p = p & b If c > a And c > b Then p = p & c Label1.Caption = pEnd Sub

Page 12: Visual Basic  程序设计教程

2 使用 IIF 函数 IIf 函数的语法结构为

IIf( 〈条件表达式〉,〈真部分〉,〈假部分〉 )

【例 4-6 】例 4-3 中命令按钮 Command1 的单击( Click )事件代码可以改为

Private Sub Command1_Click()

Dim x As Single, y As Single

x = Val(Text1.Text)

y = IIf(x >= 0, 1 + x, 1 – 2 * x)

Text2.Text = y

End Sub

Page 13: Visual Basic  程序设计教程

3. 块结构条件语句 IF…THEN…ELSE…END IF

其语法结构为

If 〈条件 1 〉 Then

[ 语句列 1]

[Else

[ 语句列 2]]

End If

Page 14: Visual Basic  程序设计教程

【例 4-7 】将例 4-3 中命令按钮 Command1 的单击( Click )事件代码改为多行 If 语句:

Private Sub Command1_Click()

Dim x As Single, y As Single

x = Val(Text1.Text)

If x >= 0 Then

y = 1 + x

Else

y = 1 – 2 * x

End If

Text2.Text = y

End Sub

Page 15: Visual Basic  程序设计教程

4. IF 语句的嵌套 1. IF 语句的嵌套

2. 【例 4-8 】铁路托运行李,从甲地到乙地,规定每张客票托运费计算方法是行李重量不超过 50kg 时, 0.25 元 /kg ,超过 50kg 而不超过 100kg 时,其超过部分按 0.35 元 /kg 收费,超过100kg 时,其超过部分按 0.45 元 /kg收费。编写程序,输入行李重量,计算并输出托运的费用。

设计步骤如下:

(1) 建立应用程序用户界面与设置对象属性。

图 4-9 计算托运费

Page 16: Visual Basic  程序设计教程

(2) 编写程序代码。

可以写出命令按钮 Command1 的单击( Click )事件代码为 Private Sub Command1_Click()

Dim w As Single, x As Single

w = Val(Text1.Text)

If w <= 50 Then

x = 0.25 * w

Else

If w <= 100 Then

x = 0.25 * 50 + 0.35 * (w – 50)

Else

Page 17: Visual Basic  程序设计教程

x = 0.25 * 50 + 0.35 * 50 + 0.45 * (w – 100) End If End If Text2.Text = xEnd Sub

可以将上例中命令按钮 Command1 的单击( Click )事件代码改为:Private Sub Command1_Click() Dim w As Single, x As Single w = Val(Text1.Text) x = IIf(w <= 50, 0.25 * w, 0.25 * 50 + IIf(w <= 100, 0.35 * (w – 50), 0.35 * 50 + 0.45 * (w – 100))) Text2.Text = xEnd Sub

Page 18: Visual Basic  程序设计教程

【例 4-9 】某百货公司为了促销,采用购物打折扣的优惠办法:每位顾客一次购物

(1) 在 1000 元以上者,按九五折优惠;

(2) 在 2000 元以上者,按九折优惠;

(3) 在 3000 元以上者,按八五折优惠;

(4) 在 5000 元以上者,按八折优惠。

设计步骤如下:

(1) 建立应用程序用户界面与设置对象属性。

(2) 编写程序代码。

Page 19: Visual Basic  程序设计教程

可以写出命令按钮 Command1 的单击( Click )事件代码为

Private Sub Command1_Click()

Dim x As Single, y As Single

x = Val(Text1.Text)

If x < 1000 Then y = x

Else

If x < 2000 Then

y = 0.95 * x

Else

If x < 3000 Then

Page 20: Visual Basic  程序设计教程

y = 0.9 * x

Else

If x < 5000 Then

y = 0.85 * x

Else

y = 0.08 * x

End If

End If

End If

End If

Text2.Text = y

End Sub

Page 21: Visual Basic  程序设计教程

2. IF 语句的嵌套格式 ELSEIF

其语法结构为

If 〈条件 1 〉 Then

[ 语句列 1]

ElseIf 〈条件 2 〉 Then

[ 语句列 2]

...

[Else

[ 其他语句列 ]]

End If

Page 22: Visual Basic  程序设计教程

【例 4-10 】在例 4-9 中使用带 ElseIf 的块 If 语句来计算出优惠价,只需将其中命令按钮 Command1 的单击( Click )事件代码改为

Private Sub Command1_Click()

Dim x As Single, y As Single

x = Val(Text1.Text)

If x < 1000 Then

y = x

ElseIf x < 2000 Then

y = 0.95 * x

Page 23: Visual Basic  程序设计教程

ElseIf x < 3000 Then

y = 0.9 * x

ElseIf x < 5000 Then

y = 0.85 * x

Else

y = 0.08 * x

End If

Text2.Text = y

End Sub

Page 24: Visual Basic  程序设计教程

多分支条件选择语句 SELECT CASE

1. SELECT CASE 结构与语法

语句的语法格式为

Select Case 〈测试条件〉

[Case 〈表达式表 1 〉

[ 〈语句列 1 〉 ]]

[Case 〈表达式表 2 〉

[ 〈语句列 2 〉 ]]

...

[Case Else

[ 〈其他语句列〉 ]]

End Select

Page 25: Visual Basic  程序设计教程

2. SELECT CASE 结构的应用

【例 4-11 】在例 4-9 中使用 Select Case 语句来计算优惠价,只需将其中命令按钮 Command1 的单击( Click )事件代码改为

Private Sub Command1_Click()

Dim x As Single, y As Single

x = Val(Text1.Text)

Select Case x

Case Is < 1000

y = x

Page 26: Visual Basic  程序设计教程

Case Is < 2000

y = 0.95 * x

Case Is < 3000

y = 0.9 * x

Case Is < 5000

y = 0.85 * x

Case Else

y = 0.08 * x

End Select

Text2.Text = y

End Sub

Page 27: Visual Basic  程序设计教程

【例 4-12 】某航空公司规定在旅游的旺季 7 ~ 9 月份,如果订票数超过 20 张,票价优惠 15% , 20 张以下,优惠 5

% ;在旅游的淡季 1 ~ 5 月份、 10 月份、 11 月份,如果订票数超过 20 张,票价优惠 30% , 20 张以下,优惠 20% ;其他情况一律优惠 10% 。

设计程序,根据月份和订票张数决定票价的优惠率。

设计步骤如下:

(1) 建立应用程序用户界面与设置对象属性。

Page 28: Visual Basic  程序设计教程

(2) 编写程序代码。

根据流程图,可以写出命令按钮 Command1 的单击( Clic

k )事件代码为:

Private Sub Command1_Click()

Dim m As Integer, n As Integer, r As Integer

m = Val(Text1.Text)

n = Val(Text2.Text)

Select Case m

Case Is <= 5, 10, 11

If n < 20 Then r = 20 Else r = 30

Page 29: Visual Basic  程序设计教程

Case 7 To 9

If n < 20 Then r = 5 Else r = 15

Case Else

r = 10

End Select

Label4.Caption = " 所订机票的优惠率为 :" & Str(r) & "%"

End Sub

为了使用更加方便,再增加如下代码。

窗体的 Load 事件代码:

Page 30: Visual Basic  程序设计教程

Private Sub Form_Load()

Text1.Text = Month(Date)

' Text1 中的默认值为当前月份

End Sub

文本框 Text1 的 GotFocus 事件代码:

Private Sub Text1_GotFocus()

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

End Sub

Page 31: Visual Basic  程序设计教程

文本框 Text1 的按健( KeyPress )事件代码:

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then ' 在 Text1 按回车键,光标跳到 Text2

If Text1.Text > 0 And Text1.Text < 13 Then

Text2.SetFocus

End If

End If

End Sub

文本框 Text2 的 GotFocus 事件代码:

Private Sub Text2_GotFocus()

Page 32: Visual Basic  程序设计教程

Text2.SelStart = 0

Text2.SelLength = Len(Text2.Text)

End Sub

文本框 Text2 的按健( KeyPress )事件代码:

Private Sub Text2_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then ' 在 Text2 按回车键,光标跳到 Command

1

If Text2.Text > 0 Then Command1.SetFocus

End If

End Sub

Page 33: Visual Basic  程序设计教程

使用计时器控件 1. 设计一个电子表

【例 4-13 】在窗体上设计一个数字时钟,如图 4-15 所示。

图 4-16 建立界面与设置属性 图 4-15 数字时钟

Page 34: Visual Basic  程序设计教程

设计步骤如下:

(1) 建立应用程序用户界面。

(2) 设置对象属性,

(3) 编写程序代码。

编写计时器控件 Timer1 的 Timer 事件代码:

Private Sub Timer1_Timer()

Label1.Caption = Format(Time, Form1.Tag)

Label2.Caption = IIf(Hour(Time) > 12, " 下午 ", " 上午 ")

End Sub

Page 35: Visual Basic  程序设计教程

编写命令按钮 Command1 的 Click 事件代码:

Private Sub Command1_Click()

If Command1.Caption = " 改为 12小时 " Then

Form1.Tag = "hh:mm:ss AM/PM"

Command1.Caption = " 改为 24小时 "

Label2.Visible = True

Else

Form1.Tag = "hh:mm:ss"

Command1.Caption = " 改为 12小时 "

Label2.Visible = False

End If

End Sub

Page 36: Visual Basic  程序设计教程

2. 设计一个计时器

【例 4-14 】一个简单计时器。如图 4-17 所示。

图 4-17 简单计时器 图 4-18 计时器的设计

Page 37: Visual Basic  程序设计教程

设计步骤如下: (1) 建立应用程序用户界面与设置对象属性。 (2) 编写程序代码。 编写 Command1 (开始)的 Click 事件代码:Private Sub Command1_Click()

If Command1.Caption = "&S 暂停 " Then

Command1.Caption = "&C 继续 "

Timer1.Enabled = False

Else

Command1.Caption = "&S 暂停 "

If Label1.Caption = "00:00:00:0" Then Form1.Tag = Timer

Timer1.Enabled = True

End If

End Sub

Page 38: Visual Basic  程序设计教程

编写 Command2 (重置)的 Click 事件代码:Private Sub Command2_Click() Form1.Tag = TimerLabel1.Caption = "00:00:00:0"End Sub 编写 Timer1 的 Timer 事件代码:Private Sub Timer1_Timer() m = Timer – Form1.Tag n0 = (m * 10) Mod 10 m = Int(m) n1 = Format(m Mod 60, "00.") n2 = Format((m \ 60) Mod 60, "00:") n3 = Format(m \ 3600, "00:") Label1.Caption = n3 & n2 & n1 & n0End Sub

Page 39: Visual Basic  程序设计教程

3. 设计一个流动字幕板

【例 4-15 】为一个应用系统设计流动字幕板,如图 4-19 所示,标题“欲穷千里目,更上一层楼”在窗体中自右至左地反复移动。

图 4-19 电子标题板 图 4-20 用户界面的设计

Page 40: Visual Basic  程序设计教程

设计步骤如下: (1) 建立应用程序用户界面与设置对象属性 (2) 编写程序代码。 编写命令按钮 Command1 的 Click 事件代码:Private Sub Command1_Click()

If Command1.Caption = "&S 暂停 " Then

Command1.Caption = "&C 继续 "

Timer1.Enabled = False

Else

Command1.Caption = "&S 暂停 "

Timer1.Enabled = True

End If

End Sub

Page 41: Visual Basic  程序设计教程

编写 Timer1 的 Timer 事件代码:

Private Sub Timer1_Timer()

If Label1.Left + Label1.Width > 0 Then

Label1.Move Label1.Left – 20

Else

Label1.Left = Form1.ScaleWidth

End IfEnd Sub

提供简单选择的控件 1. 选项按钮 【例 4-16 】在例 4-13 中使用选项按钮组来选择时间的格式

Page 42: Visual Basic  程序设计教程

编写新增控件的事件代码。

编写选项按钮 Option1 的 Click 事件代码:

Private Sub Option1_Click() Form1.Tag = "hh:mm:ss AM/PM"

Label2.Visible = True

End Sub

编写选项按钮 Option2 的 Click 事件代码:

Private Sub Option2_Click()

Form1.Tag = "hh:mm:ss"

Label2.Visible = False

End Sub

Page 43: Visual Basic  程序设计教程

例 4-17 】设银行定期存款年利率为: 1 年期 2.25% , 2 年期 2.43% , 3 年期 2.70% , 5 年期 2.88% (不计复利)。今有本金 a 元, 5 年以后使用,共有以下 6种存法:

         存一次 5 年期。

         存一次 3 年期,一次 2 年期。

        存一次 3 年期,两次 1 年期。

        存两次 2 年期,一次 1 年期。

         存一次 2 年期,三次 1 年期。

         存五次 1 年期。

分别计算各种存法 5 年后到期时的本息合计

Page 44: Visual Basic  程序设计教程

编写命令按钮 Command1 的单击( Click )事件代码:

Private Sub Command1_Click()

Dim a As Single, y As Single

Dim x1 As Single, x2 As Single

Dim x3 As Single, x5 As Single

a = Val(Text1.Text)

x1 = 0.0225: x2 = 0.0243

x3 = 0.027: x5 = 0.0288

Select Case True

Case Option1.Value

y = (1 + 5 * x5) * a

Page 45: Visual Basic  程序设计教程

Case Option2.Value

y = (1 + 3 * x3) * (1 + 2 * x2) * a

Case Option3.Value

y = (1 + 3 * x3) * (1 + x1) ^ 2 * a

Case Option4.Value

y = (1 + 2 * x2) ^ 2 * (1 + x1) * a

Case Option5.Value

y = (1 + 2 * x2) * (1 + x1) ^ 3 * a

Case Option6.Value

y = (1 + x1) ^ 5 * a

End Select

Page 46: Visual Basic  程序设计教程

Text2.Text = y

Text1.SetFocus

End Sub

编写文本框 Text1 的 GotFocus 事件代码:

Private Sub Text1_GotFocus()

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

End Sub

Page 47: Visual Basic  程序设计教程

2. 使用图形选项按钮

【例 4-18 】用图形选项按钮组控制流动字幕中的字体,如图 4-23 所示。

设计步骤如下:

(1) 建立应用程序用户界面与设置对象属性。

(2) 编写程序代码。

依次编写选项按钮 Option1 ~ Option4 的 Click 事件代码:

Private Sub Option1_Click()

Page 48: Visual Basic  程序设计教程

Text1.FontName = "宋体 "

End Sub

Private Sub Option2_Click()

Text1.FontName = "隶书 "

End Sub

Private Sub Option3_Click()

Text1.FontName = "黑体 "

End Sub

Private Sub Option4_Click()

Text1.FontName = "楷体 _GB2312"

End Sub

Page 49: Visual Basic  程序设计教程

2 复选框

复选框的状态由其 Value 属性决定:

0 —— 假 1 —— 真 2 —— 暗

1. 使用单个复选框

【例 4-19 】在上例中,增加复选框,控制选项按钮组的显示。

增加复选框控件 Check1 的 Click 事件代码:

Private Sub Check1_Click()

Option1.Visible = Check1.Value

Option2.Visible = Check1.Value

Option3.Visible = Check1.Value

Option4.Visible = Check1.Value

End Sub

Page 50: Visual Basic  程序设计教程

2. 使用多个复选框

【例 4-20 】设计一个个人资料输入窗口,使用选项按钮组输入性别与民族,使用复选框输入个人爱好,如图 4-25 所示。

.

图 4-25 使用多个复选框 图 4-26 建立用户界面

Page 51: Visual Basic  程序设计教程

设计步骤如下:

(1) 建立应用程序用户界面。

(2) 设置对象属性。

(3) 编写程序代码。

编写命令按钮 Command1 的 Click 事件代码:

Private Sub Command1_Click()

If Text1.Text = "" Then

a = InputBox("您忘了输入姓名! ", "注意 ", " 请在此输入姓名 ")

If a = "" Or a = " 请在此输入姓名 " Then Exit Sub

Text1.Text = a

End If

Page 52: Visual Basic  程序设计教程

3. 复选框的图形方式

【例 4-21 】利用图形复选框来控制文本的字体风格,如图 4-27 所示。

设计步骤如下: (1) 建立应用程序用户界面。 (2) 设置对象属性。 (3) 编写代码。 复选框控件 Check1 的 Click 事件代码:Private Sub Check1_Click() Check2.Enabled = Check1.Value Check3.Enabled = Check1.Value Check4.Enabled = Check1.Value Check1.Caption = IIf(Check4.Caption = "锁上 ", " 打开 ", "锁上 ")End Sub

Page 53: Visual Basic  程序设计教程

p1 = Text1.Text + " , " p2 = IIf(Option1, "男 ", "女 ") + " , " p3 = IIf(Option3, "汉族 ", "少数民族 ") p4 = " ,喜欢: " If Check1.Value = 1 Then p4 = p4 + Check1.Caption + " 、 " If Check2.Value = 1 Then p4 = p4 + Check2.Caption + " 、 " If Check3.Value = 1 Then p4 = p4 + Check3.Caption + " 、 " If Check4.Value = 1 Then p4 = p4 + Check4.Caption + " 、 " aa = p1 + p2 + p3 + IIf(p4 = " ,喜欢: ", " ,无爱好。 ", p4) Label4.Caption = Left(aa, Len(aa) – 1) + " 。 " Text1.SetFocusEnd Sub 编写文本框 Text1 的 Change 事件代码:Private Sub Text1_Change() Label4.Caption = ""End Sub

Page 54: Visual Basic  程序设计教程

复选框控件 Check2 的 Click 事件代码:

Private Sub Check2_Click()

Text1.FontBold = Check2.Value

End Sub

复选框控件 Check3 的 Click 事件代码:

Private Sub Check3_Click()

Text1.FontItalic = Check3.Value

End Sub

复选框控件 Check4 的 Click 事件代码:

Private Sub Check4_Click()

Text1.FontUnderline = Check4.Value

End Sub

Page 55: Visual Basic  程序设计教程

习题四 4.1 写出下列各表达式的值。

(1) 2 * 3 >= 8 (2) "BCD" < "BCE"

(3) "12345" <> "12345" & "ABC" (4) Not 2 * 5 <> 11

(5) 4 = 4 And 5 > 2 + 2 (6) 8 <> 5 Or Not 10 > 12 + 3

(7) 2^3 > 3 And 5 < 10 (8) 3 > 4 And 7 = 5

4.2 用布尔表达式表示下列命题。

(1) n 是 m 的倍数 (2) n 是小于正整数 k 的偶数

(3) | x | ≥ | y | 或 x < y (4) x , y 其中有一个小于 z

(5) x , y 都小于 z (6) y [–10 ,– 1] ,并且 y [1 ,10]

4.3 根据所给条件,列出布尔表达式。

(1) 闰年的条件是:年号( year )能被 4 整除,但是不能被 100 整除;或者能被 400 整除。

(2) 一元二次方程 ax2 + bx + c = 0有实根的条件为: a≠ 0 ,并且 b2 – 4ac ≥ 0 。

Page 56: Visual Basic  程序设计教程

(3) 征兵的条件是:男性( sex )年龄( age )在 18 ~ 20岁之间,身高( size )在 1.65m 以上;或者女性( sex )年龄( age )在 16 ~ 18岁之间,身高( size )在 1.60m 以上。

(4) 分房的条件为:已婚( marrigerat ),年龄( age )在 26岁以上,工作年限( workingage )在 5 年以上。

4.4 “x 是小于 100 的非负数”,用 VB 表达式表示正确的是

(1) 0 ≤ x < 100 (2) 0 <= x < 100

(3) 0 <= x And x < 100 (4) 0 <= x Or x < 100

4.5 选择结构的特点是什么?用流程图描述看交通灯通过十字路口的过程。

4.6 输入 3 个不同的数,将它们从大到小排序。

4.7 任给 3 个实数,求其中间数(即其值大小居中者)。

4.8 编写程序,任意输入一个整数,判定该整数的奇偶性。

4.9 文本框的 PasswordChar 属性可以隐蔽用户通过键盘输入的字符。编写程序,利用文本框检查用户口令,如图 4-28 所示。

Page 57: Visual Basic  程序设计教程

4.10 键盘输入 a 、 b 、 c 的值,判断它们能否构成三角形的 3 个边。如果能构成一个三角形,则计算三角形的面积。

4.11 求一元二次方程的根。

4.12 输入一个数字( 0 ~ 6 ),用中英文显示星期几。

4.13 给定年号与月份,判断该年是否闰年,并根据给出的月份来判断是什么季节和该月有多少天?(闰年的条件是:年号能被 4 整除但不能被 100 整除,或者能被 400 整除。)

4.14 若基本工资大于等于 600 元,增加工资 20% ;若小于 600 元大于等于 400 元,则增加工资 15% ;若小于 400 元则增加工资 10% 。请根据用户输入的基本工资,计算出增加后的工资。

4.15 编制程序,根据用户输入的考试成绩(百分制,若有小数则四舍五入),按表 4-11 的划分标准,输出相应的等级。

Page 58: Visual Basic  程序设计教程

分 数 等 级90 ~ 100 优秀80 ~ 89 良好70 ~ 79 中等60 ~ 69 及格< 60 不及格

4.16 输入圆的半径 r ,利用选项按钮,选择运算:计算面积、计算周长等。

4.17 设计一个计时器,能够设置倒计时的时间,并进行倒计时,如图 4-29 所示。