当前位置:文档之家› VB1练习题

VB1练习题

1.菜单设计(10分)请设计一个如图1与图2所示的下拉菜单,各菜单的名称属性如表2所示,要求使用菜单编辑器设置各级菜单及相应热键。

图2 文件下拉菜单图3 格式下拉菜单2.编写程序实现以下功能:,单击“计算”(如图1),弹出(如图2所示)输入框,在输入框中输入一半径数(如10),则圆的面积就会在标签(label1)中显示出来(如图3)。

(10分)图1图2图3Private Sub Command1_Click()Const pi As Single = 3.14 2分Dim r As Single 1分Dim s As Double 1分r = Val(InputBox("请输入圆的半径:", "输入圆的半径提示框")) 3分s = pi * r ^ 2 2分Label2.Caption = s 1分End Sub3.编写程序实现以下功能:在文本框中输入用户名“小红”,密码框中输入“2011VBKS”,单击“确定”按钮(如图1),如果输入数据正确,则弹出信息框“欢迎参加VB考试!”(如图2),输入数据不正确,则弹出警告框“输入数据有误!请重新输入……”如图3。

(10分)图1图2 图3Private Sub Command1_Click()a=Text1.Textb= Text2.TextIf a = "小红" And b = "2011VBKS" Then 3分Y=MsgBox ("欢迎参加VB考试!" ) 2分Else 1分Y=MsgBox ("输入数据有误!请重新输入……", 1 + 48, "数据确认框:") 3分End If 1分End Sub4.编写程序实现以下功能:程序运行时,单击窗体,弹出如图1所示对话框,在对话框中输入一个整数,系统判断是奇数或者偶数,若为奇数则显示如图3中所示结果,若为偶数如图2中显示结果。

(10分)图1图2Private Sub Form_Click()Dim x As Integer 1分x = Val(InputBox("请输入一个整数!")) 2分if x mod 2=0 then 2分Print "x=" & Str(x); " x是一个偶数!" 2 分Else 1 分Print "x=" & Str(x); " x是一个奇数!" 1 分End If 1 分End Sub5.编写程序实现以下功能:在文本框中输入一个整数,单击“确定”按钮(如图1),如果输入的数能被5整除,则弹出信息框“此数能被5整除”(如图2),否则弹出信息框“这是一个不能被5整除的整数……”如图3。

(10分)图1图2图3Private Sub Command1_Click()Dim x As Integer 1 分x = Val(Text1.Text) 1分If x Mod 5 = 0 Then 2分MsgBox "此数能被5整除!" 2分Else 1分MsgBox "这是一个不能被5整除的整数……", 1 + 48, "数据确认框:" 2分End If 1分End Sub1使用Rnd函数生成10个两位数的随机整数,并放于picture1中,单击命令按钮,找出这10个数中的最大数与最小数,并降序重新排列这10个数。

将运行结果分别置于text1、text2以及picture2中(如图1中)。

(10分)参考答案:Option Base 1Private Sub Command1_Click()Dim max As Integer '存储最大数0.25分Dim min As Integer '存储最小数0.25分Dim i As Integer '循环变量0.25分Dim j As Integer '循环变量0.25分Dim t As Integer '交换变量0.25分Dim a(10) As Integer 0.25分'*****初始化随机数(*******For i = 1 To 10 0.5分a(i) = Int(Rnd * 90 + 10) 1分Picture1.Print a(i); 0.5分Next I 0.25分'*********求最大最小值**********max = a(1) 0.25分min = a(1) 0.25分For i = 2 To 10 0.25分If max < a(i) Then max = a(i) 1分If min > a(i) Then min = a(i) 1分Next I 0.25分Text1.Text = max 0.25分Text2.Text = min 0.25分'********排序(4分)*********For i = 1 To 9 0.25分For j = i + 1 To 10 0.25分If a(i) > a(j) Then 0. 5分t = a(i): a(i) = a(j): a(j) = t 0.5分End If 0.25分Next j 0.25 Next I 0.25For i = 1 To 10 0.25 Picture2.Print a(i); 0.25分Next I 0.25End Sub2、使用Rnd函数生成10个[0~100]之间的随机整数,并在窗体加载时在Label2中显示,当单击“升序排序”后以升序排列在Label4中显示。

窗体格式如图(16分)参考程序:Dim a(1 To 10) As Integer 1分Private Sub Command1_Click()Dim i, j, t As Integer' 选择法排序7分For i = 1 To 9For j = i + 1 To 10If a(i) > a(j) Thent = a(j): a(j) = a(i): a(i) = tEnd IfNext jNext i‘输出排序后的数据序列2分For i = 1 To 10Label4.Caption = Label4.Caption & a(i) & " "Next iEnd SubPrivate Sub Form_Load()Dim i, j As IntegerFor i = 1 To 10a(i) = Int(Rnd * 101)Next i‘输出原始数据2分For i = 1 To 10Label2.Caption = Label2.Caption & a(i) & " "Next iEnd Sub3.编程实现如图1所示的程序代码:随机生成10个100以内的整数置于picture1中,升序后的10个数放在picture2中,降序后的10个数放在picture3中。

(10分)Option Base 1 0.5分Private Sub Command1_Click()Dim a(10) As Integer, i As Integer, j As Integer 0.25分For i = 1 To 10 0.25分a(i) = Int(Rnd * 100) 0.5分Picture1.Print a(i); 0. 5分Next I 0.25分For i = 1 To 9 0.25分For j = i + 1 To 10 0.5分If a(i) > a(j) Then 0.5分t = a(i): a(i) = a(j): a(j) = t 0.5分End If 0.25分Next j 0.25分Next I 0.25分For i = 1 To 10 0.25分Picture2.Print a(i); 0. 5分Next I 0.25分For i = 1 To 9 0.25分For j = i + 1 To 10 0. 5分 If a(i) < a(j) Then 0.5分 t = a(i): a(i) = a(j): a(j) = t 0.5分 End If 0.25分Next j 0.25分Next I 0.25分For i = 1 To 10 0.25分Picture3.Print a(i); 0.25分Next i 0.25分End Sub 0.25分Private Sub Command2_Click()Picture3.Cls 0.25分Picture2.Cls 0.25分Picture1.Cls 0.25分End Sub4、编写一个能计算全班成绩的总分(置入Label5中)、平均分(置入Label6中)、最高分(置入Label7中)、最低分(置入Label8中)并能统计各分数段0—59(置入Text1中),60—84(置入Text2中),85—100(置入Text3中)人数的程序代码,人数由输入框输入,成绩由系统随机产生,下图为参考界面。

(10分)参考程序:界面设计Private Sub Command1_Click()Dim a() As Integer (0.25分)Dim ave As String (0.25分)Dim i, sum, max, min, s1, s2, s3 As Integer (0.25分)sum = 0: max = 0: min = 110 (0.25分)n = Val(InputBox("请输入班级人数:")) (0.5分)ReDim a(n) (0.5分)For i = 1 To n (0.25分)a(i) = Int(100 * Rnd + 1) (0.5分)Next (0.25分For i = 1 To n (0.25分)sum = sum + a(i) (0.5分)If a(i) < 60 Then s1 = s1 + 1 (0.25分)If a(i) >= 60 And a(i) < 85 Then s2 = s2 + 1 (0. 5分)If a(i) >= 85 Then s3 = s3 + 1 (0. 5分)If max < a(i) Then max = a(i) (0.5分)If min > a(i) Then min = a(i) (0.5分)Next i (0.25分)ave = sum / n (0.5分)Label5.Caption = sum (0.5分)Label6.Caption = ave (0.5分)Label7.Caption = max (0.5分)Label8.Caption = min (0.5分)Text1 = s1 (0.25分)Text2 = s2 (0.25分)Text3 = s3 (0.25分)End Sub。

相关主题