模拟试卷(一)
A.算法与程序设计
一、选择题:本大题13小题,每小题2分,共26画出while语句的流程图分。在每小题给出的四个选项中,只有一个是符合题目要求的。
1.我们在编写程序的时候,不能用来表示变量名的标识符是( )
A.print B.prin110ttext C.he_ll_o D.you520
2.将数学表达式写成VB表达式,正确的是 ( )
A.log(x)/2a+b B.log(x)/2*a+b C.log(x)/(2a+b) D.log(x)/(2*a+b)
3.表达式Mid("2012sanxianggaokao",1,4)的值是
A.2012 B."2012" C.2 D."2"
4.表达式2*3^2+2*8/4+3^2的值为( )。
A.64 B.31 C.49 D.22
5.在VB数组说明语句Dim a(-3 to 3)As single中,数组a的元素说明正确的是( )
A.有6个单精度实数型元素 B.有7个单精度实数型元素
C.有6个长整数型元素 D.有7个双精度实数型元素
6.在程序中需要将两个变量的值交换,以下四段流程图中,( )不能完成将变量X、Y的值互相交换。
A. B. C. D.
7.下列VB程序段
Dim x As Single, y As Single
x = Val(Text1.Text)
7.出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解,这种方法叫做 ( )
A.递推法 B.枚举法 C.选择法 D.解析法
8.如果要改变窗体的标题,则需要设置的属性是 ( )
A.Caption B.Name C.BackColor D.Text
9.在Visual Basic的可视化程序设计环境,可以生成能在Windows环境中直接运行的文件,其文件的扩展名为( )
A. frm B.exe C.vbw D.vbp
10.我国是人口大国,2007 年初,我国人口总数p已达 13 亿 5千万。假设我国年人口增长率r为 0.5%,则从 2007 年起多少年后我国人口就会达到或超过 15 亿?解决此问题算法部分流程图如下图所示:
空白矩形框中应填入的是 ( )
A.p←p(1+r) B.p←p+r C.p←pr D.p←p(1+n)
11.某VB程序的一个事件过程如下:
Private Sub Command1_Click()
Dim i As Integer, s As Integer
s = 1: i = 1
Do While i < 10
i = i + 1
s = s * i
Loop
Text1.Text = Str(s)
End Sub
程序运行时,单击命令按钮Command1后弹出如图所示的错误信息。出现错误的原因是
A.Str函数计算时出现错误 B.s = s * i计算时出现错误
C.界面上缺少文本框Text1 D.变量s类型定义错误
12.下面程序段运行后,变量T的值为( )
T=1
K=1
Do While K<=5
T=T*K
K=K+2
Loop
A.3 B.15 C.120 D.60
13.在下面的程序段中其中d ( j ) > d ( j – 1 ) 所在的句子执行的次数为( )
For I = 1 To 5
For j = 6 To I + 1 Step -1
If d(j) > d(j - 1) Then
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
Next j
Next I
A. 5 B.6 C.15 D.30
二、综合题:本大题5小题,其中第14题2分,第15题3分,第16题4分,第17题5分,第18题5分,共19分。
14. 下面的程序执行时在text1 文本框输入一个数鼠标点击按键后,在text2文本框显示相应的数。
Private Sub Command1_Click()
Dim k As Long
k = Val(Text1.Text)
Text2.Text = Str(k * 2)
End Sub
当你从text1文本输入3.21,则在text2文本框显示的值是 。
15.有如下Visual Basic程序段:
Private Sub Command1_Click()
Dim i As Integer, s As Integer
s = 0
i = 1
a = 2
Do While i <= 100
s = s + a * i
i = i * 5
Loop
Text1.Text = Str(s)
Text2.Text = Str(i)
End Sub
问:单击命令按钮Command1后:
(1)文本框Text1中显示的内容是______ ______。
(2)文本框Text2中显示的内容是_____ _______。
16. 下面程序(界面如图)的功能是:将0到255之间的十进制整数转换为二进制整数的表示形式。在如图中上面的文本框(Text1)中输入一个0到255之间的十进制整数,单击“转换”按钮,该十进制整数的二进制形式会显示在下面的文本框(Text2)中。为了实现这一目标,程序中划线处的语句应为_____________.
Private Sub Command1_Click()
Dim a As Integer
Dim s As String
Dim i As Integer
Dim c(1 To 8) As Integer
a =val( Text1.Text)
If __ ___ Then
Text2.Text = "输入数据错误,请重新输入!"
Else
For i = 1 To 8
c(i) = a Mod 2
a = ______________
s = Str(c(i)) + s
Next i
Text2.Text = s
End If
End Sub
17. 个位数字是6,且能被3整除的3位数共有多少个?(设共有n个这样的数)
(1)下面程序用于解决这一问题,在划线处填入合适的语句或表达式;
(2)流程图中所采用的算法名称是 。
第17题 流程图
V B程序如下:
Sub Command1_Click()
Dim i As Integer, n As Integer
m = 106
n = _______
Do While m <= 996
If _______ Then n = n + 1
m = __ _
Loop
Text1.Text = Str(n)
End Sub
18.小新写了一个VB应用程序实现功能如下:在列表框list1中显示一批用户输入的数据数据(不超过500个),当点击命令按钮commond1后,将输入的数据按大小顺序在列表框list2中显示出来,请回答下列问题;
(1)虚线框内程序段所采用的排序算法名称是________.
(2)在划线处填入合适的代码.
Dim d(1 To 500) As Double
Dim n As Integer
Sub Commond2_Click()
Text1.Text = "": n = 0
List1.Clear:List2.Clear
End Sub
Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If n < 500 Then
n = n + 1
d(n) = Val(Text1.Text)
List1.
Text1.Text=""
End If
End If
End Sub
Sub Command1_Click()
Dim i,j,m As Integer
Dim k As ____①______
For i = 1 To n - 1
m = i
For j = i + 1 To n
If d(m) > d(j) Then m = j
Next j
k = d(i):d(i) = d(m):d(m) = k
Next i
List2.Clear
For i = 1 To __②___
List2.AddItem Str(d(i))
Next i
End sub
参考答案
一、选择题:本大题13小题,每小题2分,共26分。在每小题给出的四个选项中,只有一个是符合题目要求的。
1.答案:A 简析:print是VB保留字,不可以作变量名
2.答案:D 简析:分母里的表达式用括号
3.答案:B 简析:mid(x,n,k)函数从字符串x中第n个字符开始为k的子字符串
4.答案:B 简析:先算乘除后算加减
5.答案:B 简析:-3与3之间有个0
6.答案:C 简析:y的值发生了改变
7.答案:D 简析:解析算法:用解析的方法出表示问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题的求解
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论