浙江省信息技术学考VB模块基础检测(附参考答案)

浙江省信息技术学考VB模块基础检测(附参考答案)
浙江省信息技术学考VB模块基础检测(附参考答案)

VB模块基础检测(高一)

班级姓名分数

一、选择题(本大题共20小题,每小题3分,共60分)

每小题4个选项中只有一个符合题目要求,不选、错选、多选均不得分。请将选项直接写在各小题相应位置。1.某算法的自然语言描述与流程图表示分别如下:

则流程图中空白处理框①和②处应填入的是()

A.①y ←x2– 1 ②x ←2x – 1

B.①y ←x2– 1 ②y ←2x – 1

C.①y ←2x – 1 ②y ←x2– 1

D.①x ←x2– 1 ②y ←2x – 1

2.字符串变量a的值为“Hello,world!”,下列VB表达式的值是“world”的是()

A.Len(a)B.Mid(a, 6, 5)C.Mid(a, 7, 4)D.Mid(a, 7, 5)

3.产生[-20,20] 范围内某一随机整数的表达式是()

A.Int(Rnd * 41) B.Int(Rnd * 41) - 20

C.Int(40 * Rnd) - 20D.Int(-40 * Rnd) + 20

4.在VB中,若a = 4,b = 3,语句If a > b Then a = a - 2 Else b = b + 1执行后,

下列说法正确的是()

A.执行了语句a = a - 2B.先执行a = a - 2,再执行c = b + 1

C.执行了语句b = b + 1D.先执行b = b + 1,再执行a = a - 2

5.数学表达式1 ≤ b ≤ 100写成VB表达式,正确的是()

A.1 <= b <= 100B.1 ≤ b ≤ 100

C.1 <= b And b <= 100D.1 <= b Or b <= 100

6.在VB代码编辑窗口中,输入了“List1.”后出现了如第6题图所示的信息,

其中的“Clear”是List1的()

A.属性名B.事件名C.对象名D.方法

7.在VB数组说明语句Dim a(11) As Single中,数组a的元素个数是()A.0 B.12 C.1 D.11

8.下列VB表达式的值等于100的是()

A.Val("96") + 4 B.Len("40") + 60 C.Sqr(81) + 19 D.Str(20) + "80" 9.若x为正整数,同时能被5整除,则下列VB表达式的值一定为真的是()A.x / 5 = 0 B.x Mod 5 = 0 C.Int(x \ 5) = 0 D.5 Mod x = 0第6题图

第1步:输入一个实数x

第2步:判断x与0的大小关系,若x≥0,则y=x2-1,否则y=2x-1

第3步:输出y

第4步:结束

10.若x、y都是正整数,且关系表达式x \ y = 1为真,则下列VB表达式值一定为真的是()A.x Mod y = 0B.x < y C.x * y Mod 2 = 0D.x >= y And x < 2 * y

11.有如下VB程序段:

For i = 1 To 1000

a = Int(Rnd * 100 + 1)

b = Int(Rnd * 100 + 1)

x = a + b

y = a - b

c = Sqr(x)

第11题图

d = Sqr(y)

Next i

调试时出现如第11题图所示的错误提示,产生此错误的语句是()

A.x = a + b B.y = a - b C.c = Sqr(x)D.d = Sqr(y)

12.有如下VB程序段:

m = a(10)

For i = 9 To 1 step -1

If m > a(i) Then m = a(i)

Next i

该程序段执行后,变量m中存储的是()

A.a(1)至a(10)中的最大值B.a(1)至a(10)中的最小值

C.a(2)至a(10)中的最大值D.a(2)至a(10)中的最小值

13.某VB程序段如下:

Dim a(1 To 20) As Integer

Dim i As Integer

a(1) = 1

For i = 1 To 20

a(i) = a(i - 1) * i

Next i

运行该程序段,首先会出现的错误提示为()

A.下标越界B.子程序或函数未定义

C.要求对象D.溢出

14.已知文本框对象Text1的Text属性值发生改变时,会驱动下面事件处理过程Private Sub Text1_Change()

If Val < 500 Then = + "2"

End Sub

开始时,在Text1中输入6,Text1最后显示值是()

A.622B.2222

C.62D.226

15. 某VB程序的代码如下:

Private Sub Command1_Click()

a=Val

b=Val

s=a*b

=Str(s)

End Sub

运行程序,单击命令按钮Command1后弹出图中所示出错信息提示,引起该错误的语句是()A.a=Val B.b=Val C.s=a*b D.=Str(s)

16. 下列V B表达式中,值为字符串型的是( )

①str(x) ② ③ ④Chr(x) ⑤Asc(x)

A.①③⑤B.①②④C.②④⑤D.②③④

17.下列能计算Sum = 1 + 2 / 3 + 3 / 5 + …… + 50 / 99的VB程序段是()

A.Sum = 1

For i = 1 To 49

Sum = Sum + i / (2 * i - 1) Next i B.Sum = 0

For i = 1 To 99

Sum = i / (2 * i - 1) Next i

C.Sum= 0

i = 1

Do While i <= 50

Sum = Sum + i / (2 * i - 1)

i = i + 1

Loop D.Sum= 0

i = 1

Do While i <= 50

Sum = Sum + i / (2 * i - 1) Loop

18.对称字符串的特征是从左到右读和从右到左读完全一样的。如“abba”是对称的,“abcba”也是对称的。判断字符串是否对称的VB程序段如下:

Dim n As Integer, i As Integer, j As Integer, k As Integer

Dim s As String, c1 As String, c2 As String

s =

n=Len(s)

k=0 : j=n

For i = 1 To n/2

Next i

If k = 0 Then ="对称" Else = "不对称"

方框中的代码由以下三部分组成:

①j = j - 1

②If c1 <> c2 Then k = k + 1

③c1= Mid(s,i,1) : c2 = Mid(s,j,1)

代码顺序正确的选项是

A.①③②B.②③①C.③②①D.②①③

19.某数列前三项分别为:a1 = 2、a2 = 3、a3 = 4,以后每项都满足:a k = a k-3 + a k-1(k>3),

如果用数组a 存储该数列的前10项,请你完善该程序段,并输出结果( ) Dim a(10) As Integer, k As Integer a(1) = 2 : a(2) = 3 : a(3) = 4 For k = ______ To 10

a(k) = a(k - 3) + a(k - 1)

Next k Print a(10) A .4 60 B .3 41 C .5 11 D .4 11

20.以下VB 程序的功能是:计算表达式1×2×3×4×5×6×7×8×9×10的值,并在文本框Text1中输出结果。为了实现

这一功能,下面程序段划线处应填入( ) Private Sub Command1_Click()

Dim i As Integer,sum As Long _____________ For i = 1 To 10

sum = sum * i Next i =Str(sum) End Sub A .i=0 B .i=1 C .sum=0 D .sum=1

二、综合题(本大题共10小题,每小题4分,共40分)

21.表达式表述及其计算(共4分)

(1)计算9 + 13 \ 5 * 11 / 4 Mod 5的值: (2分) (2)

[]a ac b sqr b 2\)*42^(-+-,该VB 表达式修正为: (2分)

22.下列VB 程序运行时,在文本框Text1中输入“Basic ”,单击命令按钮Command1后,文本框Text2中显示的内容是 。(4分) Private Sub Command1_Click() Dim i As Integer, n As Integer

Dim s1 As String, s2 As String, c As String s1 = s2 = "" n = Len(s1) For i = 1 To n

c = Mid(s1, i, 1) s2 = c + s2 Next i = s2 En

d Sub

23.为使左、右框内的VB 程序段能实现相同的功能:(共4分)

右框内划线处的内容可以是 、 。

24.有VB 程序段如下:(4分)

Dim i As Integer, j As Integer, k As String, n As Integer n = 3

List1. Clear For i = 1 To n

k =""

For j = 2 * i - 1 To 1 Step -2

k = k + " * " Next j

List1. AddItem k Next i

25.有VB 程序段如下:(4分) Dim a(1 To 10) As Integer

Dim k As Integer, i As Integer, c As Integer a(1) = 2: a(2) = 11: a(3) = 7: a(4) = 14: a(5) = 25 c = 0 For i = 6 To 10

If a(i - 3) + a(i - 2) <= a(i - 1) * 2 Then c = c + 1 a(i) = (a(i - 3) + a(i - 1)) \ 2 Next i

= Str(a(10)) & " :" & Str(c) 26.下面程序的功能是:找出n 以内的被3整除同时被5整除的奇数,将符合条件的这些整数累加到sum 中,在文本框Text1中输入n 的值(n 为正整数),输出sum 结果。(共4分)

Private Sub Command1_Click()

Dim sum As Long, i As Integer, n As Integer

sum = 0

n = Val

For i = 1 To n _______ '(2分)

If ___________________________ '(2分)

Next i

Print sum

End Sub

27.一个十进制整数的二进制表示中,如果数字“1”的个数多于数字“0”的个数,则称该整数为A类数。如十进制整数26的二进制表示为11010,26是一个A类数。下列VB程序的功能是:统计前1000个自然数中A类数的个数,并在文本框中输出。请在划线处填入合适代码。(共4分)

Private Sub Command1_Click()

Dim i As Integer, n As Integer

Dim s As Integer, t As Integer, k As Integer

s = 0

For i = 1 To 1000

n = i

t = 0

k = 0

Do While n > 0

If n Mod 2 = 1 Then t = t + 1 Else k = '(2分)

n = n \ 2

Loop

If Then s = s + 1 '(2分)

Next i

= Str(s)

End Sub

28. 有VB程序段,Command1的事件处理过程如下(4分)

Private Sub Command1_Click()

Dim s As Integer, i As Integer ,n As Integer

s=0

n=Val()

For i=5 To 1 Step -2

s= s+n

Next i

= Str(s)

End Sub

程序运行时在文本框Text1中输入7,连续单击两次Command1按钮后。

在文本框Text1中的内容为(4分)

29. 有VB程序段如下:(4分)

Private Sub Command1_Click()

Dim i As Integer , a As Integer, b As Integer

a=0: b=0

For i=0 To 350 Step 3

If i Mod 3=0 Then

a= a+i

b= b+1

End If

Next i

= Str(a)

= Str(b)

End Sub

程序运行时,单击按钮Command1后,在标签Label1中显示的内容是,(2分)Label2中显示的内容是(2分)

30.二进制转换为十进制可采用按权展开相加法:如:(1101)2=1×23+1×22+0×21+1×20=(13)10现用VB编写一个转换程序,功能如下:

在文本框Text1中输入二进制编码,单击“转换”按钮Command1,

程序将从左到右依次取出二进制数字字符,同时将该字符转换为数值,

并乘以相应的权值后累加求和,最后在标签框Label1中输出转换后的十

进制数值。

程序运行效果如右图所示。(共4分)

Private Sub Command1_Click()

Dim code2 As String '存放二进制

Dim code10 As Long '存放十进制

Dim changdu As Integer, bit As Integer, i As Integer

code2 =

code10 = 0

changdu = '(2分)

For i = 1 To changdu

bit = '(2分)

code10 = code10 + bit * Val(Mid(code2, i, 1))

Next i

= Str(code10)

End Sub

VB模块基础检测答案参考(高一)

一、选择题(本大题共20小题,每小题3分,共60分)

二、综合题(本大题共10小题,每小题4分,共40分)

21. (1)9 (2)(-b+sqr(b^2-4*a*c))/(2*a)

没有其他不同答案,注意乘号写错不给分,分母括号没写不给分。

22. cisaB

23. (1)t<=99 (或t<100) (2)t+2

24.

*

**

***

25. 16 : 3

26. (1)step 2

(2)i Mod 15 = 0 Then sum = sum + i (或i Mod 3 = 0 And i Mod 5 = 0 Then sum = sum + i)或:(1)step 1

(2)i Mod 2 = 1 And i Mod 15 = 0 Then sum = sum + i

(或i Mod 2 > 0 And i Mod 15 = 0 Then sum = sum + i )

(或i Mod 2 = 1 And i Mod 3 = 0 And i Mod 5 = 0 Then sum = sum + i)

(或i Mod 2 > 0 And i Mod 3 = 0 And i Mod 5 = 0 Then sum = sum + i)

27. (1)k = k + 1 (2)t > k (或k < t)

28. 63

29. (1)20358 (2)117

30. (1)len( code2 ) (2)2 ^ ( changdu - i )

相关主题
相关文档
最新文档