高中信息技术算法与程序设计 专项测试一 程序设计基础
试卷更新日期:2022-03-30 类型:复习试卷
一、选择题
-
1. 下列问题不能用算法描述的是( )A、求所有自然数之和 B、将四位十进制数转换为对应的二进制数 C、将100个实数按升序排列 D、求100个整数中的最大值和最小值2. 下列可作为VB变量名的是( )A、3D B、X_Y C、X+Y D、And3. 有10个数据23、15、51、36、78、47、39、9、88、96依次存放在数组a(1 to 10)中,使用如下程序段找出最大值:
max=a(1)
For i=2 to 10
Next i
当方框内的语句执行完6次后(此时循环变量i的值为7),变量max的值是( )
A、23 B、39 C、78 D、964. 有如下VB程序段:a=12
b=54
a=a+b
b=a-b
a=a-b
该程序段执行后,变量a,b的值分别是( )
A、12,54 B、54,12 C、12,12 D、54,545. 变量c中存储着一个字符,能够正确判断出该字符为数字字符“0”~“9”的VB表达式是( )A、c>=“0” And c<=“9” B、c>=“0” Or c<=“9” C、Asc(c)>=0 And Asc(c)<=9 D、Asc(c)>=0 Or Asc(c)<=96. 字符串变量a、b的值分别为“12”、“34”,则表达式a+b的值是( )A、“12+34” B、“1234” C、46 D、“46”7. 字符串变量s的值为“ZheJiangHangZhou”,下列VB表达式的值是“Hang”的是( )A、Mid(s,8,4) B、Mid(s,4,8) C、Mid(s,9,4) D、Mid(s,4,9)8. 将数学表达式 (x≠1,y≠1)写成VB表达式是( )A、x-1/1/y-1 B、y-1/x-1 C、(y-1)/(x-1) D、1/(x-1)/(y-1)9. 有如下VB程序段:x = 0
For i = 0 To 20 Step 2
If i Mod 3 = 0 Then x = x + i
Next i
该程序段执行后,变量x的值是( )
A、12 B、18 C、36 D、6010. 小明编写了一个统计随机数分布的VB程序,部分程序如下所示,在调试程序的时候出现如下图所示的错误信息:n = 0
m = 0
For i = 1 To 100
If Rnd > 0.5 Then
n = n + 1
Else
m = m + 1
Next i
……
小明仔细分析该程序段后,发现其中缺少的语句是( )
A、For B、End If C、Next D、If11. 有如下VB程序段:Dim k As Integer, s As Integer
k = 0: s = 0
Do While k >= 10
k = k + 1
s = s + k
Loop
该程序段执行后,变量s的值是( )
A、0 B、1 C、10 D、1112. 小明在设计VB程序时所使用单选框对象的属性窗口如下图所示,他想编写该单选框单击事件的处理过程,则该事件处理过程名是( )A、OptionButton_Click B、男_Click C、Option1_Click D、单选框_Click13. 某算法的部分流程图如下图所示,执行这部分流程后,输出b,s的值分别是( )A、72,138 B、72,210 C、87,210 D、87,297二、非选择题
-
14. 下列VB程序运行时,单击命令按钮Command1后,语句①被执行了次,文本框Text1中显示的内容是。
Private Sub Command1_Click()
Dim a(1 To 5) As Integer.i As Integer
a(1)=1
a(2)=1
For i=3 To 5
a(i)=2*a(i-1)+a(i-2) ′语句①
Next i
Text1.Text=Str(a(5))
End Sub
15. 下列VB程序运行时,单击命令按钮Command1后,文本框Text1中显示的内容是 , 文本框Text2中显示的内容是。Private Sub Command1_Click()
Dim a(1 To 3) As Integer, k As Integer, t As Integer, s As Integer
a(1) = 12: a(2) = 41: a(3) = 2
s = 0
For k = 2 To 3
If a(k) > a(1) Then
t = a(1): a(1) = a(k): a(k) = t
s = s + 1
End If
Next k
Text1.Text = Str(a(1))
Text2.Text = Str(s)
End Sub
16. 编“求最大数最小数”程序,实现如下功能:在文本框Text1中输入一个正整数n,单击“分析”按钮Command1后,程序将生成n个随机整数,显示在列表框List1中;并计算这n个随机整数中的最大数、最小数及它们所在的位置,最后求出这n个数的平均值。程序运行界面如下图所示。(1)、要使程序运行时,清空文本框Text1中的内容,可在Form_Load事件过程添加语句(单选,填字母:A .Text1.Caption = “ ” / B .Text1.Text=“ ” / C .Text1.Font=“ ”)。(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。Private Sub Command1_Click()
Dim n As Integer, i As Integer, x As Integer, sum As Integer, avg As Single
Dim max As Integer, min As Integer, maxi As Integer, mini As Integer
n = Val(Text1.Text)
x = Int(Rnd * 100) + 1
List1.AddItem Str(x)
max = x : min = x
maxi = 1: mini = 1
For i = 2 To n
x = Int(Rnd * 100) + 1
List1.AddItem Str(x)
If x > max Then max = x: maxi = i
If Then min = x: mini = i
sum = sum + x
Next i
List2.AddItem “最大数为:” + Str(max) + “,所在位置为:” + Str(maxi)
List2.AddItem “最小数为:” + Str(min) + “,所在位置为:” + Str(mini)
List2.AddItem “平均值为:” + Str(avg)
End Sub
17. 现要求编写VB程序实现如下功能:在文本框Text1中输入正整数n,单击命令按钮Command1后,在文本框Text2中会显示一个有规律的数字串,形式为“1 2 3 … n-1 n n-1…3 2 1”。 例如n=6时,显示的数字串为“1 2 3 4 5 6 5 4 3 2 1”。按此要求编写的程序如下,但加框处代码有错,请改正。Private Sub Command1_Click()
Dim n As Integer, i As Integer, s As String
n = Val(Text1.Text)
s = “ ”
For i = 1 To '(1)
If i <= n Then s = s + Str(i)
Else
'(2)
Next i
Text2.Text= s
End Sub
程序中加框(1)处应改正为;
加框(2)处应改正为。
18. 下列VB程序的功能是:程序运行时,在文本框Textin中输入正整数n.单击命令按钮Command1后,统计1至n的整数中包含数字2的整数个数,并在文本框Textout中输出结果,若n=20,有2、12和20三个整数包含数字2,则文本框Textout中输出“3”。实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim i As Long, n As Long, t As Long
Dim s As Long ′s用于统计1到n之间包含数字2的整数个数
Dim k As Boolean
s = 0
n = Val(Textin.Text)
For i = 1 To n
k = False
t = i
Do While Not k And t > 0
t = t \ 10
Loop
If k Then
Next i
Textout.Text = Str(s)
End Sub
19. 小明设计了一个验证自由落体规律的实验:小球从高处静止状态垂直下落,用照相机每隔0.1秒拍照1次,测得实验数据如下:拍照时刻(秒)
0.1
0.2
0.3
0.4
0.5
下落距离测量值(米)
0.049
0.195
0.44
0.785
1.225
现要求编写一个VB程序实现如下功能:单击命令按钮Command1后,由公式h= gt2 (其中g=9.8米/秒2)计算出第一拍照时刻的下落距离理论值,若所有理论值与同一时刻测量值之间的相对误差 都小于0.01,则认为小球在0.5秒内是作自由落体运动,此时在标签Label1中显示“验证通过”,否则显示“验证不通过”。
实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim h1(1 To 5) As Single 'h1用于存储下落距离测量值
Dim h As Single, i As Integer 'h用于存储下落距离理论值
Dim t As Single, g As Single, b As Boolean
h1(1) = 0.049: h1(2) = 0.195: h1(3) = 0.44: h1(4) = 0.785: h1(5) = 1.225
i = 1: b = True
Do While i <= 5 And b
t = i / 10
h = g * t * t / 2
If Then b = False
i = i + 1
Loop
If b Then
Label1.Caption = “验证通过”
Else
Label1.Caption = “验证不通过”
End If
End Sub