当前位置:首页 > VB模拟题 二
C)Enabled D) Start 二、填空题
1. 程序实现的功能是:给定年份和月份,判断该年是否为闰年,并根据给定的月份判断该月有多少天。(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除。)注意:程序中有两处填空,均在FOUND下面一行,请不要改动其余部分,把问号处应该填写的内容分别写入解答文本框中。 Private Sub Command1_Click()
Dim y As Integer, m As Integer, days As Integer Dim leap As Boolean y = Val(Text1.Text) m = Val(Text2.Text)
'********************* FOUND ************************** If (?) or (y mod 400=0) Then
leap = True ' leap的值为True时,表示该年为闰年 Else
leap = False 由年份能被400整除和语句y mod 400=0可知:y为年份 End If 题目:年份能被4整除但不能被100整除 Select Case m
y mod 4 =0 and y mod 100<>0 Case 1, 3, 5, 7, 8, 10, 12
days = 31 Case 4, 6, 9, 11 days = 30 Case 2
'********************* FOUND ************************** days = ? 平年28天,闰年29天,由题知leap为True表示闰年 End If
Iif(leap=true,29,28) End Select
Label4.Caption = y & \年\是\不是\闰年,\ & Chr(13) & m & \月有\天\Text1.SetFocus End Sub
2. 利用随机函数产生20个10~99之间的随机整数,求出其中的最大数、最小数和平均值。将产生的20个随机数显示在列表框List1中,将求得的最大数、最小数和平均值显示在文本框Text1、Text2、Text3中。注意:程序中有两处填空,均在FOUND下面一行,请不要改动其余部分,把问号处应该填写的内容分别写入解答文本框中。 Private Sub Command1_Click()
Dim max As Integer, min As Integer, sum As Integer, average As Single Dim x As Integer, i As Integer Randomize
max = -100: min = 100 For i = 1 To 20
x = Int(90 * Rnd + 10) ?产生20个两位整数
'********************* FOUND ************************** ? ?将产生的随机数x添加到列表框中 List1.AddItem x If x > max Then max = x If x < min Then min = x
'********************* FOUND ************************** sum = ? 由average = sum / 20知,sum为和值,所以Sum + x Next i
average = sum / 20
Text1.Text = max: Text2.Text = min
Text3.Text = average End Sub
3. 下面程序的功能是:在100~999三位整数范围内,找出这样的数(水仙花数):该数等于其百位、十位、各位的立方和。例如:371=33+73+13,即371就是水仙花数。
注意:程序中有两处填空,均在FOUND下面一行,请不要改动其余部分,把问号处应该填写的内容分别写入解答文本框中。 Option Explicit
Private Sub Form_Load()
Dim a As Integer, b As Integer, c As Integer
'********************* FOUND ************************** 由Option Explicit知变量必须先声明后使用 ?
Show 但是程序中使用了变量i却没有声明,因此 For i = 100 To 999 Dim i As Integer 或 Dim i% a = i \\ 100 '取百位数字 b = i \\ 10 Mod 10 '取十位数字
c = i Mod 10 '取个位数字
'********************* FOUND ************************** i是水仙花数:i=a^3+b^3+c^3 If ? Then Print i; '按题目的条件书写
Next i
End Sub
在窗体上有一个标签(Label1)、一个计时器(Timer1)和二个命令按钮(名称分别为Command1和Command2)。如果单击“开始”命令按钮,则可使标签每隔0.2秒闪烁一次;如果单击“停止”命令按钮,则标签停止闪烁。注意:程序中有两处填空,均在FOUND下面一行,请不要改动其余部分,把问号处应该填写的内容分别写入解答文本框中。 Private Sub Form_Load() Timer1.Enabled = False
'************FOUND **************** Timer1.?=200 Interval存时间间隔,单位是毫秒,1秒=1000毫秒 Label1.Caption = \注意!\ Command1.Caption = \开始\ Command2.Caption = \停止\End Sub
Private Sub Command1_Click()
Timer1.Enabled = TRUE End Sub
Private Sub Command2_Click()
'************FOUND ***************** ? 计时器Timer1的Timer事件让标签闪烁 End Sub 停止计时后,不执行Timer事件则不再闪烁 Private Sub Timer1_Timer()
Timer1.Enabled =False Label1.Visible =Not Label1.Visible
End Sub
三、程序设计
在考生文件夹下有一个窗体文件Prob01.frm。窗体上有一个名为command1的按钮,其标题为“输出”,有一个名为label1的标签,当点击输出按钮时把数组中的最大值显示在标签里。要求编写一个求数组最大值的max函数,请打开该文件,这个程序不完整,请把它补充完整,并能正确运行。注意:在‘******和’*******之间编写程序,使其实现上述功能,但不能修改程序中的其它部分,也不能修改控件的属性。并运行该程序,只有运行结果正确才得分。
Option Explicit
Option Base 1
Private Sub Command1_Click()
由Label1.Caption = \可知,结果存在变量 Dim a(6) As Single
k中而由k = max(a),知函数名为max,只有1个参数 Dim k As Single
所以 a(1) = 4.5: a(2) = 7.8: a(3) = 9.6 为Single数组a。由于返回Single数组的最大值, a(4) = 6.2: a(5) = 4.1: a(6) = 2.3 结果类型也是Single。 由Option Base 1知,数组下标的最小值=1,下标 k = max(a)
的最大值由UBound(数组名)求得 Label1.Caption = \
End Sub
'********请在两排星号间编写max函数,把程序补充完整
'********
答案: 一、单选题
BBDCA AABCC BACAC ACBBD DCDCD ACBBC 二、填空题
1. y mod 4 =0 and y mod 100<>0 或y mod 100<>0 and y mod 4 =0 iif(leap,29,28)或iif(leap=true,29,28) 2.List1.AddItem x sum+x或x+sum
3. Dim i As Integer 或 Dim i%
i=a^3+b^3+c^3 或i=a*a*a+b*b*b+c*c*c
4. Interval
Timer1.Enabled = False 三、程序设计
Private Function max(a() As Single) As Single Dim i As Integer max = a(1)
For i = 1 To UBound(a)
If max < a(i) Then max = a(i) Next i End Function
运行结果 :k=9.6
共分享92篇相关文档