相关试卷
-
1、数制转换。将一个K进制(k<=10)数x转换成十进制数可采用如下方法:主要方法是从右向左,依次取数x的各位数字,分别计算出该数从右边数起的第i位数字与k(i-1)的积,再将其累加,直到所有的数字取完为止。例如,将五进制数1231转换成十进制数的方法如下:
下列Visual Basic程序的功能是将K进制(k<=10)数x转换成十进制数。界面如图所示,在文本框Text1中输入数制k,在文本框Text2中输入数x,单击"转换"按钮(Command1)后,在标签Label4中输出转换的结果。
解决此问题的算法流程图如图所示,相应的Visual Basic程序如下:
Private Sub Command1_Click()
Dim b As Long, i As Integer, k As Integer, x As Long, t As Integer
b = 0: i = 1
k = Val(Text1.Text)
x = Val(Text2.Text)
t = x Mod 10
Do While ①
b = ②
x = x \ 10
t = x Mod 10
i = i + 1
Loop
Label4.Caption = Str(k) + "进制数" + Text2.text + "转换成十制数为" + Str(b)
End Sub
在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:
(1)、程序中①划线处应填入。(2)、程序中②划线处应填入。 -
2、普源为晚上的班级联欢会设计了一个抽奖程序,将所有同学的编号和对应的姓名分别保存在数组a(全班共50个同学,编号为1到50)和数组b中,程序会随机产生一个1到50的正整数(同时包括1和50),作为中奖编号。
程序界面如图所示,左边列表框List1中显示同学的编号和姓名,单击"抽奖"按钮(Command1),在标签Label3中显示抽中的编号,同时在标签Label4中显示"恭喜***同学",其中具体同学的姓名从数组b中获取。
解决此问题的程序段如下,请在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:
Dim a(1 To 50) As Integer
Dim b(1 To 50) As String
Function search(m As Integer) As Integer
search = 0
For i = 1 To 50
If m = a(i) Then
search = a(i)
End If
Next i
End Function
Private Sub Command1_Click()
Dim c As Integer,t as integer
Randomize
Label3.Caption = Str(c)
t = search(c)
If t <> 0 Then
Label4.Caption = "恭喜" + + "同学"
End If
End Sub
Private Sub Form_Load()
' 此过程用于对数组a和数组b进行初始赋值,代码略
End Sub
-
3、设有n盏灯,放在一排。从1 到 n依次顺序编号。有 n个人也从1到n依次编号。第1个人(1号)将灯全部关闭,第2个人(2号)将凡是2的倍数的灯打开,第3个人(3号)将凡是3的倍数的灯做相反处理(该灯如果为打开的,则将它关闭,如关闭的将它打开),以后的人和3号一样,将凡是自己号数倍数的灯做相反处理。问当n个人操作后,哪几盏灯是亮的。(亮灯为0,关闭为1)
为了实现这一目标,完善下列程序,使之能完成该功能。
Private Sub command1_click()
Const n=20
Dim i as integer,j as integer
Dim a(1 to n) as integer
For j=1 to n
a(j)=0
next j
for i=1 to n
for j=1 to n
if j mod i=0 then
End if
Next j
Next i
For j=1 to n
If then list1.additem str(j)
Next j
End Sub
-
4、有如下流程图结构,该流程图中输出的前2个值依次分别是、。
-
5、有如下Visual Basic程序段:
Dim a As Integer, b As Integer, c As Integer
a = 20
b = 0
c = 2
Do While a > b And a > c
b = b + 1
c = c + b
Loop
问:该程序段运行后,
(1)、语句“b=b+1”执行的次数为。(2)、变量c的值为。 -
6、有如下Visual Basic程序段:
s = 0
a = 5
For i = 1 To 10 Step 2
a = a + i
s = a * i
Next i
问:该程序段运行后,
(1)、变量i的值是。(2)、变量s的值是。 -
7、有如下Visual Basic程序段:
a = 5
b = Len("1011")
If a > b Then
Label1.Caption = "请重新输入"
Else
Label1.Caption = "欢迎光临"
End If
该程序段运行后,在标签Label1上显示的是。
-
8、有如下Visual Basic程序段:
a = "1100101"
b = Mid(a, 2, 4) + "101"
该程序段运行后,变量b的值为。
-
9、闰年条件:能被4整除且不能被100整除或能直接被400整除。写出闰年的VB表达式(年份用变量y)。
-
10、将数学表达式S= 写成VB表达式为。
-
11、有以下几种流程图符号:
①输入输出框 ②连接框 ③流程线 ④判断框 ⑤处理框 ⑥开始结束符
A~F六种流程图符号代表的含义依次是
-
12、阅读下面程序:
Private Sub command1_click()
a=val(text1.text)
b=val(text2.text)
if a=b then
text3.text=str(a)
exit sub
end if
do while b<>0
r=a mod b
a=b
b=r
loop
text3.text=str(a)
End Sub
在text1、text2中输入30、6,则text3中的值为( )
A、1 B、3 C、6 D、9 -
13、在Visual Basic中程序段是计算( )公式的
s=0
For i=1 To 10
t=1
for j=1 to i
t=t*j
next j
s=s+t
Next i
A、s=1+2+3+4+5+6+7+8+9+10 B、s=1*2*3*4*5*6*7*8*9*10 C、s=1!+2!+3!+4!+5!+6!+7!+8!+9!+10! D、s=1+2*3+3*4+4*5+5*6+6*7+7*8+8*9+9*10 -
14、有如下Visual Basic程序段:
k = 1
For j = 2 To 100
If a(j) > a(k) Then k = j
Next j
x = a(k)
该程序段执行后,变量x中存储的是( )A、a(1)至a(100)中的最小值 B、a(1)至a(100)中的最大值 C、a(2)至a(100)中的最小值 D、a(2)至a(100)中的最大值 -
15、下列语句执行后,s的值为( )
For i=1 to 30
If i mod 5=0 then
s=s+i
i=i+6
end if
next i
A、45 B、55 C、65 D、75 -
16、要计算S=1-2+3-4+5……-100以下不正确的程序段是( )
S=0 :T=1
For i=1 to 100
S=s+i*T
T=-T
Next i
①S=0
For i=1 to 100
S=s+i*(-1)^(i+1)
Next i
②S=0
For i=1 to 100
S=s+i*(-1)^i
Next i
③S=0:S1=0:S2=0
For i=1 to 50
S1=s1+2*i-1
S2=s2+2*i
Next i
S=s1-s2
④
A、① B、② C、③ D、④ -
17、在Visual Basic中,有如下程序:
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer
Dim d As Integer, z As Integer
a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text)
d = max(a, b)
z = max(d, c)
Text4.Text = Str(d)
Text5.Text = Str(z)
End Sub
Function max(x As Integer, y As Integer) As Integer
If x > y Then max = x Else max = y
End Function
运行该程序,在文本框Text1、文本框Text2、文本框Text3中分别输入2、-5、6后,单击命令按钮Command1,文本框Text5中显示的是( )
A、-5 B、2 C、6 D、24 -
18、运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"类型不匹配"错误时所执行的语句是( )
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 10 '①
b = 20 '②
Text1.Text = "a+b=" + Val(a + b) '③
End Sub '④
A、① B、② C、③ D、④ -
19、运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"下标越界"错误时所执行的语句是( )
Private Sub Command1_Click()
Dim a(0 To 5) As Integer
Dim i As Integer '①
a(0) = 1 '②
For i = 1 To 5
a(i) = 2 * a(i - 1) + 1 '③
Next i
Text1.Text = Str(a(6)) '④
End Sub
A、① B、② C、③ D、④ -
20、VB中,设x=298,能得到其个位数字“8”的正确表达式是( )A、Int(x/100)*100 B、Int(x/10)*10 C、Int(x/100) D、x-Int(x/10)*10