1、高中部信息技术试卷 浙江省高一信息期末考试试卷 (答案填写在答卷卡上,在试卷上答题无效,答卷卡上按规定填写班级、学号、姓名并且正确填涂准考证号码和答案) 一、选择题(共30小题,每小题2分,共60分,每题只有一个正确答案) 1、用计算机无法解决"打印所有偶数"的问题,其原因是解决该问题的算法违背了算法特征中的( )。 A、唯一性 B、有穷性 C、能行性 D、有输出 2、做匀加速直线运动物体的即时速度计算公式是vt = v0 + at,其中v0是初速度,a是加速度,t是时间。计算步骤有: ①用公式计算即时速
2、度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个流程图片段依次分别是什么结构?( ) S=
3、a+b S=S+2 i<3? i=i+1 s=s+1 a>b? d=a d=b N Y Y N
4、 A、选择、顺序、循环 B、顺序、选择、循环 C、顺序、循环、选择 D、选择、循环、顺序 5、下列程序设计语言中,哪一个不是面向对象的程序设计语言?( ) A、C B、C++ C、C# D、VC++ 6、VB程序的工程文件名、窗体文件名以及生成的可执行文件名分别是( )。 A、.vb、.frm、.exe
5、 B、.vbw、.exe、.frm C、.vbw、.frm、.exe D、.vbp、.frm、.exe s=0 t=0 t<=3? t=t+1 s=s+t Y N 7、如图所示流程图片断 该流程图中循环部分结束后,变量s的值是 ( )。 A、3 B、6 C、10 D、15 8、在VB中,要添加一个列表框(listbox),在工具箱中要单击的控件是 ( )。 A、 B、
6、 C、 D、 9、小明使用控件设计一个秒表,倒计时时间精确到0.01秒,如右图,设置该控件的interval属性值为( )。 A、0 B、1 C、10 D、100 10、在Visual Basic中,语句form1.Caption = "欢迎使用本系统!" 中的"Caption"是( )。 A、属性值 B、属性名 C、对象名 D、类名 11、在Visual Basic中,下列能作为变量名的是( )。 A、a_5 B、a-5
7、 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
8、 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 B
9、asic程序段: 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
10、c=5,表达式a*3 11、 90)+10
C、① a(i) ← Int(Rnd * 90)+10 D、① a(i) ← Int(Rnd * 89) + 10
② i ← i + 1 ② i ← i + 1
Y
开始
D=5
①
输出M
结束
D=D-1
M=1
N
②
20、"猴子吃桃"问题:一天,有一只猴子从树上摘
下若干个桃子,当即吃了一半,觉得不过瘾,又吃
了一个。第二天小猴子接着吃剩下的一半,还觉得
不过瘾,又吃了一个。以后每天都是吃前一天剩下
的一半并再吃多一个。到第四天,猴子按规则吃完
桃子后,只剩 12、一个桃子。问小猴子第一天摘了多少
个桃子。右图所示是根据分析所画出的部分流程图。
采用倒推算法,其中设定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 + 13、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程序,单击命令按 14、钮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、① 15、 B、② C、③ D、④
24、运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"类型不匹配"错误时所执行的语句是( )。
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 10 '①
b = 20 '②
Text1 16、Text = "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(T 17、ext1.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后,单击命令按钮 18、Command1,文本框Text5中显示的是( )。
A、-5 B、2 C、6 D、24
26、要计算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 19、 i=1 to 50
S1=s1+2*i-1
S2=s2+2*i
Next i
S=s1-s2
④
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
20、 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
21、 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(text1.text)
b=val(text2.text)
if a=b then
text3.text=str(a)
e 22、xit 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
二、填空题(共40分)
31、(本题6分)有以下几种流程图符号:
A B C D E F
① 输入输出框 ②连接框 ③流程线 23、 ④判断框 ⑤处理框 ⑥开始结束符
A~F六种流程图符号代表的含义依次是
32、(本题3分)将数学表达式S=写成VB表达式为__________。
33、(本题3分)闰年条件:能被4整除且不能被100整除或能直接被400整除。写出闰年的VB表达式(年份用变量y) ______ ____。
34、(本题2分)有如下Visual Basic程序段:
a = "1100101"
b = Mid(a, 2, 4) + "101"
该程序段运行后,变量b的值为____________。 24、
35、(本题2分)有如下Visual Basic程序段:
a = 5
b = Len("1011")
If a > b Then
Label1.Caption = "请重新输入"
Else
Label1.Caption = "欢迎光临"
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
问:该程序段运行后,
25、
(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分)有 26、如下流程图结构,该流程图中输出的前2个值依次分别是____________、____________。
39、(本题4分,每空2分)设有n盏灯,放在一排。从1 到 n依次顺序编号。有 n个人也从1到n依次编号。第1个人(1号)将灯全部关闭,第2个人(2号)将凡是2的倍数的灯打开,第3个人(3号)将凡是3的倍数的灯做相反处理(该灯如果为打开的,则将它关闭,如关闭的将它打开),以后的人和3号一样,将凡是自己号数倍数的灯做相反处理。问当n个人操作后,哪几盏灯是亮的。(亮灯为0,关闭为1)
为了实现这一目标,完善下列程序,使之 27、能完成该功能。
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 28、 j=1 to n
If ② then list1.additem str(j)
Next j
End Sub
其中填充① ②
40、(本题4分,每空2分)普源为晚上的班级联欢会设计了一个抽奖程序,将所有同学的编号和对应的姓名分别保存在数组a(全班共50个同学,编号为1到50)和数组b中,程序会随机产生一个1到50的正整数(同时包括1和50),作为中奖编号。
程序界面如图所示,左边列表框List1中显示同学的编号和姓名,单击"抽奖"按钮(Command1),在标签Label3中 29、显示抽中的编号,同时在标签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 30、 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
在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:
(1)程序中①划线处应填入_______________ 31、
(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中 32、输出转换的结果。
解决此问题的算法流程图如图所示,相应的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 33、 = x Mod 10
i = i + 1
Loop
Label4.Caption = Str(k) + "进制数" + Text2.text + "转换成十制数为" + Str(b)
End Sub
在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:
(1)程序中①划线处应填入___________________。
(2)程序中②划线处应填入___________________。
三、附加题(共10分,第一题2分,第二题8分,第二小题代码行数不限)
42、把杂乱无章的数据变为有序的数据,这一过程称为排序。冒泡排序是其中 34、一种最基础的排序方法,其中的升序是把数列中把较小的数据逐次向上推移的一种排序技术。它的方法是把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面一个元素起,自下而上的比较相邻两个元素中的数据,如果较小的数据在下面,那将较小的数据换到上面的元素中(否则不交换)。重复这一过程,直到处理完最后两个元素中的数据,称为一遍加工,当第1遍加工完成时,最小的数据已经上升到第1个元素的位置;第2遍加工对余下的n-1个元素重复上述处理过程,第2遍加工完成后剩下最小的数据上升到第2个位置;直到n-1遍加工完成后发现数据完成了从小到大的排序。
假设有4个数据:27 36 32 18,需要4-1=3遍加 35、工
第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个数的位次应该是
36、 。
冒泡排序对应流程图片段如下:
(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
37、
单选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
38、
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
39、
单选29
C
2
单选30
C
2
二、填空题(共40分)
31、(本题6分) ⑤⑥①③④②
32、(本题3分) s=(sqr(2)+10^5)/(0.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分 40、 请重新输入
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 41、1)
三、附加题(共10分,第一题2分,第二题8分,第二小题代码行数不限)
(1) 13 45 67 23 87 30
(2) for j=n to i+1 step -1
if d(j)






