浙江省信息技术期末考试试卷及其答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江省信息技术期末考试试卷及其答案
TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】
浙江省...高一..信息..期.末.考试..试.卷.
(答案填写在答卷卡上,在试卷上答题无效,答卷卡上按规定填写班级、学号、姓名并且正确填涂准考证号码和答案)
一、选择题(共30小题,每小题2分,共60分,每题只有一个正确答案) 1、用计算机无法解决"打印所有偶数"的问题,其原因是解决该问题的算法违背了算法特征中的( )。
A 、唯一性
B 、有穷性
C 、能行性
D 、有输出
2、做匀加速直线运动物体的即时速度计算公式是vt = v0 + at ,其中v0是初速度,a 是加速度,t 是时间。
计算步骤有: ①用公式计算即时速度vt = v0 + at ②输入初速度v0、加速度a 和时间t ③结束 ④输出结果vt
其正确的顺序是( )。
A 、②①④③
B 、①②③④
C 、④②③①
D 、①④
②③
3、计算梯形面积的算法描述如下: ①输入上底a 、下底b 和高h
②计算梯形面积s(计算公式为:s=(a+b)*h/2) ③输出结果 ④结束
上述算法属于( )。
A 、解析算法
B 、排序算法
C 、递归算法
D 、枚举算法
4、下面3个流程图片段依次分别是什么结构(
)
A 、选择、顺序、循环
B 、顺序、选择、循环
C 、顺序、循环、选择
D 、选择、循环、顺序
5、下列程序设计语言中,哪一个不是面向对象的程序设计语言(
)
A 、C
B 、C++
C 、C#
D 、VC++
6、VB 程序的工程文件名、窗体文件名以及生成的可执行文件名分别是( )。
A 、.vb 、.frm 、.exe
B 、.vbw 、.exe 、.frm
C 、.vbw 、.frm 、.exe
D 、.vbp 、.frm 、.exe 7
该流程图中循环部分结束后,变量s的值是()。
A、3
B、6
C、10
D、15
8、在VB中,要添加一个列表框(listbox),在工具箱中要单击的控件是()。
A、 B、 C、 D、
9、小明使用控件设计一个秒表,倒计时
时间精确到秒,如右图,设置该控件的
interval属性值为( )。
A、0
B、1
C、10
D、100
10、在Visual Basic中,语句 = "欢迎使用
本系统!" 中的"Caption"是()。
A、属性值
B、属性名
C、对象名
D、类名
11、在Visual Basic中,下列能作为变量名的是()。
A、a_5
B、a-5
C、5a
D、A&5
12、某校对新入学的320名高一男生进行1000米耐久跑测试,测试成绩保留2位小数。
在Visual Basic中,下列存储成绩数据的变量定义最合适的是()。
A、定义320个整数型变量
B、定义1000个整数型变量
C、定义一个元素个数为320的一维数组,数据类型为整数型
D、定义一个元素个数为320的一维数组,数据类型为单精度实数型
13、11、在Visual Basic中,表达式12345\100的值是()。
A、123
B、45
C、12
D、5
14、如下数组声明语句:Dim a(3,-2 To 2,5) ,则数组a包含的元素的个数为()。
A、120
B、75
C、60
D、13
15、有如下Visual Basic程序段:
For x = 10 To 1 Step -2
a(x) = x + 1
Next x
该程序段运行后数组元素x的值为()。
A、10
B、1
C、0
D、-1
16、有如下Visual Basic程序段:
s = 0
For k = To 5
s = s + k
Next k
该程序段运行后,循环体s = s + k被执行10次,则循环变量k的初值是()。
A、14
B、-5
C、1
D、-4
17、设x是正数,下列能用于描述"x是否为偶数"的Visual Basic条件表达式是()。
A、x \ 2 = 0
B、x / 2 = 0
C、x Mod 2 = 0
D、x = Abs(x)
18、设a=1,b=3,c=5,表达式a*3<c OR b>c AND 2*b<c的值是()。
A、1
B、-1
C、False
D、True
19、随机产生10个[10,99]中的整数,依次存储到数组变量a(1)~a(10)中。
实现此功能的部分算法流程图如图所示:
图中空白处理框①和②处应填入的是()。
A、① i ← i + 1
B、① i ← i + 1
② a(i) ← Rnd * 90+10 ② a(i) ← Int(Rnd * 90)+10
C、① a(i) ← Int(Rnd * 90)+10
D、① a(i) ← Int(Rnd * 89) +
10
② i ← i + 1 ② i ← i + 1
下若干个桃子,当即吃了一半,觉得不过瘾,又吃
了一个。
第二天小猴子接着吃剩下的一半,还觉得
不过瘾,又吃了一个。
以后每天都是吃前一天剩下
的一半并再吃多一个。
到第四天,猴子按规则吃完
桃子后,只剩一个桃子。
问小猴子第一天摘了多少
个桃子。
右图所示是根据分析所画出的部分流程图。
采用倒推算法,其中设定M的初始值为1(第四天吃
完后剩下的桃子数),D为天数(初始值为5)。
请在
下面的①和②(对应流程图中相应空缺位置)填入
相应选项。
①、②分别为()。
A、M=M*2+1 D=1
B、M=M*2+1 D<1
C、M=2*(M+1) D=1
D、M=2*(M+1) D<1
21、有如下Visual Basic程序段:
a = 3
b = 9
c = a + b
If c = 12 Then py = "正确" Else py = "不正确"
分析该程序段,下列说法正确的是()。
A、程序段的流程模式是循环模式
B、“c = 12”是赋值语句
C、“py = "正确"”是选择语句
D、执行语句“py = "正确"”的前提条件是“c = 12”为真
22、VB中,设x=298,能得到其个位数字“8”的正确表达式是()。
A、Int(x/100)*100
B、Int(x/10)*10
C、Int(x/100)
D、x-
Int(x/10)*10
23、运行如下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
= Str(a(6)) '④
End Sub
A、①
B、②
C、③
D、④
24、运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。
发生"类型不匹配"错误时所执行的语句是()。
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 10 '①
b = 20 '②
= "a+b=" + Val(a + b) '③
End Sub '④
A、①
B、②
C、③
D、④
25、在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:
b = Val:
c = Val
d = max(a, b)
z = max(d, c)
= Str(d)
= 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
26、要计算S=1-2+3-4+5……-100以下不正确的程序段是()。
A、①
B、②
C、③
D、④
27、下列语句执行后,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
28、有如下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)中的最大值
29、在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
30、阅读下面程序:
Private Sub command1_click() a=val
b=val
if a=b then =str(a) exit sub end if
do while b<>0 r=a mod b a=b b=r loop =str(a)
End Sub
在text1、text2中输入30、6,则text3中的值为( )。
A 、1 B 、3 C 、6 D 、9
二、填空题(共40分)
31、(本题6分)有以下几种流程图符号:
A B C D E F ①
输入输出框 ②连接框 ③流程线 ④判断框 ⑤处理框 ⑥开始结束符 A~F 六种流程图符号代表的含义依次是
32、(本题3分)将数学表达式S=写成VB 表达式为
__________。
y x P +++2
11025
33、(本题3分)闰年条件:能被4整除且不能被100整除或能直接被400整除。
写出闰年的VB表达式(年份用变量y) ______
____。
34、(本题2分)有如下Visual Basic程序段:
a = "1100101"
b = Mid(a, 2, 4) + "101"
该程序段运行后,变量b的值为____________。
35、(本题2分)有如下Visual Basic程序段:
a = 5
b = Len("1011")
If a > b Then
= "请重新输入"
Else
= "欢迎光临"
End If
该程序段运行后,在标签Label1上显示的是____________。
36、(本题4分,每空2分)有如下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的值是___________。
37、(本题4分,每空2分)有如下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的值为____________。
38、(本题4分,每空2分)有如下流程图结构,该流程图中输出的前2个值依次分别是____________、____________。
39、(本题4分,每空2分)设有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 str(j)
Next j
End Sub
其中填充①②
40、(本题4分,每空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
①
= Str(c)
t = search(c)
If t <> 0 Then
= "恭喜" + ② + "同学"
End If
End Sub
Private Sub Form_Load()
' 此过程用于对数组a和数组b进行初始赋值,代码略
End Sub
在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:
(1)程序中①划线处应填入___________________。
(2)程序中②划线处应填入___________________。
41、(本题4分,每空2分)数制转换。
将一个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
x = Val
t = x Mod 10
Do While ①
b = ②
x = x \ 10
t = x Mod 10
i = i + 1
Loop
= Str(k) + "进制数" + + "转换成十制数为" + Str(b)
End Sub
在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:
(1)程序中①划线处应填入___________________。
(2)程序中②划线处应填入___________________。
三、附加题(共10分,第一题2分,第二题8分,第二小题代码行数不限)
42、把杂乱无章的数据变为有序的数据,这一过程称为排序。
冒泡排序是其中一种最基础的排序方法,其中的升序是把数列中把较小的数据逐次向上推
移的一种排序技术。
它的方法是把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面一个元素起,自下而上的比较相邻两个元素中的数据,如果较小的数据在下面,那将较小的数据换到上面的元素中(否则不交换)。
重复这一过程,直到处理完最后两个元素中的数据,称为一遍加工,当第1遍加工完成时,最小的数据已经上升到第1个元素的位置;第2遍加工对余下的n-1个元素重复上述处理过程,第2遍加工完成后剩下最小的数据上升到第2个位置;直到n-1遍加工完成后发现数据完成了从小到大的排序。
假设有4个数据:27 36 32 18,需要4-1=3遍加工
第1遍加工如下:
第2遍加工如下:
第3遍加工如下:
假设4个数据放在数组d(1), d(2),d(3), d(4)第1遍:比较d(j)、d(j-
1),j=4,3,2,比较3次;第2遍:比较d(j)、d(j-1),j=4,3,比较2次;
第3遍:比较d(j)、d(j-1),j=4,比较1次;
(1)假设另有一组未经排序的数据如下:
45 67 23 87 13 30
按照上述规则进行从小到大冒泡排序,第一遍加工完成后这6个数的位次应该是。
冒泡排序对应流程图片段如下:
(2)下面程序片段要实现数据d(1)..d(n)的从小到大排序,请根据上面流程图说明,填写中间部分代码:
……
……
For i=1 to n-1 '1到n-1遍加工
Next i
……
……
题号答案分值
单选1 B 2
单选2 A 2
单选3 A 2
单选4 C 2
单选5 A 2
单选6 D 2
单选7 C 2
单选8 C 2
单选9 C 2
单选10 B 2
单选11 A 2
单选12 D 2
单选13 A 2
单选14 A 2
单选15 C 2
单选16 D 2
单选17 C 2
单选18 D 2
单选19 C 2
单选20 C 2
单选21 D 2
单选22 D 2
单选23 D 2
单选24 C 2
单选25 C 2
单选26 C 2
单选27 A 2
单选28 B 2
单选29 C 2
单选30 C 2
二、填空题(共40分)
31、(本题6分)⑤⑥①③④②
32、(本题3分) s=(sqr(2)+10^5)/+p)+x^y
33、(本题3分) y mod 4=0 and y mod 100<>0 or y mod 400=0
34、(本题2分) "1001101"
35、(本题2分)请重新输入
36、(本题4分,每空2分) 11 270
37、(本题4分,每空2分) 6
23
38、(本题4分,每空2分) 2
3
39、(本题4分,每空2分) a(j)=1-a(j)
a(j)=0
40、(本题4分,每空2分) c=1+int(rnd*50)
b(t)
41、(本题4分,每空2分) x<>0 b+t*k^(i-1)
三、附加题(共10分,第一题2分,第二题8分,第二小题代码行数不限)(1) 13 45 67 23 87 30
(2) for j=n 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。