• 沒有找到結果。

Visual Basic程序设计上机实践教程 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "Visual Basic程序设计上机实践教程 - 万水书苑-出版资源网"

Copied!
7
0
0

加載中.... (立即查看全文)

全文

(1)▌▎第一部分 上机实践 ▎▌. 实验 3. 顺序和分支结构程序设计. 实验目的 1.掌握顺序结构的程序设计思想。 2.掌握命令按钮(CommandButton) 、标签(Label) 、文本框(TextBox) 、编辑框(EditBox) 等常用控件的使用方法。 3.了解并掌握对话框函数 MessageBox()的含义与用法。 4.了解和熟悉线条控件、形状控件的画法以及主要属性的用法。 实验内容 1.顺序结构 实训 3-1 编写一应用程序,其功能是用户在屏幕上输入一华氏温度值,然后通过公式 5 c   (f  32) 转换成摄氏温度并输出,程序运行的界面如图 3-1 所示。 9. 图 3-1. 实训 3-1 的运行界面. 要建立实训 3-1 的运行界面,可以按照以下的方法和步骤: ①单击“文件”菜单中的“新建工程”命令,新建含有一个窗体的应用程序。 ②将鼠标移动到窗体任意空白处。单击右键,在弹出的快捷菜单中单击“属性”命令, 打开“属性”对话框。在对话框中找到属性 Caption,在“属性设置框”处输入窗体的标题名 “温度的转换”。 ③在窗体中添加 3 个标签控件 Label1~3,2 个文本框控件 Text1~2、2 个命令按钮控件 Command1~2。 ④将文本框 Text2 的 BackColor 属性设置为“&H00E0E0E0&”,Locked 属性设置为 True, 其他控件的属性采用自定义即可。 ⑤添加有关事件代码  “转换”命令按钮 Command1 的 Click 事件代码如下: Private Sub Command1_Click() Dim f As Single, c As Single f = Val(Text1.Text) c = 5 * (f - 32) / 9 Text2.Text = Str(Round(c, 2)) End Sub - 23 -.

(2) ▌▎Visual Basic 程序设计上机实践教程 ▎▌ . “结束”命令按钮 Command2 的 Click 事件代码如下:. Private Sub Command2_Click() End End Sub. ⑥按下 F5 功能键启动应用程序。 实训 3-2 鸡兔同笼问题。试根据如图 3-2 所示的画面设计求解鸡兔同笼问题。运行后的 画面如图 3-3 所示。. 图 3-2. 鸡兔同笼设计. 图 3-3. 运行后的画面. 分析:设 X 为鸡的个数,Y 为兔的个数,M 为鸡和兔的总头数,N 为鸡和兔的总脚数, 4M  N N  2M 则鸡和兔的个数的计算公式是: X  ,Y 。 2 2 设计步骤和方法如下: ①新建只有一个窗体的应用程序。 ②在窗体中添加 4 个标签控件 Label1~4,2 个文本框控件 Text1~2、3 个命令按钮控件 Command1~3。 ③各控件的主要属性设置如表 3-1 所示。 表 3-1 实训 3-2 窗体及各控件属性值设置 对象名. 属性名. 属性值. 说明. Label1. Caption. 鸡有两只脚,兔有四只脚,鸡兔同笼. 第一个标签的内容. Label2. Caption. 设笼中鸡和兔的总头数为:. 第二个标签的内容. Label3. Caption. 总脚数为:. 第二个标签的内容. Label4. Caption. 问笼中鸡有多少只?兔有多少只?. Label1~4. autosize. True. 大小自动匹配. Text1~2. Text. Command1. Caption. 计算(&C). 第一个命令按钮的标题内容. Command2. Caption. 重置(&S). 第二个命令按钮的标题内容. Command3. Caption. 退出(&Q). 第三个命令按钮的标题内容. ④添加有关事件代码  “计算”命令按钮 Command1 的 Click 事件代码如下: - 24 -.

(3) ▌▎第一部分 上机实践 ▎▌ Private Sub Command1_Click() Dim x As Integer, y As Integer 'x 和 y 分别代表鸡、兔的只数 Dim m%, n% m = Val(Text1.Text): n = Val(Text2.Text) x = (4 * m - n) / 2: y = (n - 2 * m) / 2 Label4.Caption = "笼中有鸡" & Str(x) & "只," & "兔有" & Str(y) & "只" End Sub . “重置”命令按钮 Command2 的 Click 事件代码如下:. Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Label4.Caption = "问笼中鸡有多少只?兔有多少只?" Text1.SetFocus End Sub. . “退出”命令按钮 Command3 的 Click 事件代码如下:. Private Sub Command3_Click() End End Sub. ⑤按下 F5 功能键,启动该程序,观察运行效果。 2.分支结构 实训 3-3 设计一个如图 3-4(a)所示的用户登录界面,其运行效果是当未输入用户名时, 将弹出一个对话框显示“必须输入用户名!” ,如图 9-5(b)所示;输入的口令为 8 位数字(假 定为 12345678),实际口令不显示数字而是显示 8 个星号“*”,如图 9-5(c)所示。按下回车 键(Enter)后,如果操作正确则弹出“用户信息验证通过,登录成功!”界面,如图 9-5(d) 所示,并关闭窗体的运行。. (a). (b) 图 3-4. (c). (d). 实训 3-3 程序运行示意图. 设计步骤如下: ①创建一个含有一个窗体的工程,然后在窗体上添加 2 个标签控件 Label1~2;2 个文本框 控件 Text1~2。 ②设置窗体标题为“应用 PasswordChar 属性”;2 个标签 Label1 和 Label2 的标题分别为 “用户名:”和“口令:”。 ③设置文本框 Text2 的 PasswordChar 属性值为“*”,设置 MaxLength 属性值为 8。 ④分别为 2 个文本框 Text1 和 Text2 的有关事件编写代码。  Text1 的 LostFocus 事件编写代码为: - 25 -.

(4) ▌▎Visual Basic 程序设计上机实践教程 ▎▌ Private Sub Text1_LostFocus() If Text1.Text = "" Then MsgBox "必须输入用户名!", 0 + 48, "验证用户名" Text1.SetFocus End If End Sub . Text2 的 LostFocus 事件编写代码为:. Private Sub Text2_LostFocus() If Text2.Text <> "12345678" Then MsgBox "请输入正确的口令!", 0 + 16, "口令验证" Text2.SetFocus End If End Sub . Text2 的 KeyPress 事件编写代码为:. Private Sub Text2_KeyPress(KeyAscii As Integer) If Text2.Text = "12345678" Then MsgBox "用户信息验证通过,登录成功!", 0 + 64, "登录成功" Unload Me End If End Sub. ⑤保存并运行该窗体。 3.分支结构 If/End If 的嵌套 实训 3-4 设计一个如图 3-5 所示的窗体,窗体功能可以根据输入的学生成绩,判断其成 绩等级:90~100 分为优秀,80~89 分为良好,70~79 分为中等,60~69 分为及格,60 分以下为 不及格。. 图 3-5. 实训 3-4 程序运行示意图,左为设计界面. 分析:判断学生成绩的等级有 5 个条件,属于多重判断,因此需要分支结构 If/End If 的 嵌套。 设计步骤如下: ①新建一个工程,然后在窗体中添加 3 个标签控件、1 个文本框控件。标签 Label3 的 Caption 属性为空,其他各控件属性自定义即可。 ②编写文本框 Text1 的相关事件代码。  文本框 Text1 的 Change 事件代码如下: Private Sub Text1_Change() - 26 -.

(5) ▌▎第一部分 上机实践 ▎▌ Dim cj As Single cj = Val(Text1.Text) If cj < 0 Or cj > 100 Then Text1.Text = "" Text1.SetFocus End If '用于判断成绩值是否在 0~100 之间 End Sub . 文本框 Text1 的 KeyPress 事件代码如下:. Private Sub Text1_KeyPress(KeyAscii As Integer) Dim cj As Single cj = Val(Text1.Text) If KeyAscii = 13 Then '判断是否按下回车键 If cj >= 90 Then Label3.Caption = "成绩优秀" Else If cj >= 80 Then Label3.Caption = "成绩良好" Else If cj >= 70 Then Label3.Caption = "成绩中等" Else If cj >= 60 Then Label3.Caption = "成绩及格" Else Label3.Caption = "成绩不及格" End If End If End If End If End If End Sub. 4.多分支结构 Select Case/EndSelect 的使用 实训 3-5 在实训 3-4 的基础上,使用多分支结构 Select Case/EndSelect 修改文本框 Text1 的 KeyPress 事件代码。 代码如下: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim cj As Single cj = Val(Text1.Text) If KeyAscii = 13 Then Select Case cj Case Is >= 90 Label3.Caption = "成绩优秀" Case Is >= 80 Label3.Caption = "成绩良好" - 27 -.

(6) ▌▎Visual Basic 程序设计上机实践教程 ▎▌ Case Is >= 70 Label3.Caption = "成绩中等" Case Is >= 60 Label3.Caption = "成绩及格" Case Else Label3.Caption = "成绩不及格" End Select End If End Sub. 实训 3-6 如图 3-6 所示,在已知字符串中查找指定字符串第一次出现的位置。. 图 3-6. 实训 3-6 程序运行示意图. 分析:利用函数 Mid(x, i, Len(s))来判断已知字符串中是否有待查找的字符串,其中:x、i 和 s 分别表示已知字符串、查询的位置和待查找字符串。 设计步骤如下: ①新建一个工程,然后在窗体中添加 3 个标签控件、1 个文本框控件。标签 Label3 的 Caption 属性为空,其他各控件属性自定义即可。 ②编写相关事件代码。  “查找结果”命令按钮 Command1 的 Click 事件代码如下: Private Sub Command1_Click() s = Text2.Text x = Text1.Text n = Len(x) i=1 line1: If Mid(x, i, Len(s)) = s Then Label3.Caption = "在第" + Str(i) + "位找到了" + s Else i=i+1 If i <= n Then GoTo line1 Else Label3.Caption = "没有找到" + s End If End If End Sub. - 28 -.

(7) ▌▎第一部分 上机实践 ▎▌. 课后练习 1.我国现有人口 14 亿,按人口年增长 0.6%计算,多少年后我国人口超过 26 亿? 2.在键盘上输入一个任意实数,判断输出是正数、负数或零。 3.输入 a、b、c 三个数,按从大到小的次序显示,如图 3-7 所示。 4.设计一个程序,在执行时由用户从键盘上键入两个操作数和运算符,然后根据输入的 运算符来改变标签框的内容,单击“=”命令按钮,将根据运算符进行相应的运算并将运算结 果显示在“运算结果”标签框中。其程序运动界面如图 3-8 所示。. 图 3-7. 第 3 题图. 图 3-8. 第 4 题图. 5.在购买某物品时,若所花的钱 x 在下述范围内,则所付钱 y 按对应折扣支付,支付公 式如图 3-9 所示。 6.输入平面直角坐标系中任一点的坐标(x,y),判断该点坐标属于哪一个象限,如图 3-10 所示。 x  0.9 x y  0.8 x   0.7 x. 图 3-9. ( x  1000) (1000 ≤ x  2000) (2000 ≤ x  3000) (x ≥ 3000). 购物折扣支付公式. 图 3-10. - 29 -. 第 6 题图.

(8)

參考文獻

相關文件

澳門在 1867 年進行了第一次人口普查,由 1950 年起按國際慣例每十年一次,至今共進 行了十四次;最近一次是 2001 人口普查,下一次即第十五次的人口普查將於 2011

Indivíduos autorizados a residir em Macau, segundo o sexo e o país/território de emissão de documento de identificação, por mês Individuals Authorized to Reside in Macao by

Nados-vivos, segundo o sexo e a duração da gravidez, por grupo etário da mãe Live Births by Gender of Baby, Age Group of Mother and Duration of Pregnancy 2.6

Nados-vivos, segundo a duração da gravidez e o sexo, por grupo etário da mãe Live Births by Gender of Baby, Age Group of Mother and Duration of Pregnancy 2.6

Nados-vivos, segundo o sexo e a duração da gravidez, por grupo etário da mãe Live Births by Gender of Baby, Age Group of Mother and Duration of Pregnancy 2.6

能瞭解國際貿 易之種類與特 性,具體敘述 進出口相關當 事人的業務操 作流程:.

A8 População empregada, segundo o grupo etário, por rendimento do emprego em Julho de 2011 A9 Mediana do rendimento do emprego em Julho de 2011, por zonas estatísticas. A10

Óbitos, segundo o grupo etário, por causas antecedentes de morte (lista de 103 rubricas) e sexo Mortality by age group, underlying cause of death (103 listed rubrics) and gender.