09VB上机参考答案-2

更新时间:2023-03-08 18:02:48 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VB后半学期练习题

1、 编制通用函数过程,计算1+2+??+N 的值。在窗体的Click事件中调用该函数。 Private Function sum(n As Integer) As long Dim i As Integer For i = 1 To n sum = sum + i Next i End Function

Private Sub Form_Click() Print sum(100) '任意选取一个数对函数过程进行调试就可 End Sub

2、 编制通用函数过程,计算N!的值。在窗体的Click事件中调用该函数。 Private Function fact(n As Integer) As Double Dim i As Integer

fact = 1 '必须赋初值 For i = 1 To n fact = fact * i Next i End Function

Private Sub Form_Click() Print fact(5) End Sub

3、 编制通用函数过程,用于判断1个整数是否为素数,若是则显示true,若不是则显示false。在窗体

的Click事件中调用该函数。

Private Function prime(n As Integer) As Boolean ' Boolean逻辑型 Dim i As Integer If n < 2 Then prime = False Else

For i = 2 To Int(Sqr(n))

If n Mod i = 0 Then Exit For Next i

If i > Int(Sqr(n)) Then prime = True Else

prime = False End If End If End Function

Private Sub Form_Click() Print prime(4),prime(7) End Sub

4、 编制一个判断奇偶数的Function函数过程。在窗体的Click事件中调用该函数,输入一个整数,判断其奇偶性。比如:输入10则显示“10是偶数”,输入3则显示“3是奇数” Private Function Odd(n As Integer) As string

If n Mod 2 = 0 Then

Odd =n & “是偶数” Else

Odd = n & “是奇数”

End if End Function

Private Sub Form_Click() Print Odd(4),Odd(5) End Sub

5、 新建一个工程,完成“密码检验”程序的设计。具体要求如下:

(1)参照运行时界面完成界面设计。(2)文本框Text1,用于输入密码。文本框中输入的字符显示为*,

并且最多可以接受7个字符。(3)窗体的下半部有一个标签控件Label2,用来显示密码输入后的提示信息。(4)当在文本框中输入密码“1234567”,并按回车后,标签Label2显示为“欢迎光临!”;

1

VB后半学期练习题

如果输入的密码与“1234567”不吻合,标签Label2显示为“密码不符,请再输入一遍!”,同时清空文本框的内容,允许再输入一遍;如果第二次输入的密码仍然与“1234567”不吻合,标签Label2显示为“非法用户,请退出程序!”,文本框就不能使用了。

Private Sub Form_Load()

Label1.Caption = \输入密码后按回车\chr(13) & chr(10) & \(提示:密码1234567)\ Text1.PasswordChar = \ Text1.MaxLength = 7 End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) Static n As Integer 'n用来记录输入次数 If KeyAscii = 13 Then '表示单击回车后 If Text1.Text = \ Then '判断密码是否正确 Label2.Caption = \欢迎光临!\ Label1.Visible = False Text1.Visible = False

Else

n = n + 1 '计算输入次数

If n<2 Then

Label2.Caption = \密码不符,请再输入一遍!\ Text1.Text = \ Else

Label2.Caption = \非法用户,请退出程序!\ Text1.Enabled = False '文本框不可用 End If End If End If End Sub

6、 新建一个工程,完成“编辑”程序的设计。具体要求如下:(1)窗体的标题为“编辑”。(2)窗体中有以

下控件:一个文本框、四个命令按钮。(3)完成以下功能:文本框实现文本编辑功能,单击按钮实

现相应功能。

Private Sub Command1_Click()

Clipboard.Clear Clipboard.SetText Text1.SelText End Sub

Private Sub Command2_Click()

Clipboard.Clear

Clipboard.SetText Text1.SelText

Text1.SelText = \ End Sub

Private Sub Command3_Click()

2

'清除剪贴板中的内容' '将选中文本送入剪贴板

'清空文本框内被选中的文本'

VB后半学期练习题

Text1.SelText = Clipboard.GetText End Sub

Private Sub Command4_Click()

Text1.SelText = \ End Sub

Private Sub Form_Load() Text1.Text = \End Sub

'将剪贴板上的文本复制到指定文本框的光标处'

'清空文本框内被选中的文本'

7、

新建一个工程,完成“替换”程序的设计。具体要求如下: (1) 窗体的标题为“替换”。

(2) 窗体中有以下控件:一个文本框可以多行编辑,两个文本框,两个标签框,一个命令按钮。

(3) 完成以下功能:输入查找内容,把编辑框中所有与查找内容一样的部分替换成另外一个内容。单击

“替换”按钮执行。

Private Sub Command1_Click()

Dim len1 As Integer, len2 As Integer, len3 As Integer len1 = Len(Text1) '计算文本框1的长度放入变量len1中 len2 = Len(Text2) '计算文本框2的长度放入变量len2中 len3 = Len(Text3) '计算文本框3的长度放入变量len3中 Do While i <= len1 - len2

If Text2 = Mid(Text1, i + 1, len2) Then '判断文本是否与查找的对象一致 Text1.SetFocus Text1.SelStart = i

Text1.SelLength = len2 Text1.SelText = Text3 i = i + len3 '替换后光标的位置 len1 = len1 - len2 + len3 Else

i = i + 1 End If Loop End Sub

8、 新建一个工程,完成“字体修饰” 程序的设计。具体要求如下:

(1) 按照下图所示在窗体上放置按钮和控件。窗体的标题为“字体修饰”。

(2) 框架Frame1中有一个复选框数组,可以选择粗体,斜体对标签中的文字进行修饰。 (3) 框架Frame2中有一个单选钮框数组,可以选择宋体或楷体对标签中的文字进行修饰。

(4) 标签Label1的文字内容为“Visual Basic程序设计“,宋体,常规,三号;文字对齐方式为居

中。

3

VB后半学期练习题

Private Sub Check1_Click(Index As Integer) Select Case Index Case 0

If Check1(0).Value = 1 Then Label1.FontBold = True Else

Label1.FontBold = False End If Case 1

If Check1(1).Value = 1 Then Label1.FontItalic = True Else

Label1.FontItalic = False End If End Select End Sub

Private Sub Option1_Click(Index As Integer) Select Case Index Case 0

Label1.FontName = \宋体\ Case 1

Label1.FontName = \楷体_gb2312\ End Select End Sub

9、 新建一个工程,完成“点餐”程序的设计。具体要求如下: (1) 窗体的标题为“点餐”。

(2) 窗体中有以下控件:一个框架控件作为容器,内有三个复选框数组、对应三个文本框数组、

三个标签框、一个命令按钮。

(3) 要求文本框只能接受数字键,并且只有选取了相应的套餐后才可以进行输入;如果没有选取

大套餐,那么文本框不能编辑,并清空。

(4) 完成以下功能:选择所需套餐种类及份数,单击确定按钮后计算所需的钱,并用消息框显示。

Private Sub Form_Load() Form1.Caption = \点餐\

Command1.Caption = \确定\Frame1.Caption = \菜单\

Check1(0).Caption = \儿童套餐馆18元\ Check1(1).Caption = \标准套餐23元\ Check1(2).Caption = \商务餐28元\ For i = 0 To 2

Label1(i).Caption = \份数\ Check1(i).Value = 0 Text1(i).Enabled = False Next End Sub

Private Sub Check1_Click(Index As Integer) If Check1(Index).Value = 1 Then '若当前复选框被选中,文本框被启用,同时获得焦点 Text1(Index).Enabled = True Text1(Index).SetFocus Else

Text1(Index).Text=\

Text1(Index).Enabled=False

4

VB后半学期练习题

End If End Sub

Private Sub Command1_Click() Dim a%, b%, c%, sum% a = Val(Text1(0).Text) b = Val(Text1(1).Text) c = Val(Text1(2).Text)

sum = a * 18 + b * 23 + c * 28

MsgBox \一共\元\总价\End Sub

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)

If KeyAscii < 48 Or KeyAscii > 57 Then '输入非数字时弹出对话框,同时文本框重新获得焦点 KeyAscii = 0

MsgBox \请输入数字\ Text1(Index).SetFocus End If End Sub 10、 某公司对员工的工资进行调整:若原有工资大于等于1000元,增加工资35%;若小于1000元

大于等于800元,则增加工资25%;若小于800元,则增加工资15%。请根据用户输入的原有工资,

计算出增加后的工资。

Private Sub Command1_Click()

Text1.SetFocus Text1.Text = \Text2.Text = \Option1.Value = False Option2.Value = False Option3.Value = False End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Option1_Click()

If Val(Text1.Text) >= 1000 Then Text2.Text = Val(Text1.Text) * 1.35 End If End Sub

Private Sub Option2_Click() If Val(Text1.Text) >= 800 And Val(Text1.Text) < 1000 Then Text2.Text = Val(Text1.Text) * 1.25 End If

5

VB后半学期练习题

Private Sub Form_Load() Private Sub Command1_Click() '>>> List1.AddItem \蓝球\Dim i As Integer

List1.AddItem \足球\i = 0

List1.AddItem \排球\Do While i <= List1.ListCount - 1 List1.AddItem \羽毛球\ If List1.Selected(i) = True Then List1.AddItem \乒乓球\ List2.AddItem List1.List(i) List1.AddItem \跑步\ List1.RemoveItem i List1.AddItem \登山\ Else List1.AddItem \网球\

i = i + 1 List1.Multiselect=1 '实现多选 End If End Sub Loop End Sub

Private Sub Command2_Click()

'<

If List2.ListIndex <> -1 Then List1.AddItem List2.Text

List2.RemoveItem List2.ListIndex

Else

MsgBox \请先选择右边列表框中的某项,再移至左边\End If End Sub

Private Sub Command3_Click()

'全选

Do While List1.ListCount <> 0

'判断是否还有表项 List2.AddItem List1.List(0) '每次移动最前面的表项 List1.RemoveItem 0

'删除最前面的表项

Loop

End Sub

Private Sub Command4_Click()

'还原

Do While List2.ListCount <> 0 List1.AddItem List2.List(0) List2.RemoveItem 0 Loop End Sub

11

VB后半学期练习题

19、

(1)参照运行时界面完成界面设计。(2)在两个列表框控件的list中输入一些内容。(3)当单击“<”按钮时,把list2中选中的一项放到list1中,并且在list2中删除该项。(4)当单击“<<”按钮时,把list2中所有的项放到list1中,并且清空list2。(5)当单击“结束”按钮时,退出应用程序。

Private Sub Command1_Click() '> If List1.ListIndex <> -1 Then List2.AddItem List1.Text

'或者:List2.AddItem List1.List(List1.ListIndex) List1.removeitem (List1.ListIndex Else

MsgBox \先选择,再移动\ End If End Sub

Private Sub Command2_Click() '>> For i = 0 To List1.ListCount - 1 List2.AddItem List1.List(i) Next i

List1.Clear End Sub

20、

Private Sub Command3_Click() '<< Do While List2.ListCount <> 0 List1.AddItem List2.List(0) List2.RemoveItem 0 Loop End Sub

Private Sub Command4_Click() '< If List2.ListIndex <> -1 Then

List1.AddItem List2.List(List2.ListIndex) Else

MsgBox \先选择,再移动\ End If End Sub

Private Sub Command5_Click() '结束 End End Sub

(1)参照运行时界面完成界面设计。(2)左边一个简单组合框,对文本框的字体进行设置;有三项内容,分别是“宋体、黑体、楷体_GB2312”。(3)右边一个简单组合框,对文本框的文字大小进行设置;大小范围为8~20。

Private Sub Form_Load()

Text1.Text = \心想事成\Combo1.Additem \宋体\Combo1.Additem \黑体\

Combo1.Additem \楷体_Gb2312\Combo1.Text = \宋体\For i=8 to 20

Combo2.Additem i Next

Combo2.Text = \End Sub

21、 设计一个畅销书排行榜程序,运行界面如下图所示。具体要求如下:

(1)在左边列表框中显示排名前5名的畅销书;

(2)输入新书名和名次,单击“入榜”,添加到左边列表框中相应位置;

Private Sub Combo1_Click()

Text1.FontName = Combo1.Text End Sub

Private Sub Combo2_Click() Text1.FontSize = Val(Combo2.Text) End Sub

(3)单击“下榜”,将选择的书从排行榜中删除,如未选择,则显示“请先选择!”; (4)单击“清除”,可以删除文本框中的输入内容,文本框2只允许输入数字1~5;

12

VB后半学期练习题

(5)单击“结束”,退出程序运行。

Private Sub Form_Load() list1.AddItem \西游记\ list1.AddItem \红楼梦\ list1.AddItem \史记\ list1.AddItem \水浒\ list1.AddItem \镜花缘\End Sub

Private Sub Command1_Click()

'上榜

Dim book As String, index As Integer

book = Text1.Text index = Val(Text2.Text) - 1

If book <> \ '判断是否已输入书名和有效的排名 list1.AddItem book, index End If

list1.RemoveItem list1.ListCount - 1 End Sub

Private Sub Command2_Click() Dim index As Integer index = list1.ListIndex If index <> -1 Then list1.RemoveItem index End If

'下榜

Private Sub Command3_Click()

'清除

Text1.Text= \ Text2.Text=\End Sub

Private Sub Command4_Click() '结束 End End Sub

End Sub

22、 (1)参照运行时界面完成界面设计。(2)单击滚动条左右箭头时,标签上的字可以左右移动,

标签移动范围等于滚动条的范围。

Private Sub Form_Load()

HScroll1.Max = Form1.Width - Label1.Width '标签移动到最右边的Left值即为滚动条的最大值 HScroll1.Value = Label1.Left '标签移动到最左边的Left值即为滚动条的最小值

13

VB后半学期练习题

End Sub

Private Sub HScroll1_Change() Label1.Left = HScroll1.Value End Sub

Private Sub Command1_Click() '结束 End End Sub

23、

Private Sub HScroll1_Scroll()

Call HScroll1_Change End Sub

(1)参照运行时界面完成界面设计。(2)滚动条的取值范围均为10-40。(3)完成以下功能:根据设

定字号改变标签框内显示文字的大小。要求水平滚动条与文本框相关联。

Private Sub Form_Load() HScroll1.Max = 40 HScroll1.Min = 10

Label1.FontSize = HScroll1.Value Form1.Caption = \改变字号\End Sub

Private Sub HScroll1_Change() Text1.Text = HScroll1.Value Label1.FontSize = HScroll1.Value End Sub

24、

Private Sub HScroll1_Scroll() Call HScroll1_Change End Sub

Private Sub Text1_Change() Dim i As Integer i = Val(Text1.Text)

If i >= 10 And i <= 40 Then Label1.FontSize = i HScroll1.Value = i End If End Sub

(1)参照运行时界面完成界面设计。(2)在属性窗口中将标签(Label1)的标题设为“祝您考试成功”,字体设置为“宋体”、字形为“粗体”、大小为“二号”、文字颜色为“红色”,格式设置为在窗体中水平居中对齐。(3)单击“开始”按钮(Command1),标签文字在定时器控制下自动交替以红兰两种颜色显示。同时“开始”按钮变为“停止”按钮。(4)单击“停止”按钮,标签文字停止闪烁,同时“停止”按钮变为“开始”按钮。(5)定时器(Timer1)的时间间隔为0.3秒。

Private Sub Form_Load()

Label1.Left = Form1.ScaleWidth / 2 - Label1.Width / 2 Label1.Top = Form1.ScaleHeight / 2 - Label1.Height / 2 Command1.Caption = \开始\ Timer1.Enabled = False Label1.ForeColor = vbRed End Sub

Private Sub Command1_Click() Private Sub Timer1_Timer() If Command1.Caption = \开始\ If Label1.ForeColor = vbRed Then Command1.Caption = \停止\ Label1.ForeColor = vbBlue Timer1.Enabled = True Else Else Label1.ForeColor = vbRed Command1.Caption = \开始\ End If Timer1.Enabled = False End Sub End If End Sub 25、

14

VB后半学期练习题

(1)参照运行时界面完成界面设计。(2)在属性窗口中将标签(Label1)的标题设为“祝您考试成功”,字体设置为“宋体”、字形为“粗体”、大小为“二号”、文字颜色为“红色”。(3)单击“开始”按钮,标签文字在定时器控制下自动地从左向右移动,移动速度为每个时间间隔右移100缇,当标签移动到窗体外时,再从窗体的左边进入。同时“开始”按钮变为“停止”按钮。(4)单击“停止”按钮,标签“祝您考试成功”文字停止滚动。同时“停止”按钮变为“开始”按钮。(5)定时器(Timer1)的时间间隔为0.1秒。

If Command1.Caption = \开始\ Command1.Caption = \停止\ Timer1.Enabled = True Else

Command1.Caption = \开始\ Timer1.Enabled = False End If End Sub 26、

Private Sub Timer1_Timer()

If Label1.Left < Form1.Width Then Label1.Left = Label1.Left + 100 Else

Label1.Left = -Label1.Width End If End Sub

(1)参照运行时界面完成界面设计。(2)单击“开始”按钮(Command1),标签“欢迎光临”(Label1)文字在定时器控制下字号自动增加2。同时“开始”按钮变为“停止”按钮。(3)单击“停止”按钮,标签“欢迎光临”文字停止放大。同时“停止”按钮为“开始”按钮。(4)要求标签文字在放大时保持水平居中。(5)定时器(Timer1)的时间间隔为0.2秒。

Private Sub Form_Load()

Label1.Left = Form1.ScaleWidth / 2 - Label1.Width / 2 Label1.Top = Form1.ScaleHeight / 2 - Label1.Height / 2 Label1.ForeColor = vbRed End Sub

Private Sub Command1_Click()

If Command1.Caption = \开始\ Timer1.Enabled = True

Command1.Caption = \停止\ Else

Timer1.Enabled = False

Command1.Caption = \开始\ End If End Sub

Private Sub Timer1_Timer()

Label1.FontSize = Label1.FontSize + 2

Label1.Left = Form1.ScaleWidth / 2 - Label1.Width / 2 Label1.Top = Form1.ScaleHeight / 2 - Label1.Height / 2 End Sub 27、

(1)参照运行时界面完成界面设计。(2)设计两个定时器,Timer1用于显示系统时间,时间间隔为1

秒;Timer2用于判断闹钟时间,时间间隔为0.5秒,Timer2设置为不可使用。(3)窗体的上半部是标签Label1,用于显示时间,设置Label1的Font为:宋体、粗体、二号,背景白色,文字居中对齐,

15

本文来源:https://www.bwwdw.com/article/b0j6.html

Top