2017-2018学年浙江省宁波市诺丁汉大学附中高二(下)期中信息技术试卷
发布:2024/11/22 17:0:2
一、选择题(本大题共9小题,每小题2分,共18分.每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
-
1.下列关于信息的说法中,不正确的是( )
组卷:18引用:4难度:0.9 -
2.下列软件中,属于以页为基础的多媒体创作工具的是( )
组卷:6引用:2难度:0.9 -
3.下列应用中使用了光学字符识别(OCR)技术的是( )
组卷:5引用:3难度:0.9 -
4.关于Access数据表的操作,下列说法中正确的是( )
组卷:9引用:2难度:0.7 -
5.某算法的部分流程图如图所示,执行这部分流程,依次输入3,4,-1,则输出s的值是( )
组卷:92引用:10难度:0.7
【加试题】
-
16.小吴为了探究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:在列表框List1中显示排序前数据(存储在数组a中),在文本框Text1中输入初始位置(即下标值),单击“排序”按钮Command1后,在标签Label1中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如图所示。
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Dim a(1To 8)As Integer
Dim n As Integer
Private Sub Form_Load ( )
'n=8,排序前的8个数据存储在数组a中,并在列表框Listl中显示
'代码略
End Sub
Private Sub Command1_Click ( )
Dim i As Integer,j As Integer,k As Integer
Dim pos As Integer'变量pos存储指定数据的位置(即下标值)
Dim s As String'变量s存储pos变化情况
s=Text1.Text
pos=Val(Text1.Text)
For i=1To n-1
For j=n To i+1Step-1
If a(j)<a(j-1)Then‘(1)
a(j-1)=a(j)
a(j)=k
'如果pos位置的数据参与交换,则更新pos值,记录pos变化情况
If pos=j Then
pos=j-1
s=s+”→”+Str(pos)‘(2)
pos=j
s=s+”→”+Str(pos)
End If
End If
Next j
Next i
Label1.Caption=”位置变化情况:”+s
For i=1To n
List2.AddItem Str(a(i))
Next i
End Sub组卷:27引用:3难度:0.3 -
17.小王编写了一个依据成绩计算名次的VB程序,成绩为0到100之间的整数。算法的基本思想:先统计每个分数的个数,然后按照分数从高到低依次计算每个有效分数(该分数的个数不为0)对应的名次,分数相同时名次并列。最高分为第1名,该分数的名次与个数之和为下一个有效分数的名次,以此类推。程序用数组A存放每个分数对应的个数,数组B存放每个分数对应的名次。例如,下表中最高分100有2个,并列第1名,则分数96的名次为分数100的名次加上分数100的个数,即第3名。
分数 100 99 98 97 96 95 94 … 0 个数(A数组) 2 0 0 0 1 0 3 … 0 名次(B数组) 1 3 4 …
实现上述功能的VB程序如下,请回答下列问题:
(1)如表所示,若分数93的个数为2,则该分数对应的名次为
(2)请在横线处填入合适的代码。
Dim sName(1To 50)As String'存放学生姓名
Dim sScore(1To 50)As Integer'存放学生分数
Dim recCount As Integer'存放学生人数
Private Sub Form_Load ( )
'本过程从数据库中读取学生数据,存储在相应的变量中,并在List1中显示
'代码略
End Sub
'整数转换成长度固定的字符串
Function ads(x As Integer,n As Integer) As String
Dim sx As String,nx As Integer,i As Integer
sx=Str(x):nx=Len(sx)
For i=1To n-nx
sx=””+sx
Next i
End Function
Private Sub Command1_Click ( )
Dim A(0To 100)As Integer'存放每个分数的个数
Dim B(0To 100)As Integer'存放每个分数的名次
Dim mc As Integer,score As Integer,i As Integer
For i=0To 100
A(i)=0
Next i
For i=1To recCount'计算每个分数的个数
②
Next i
mc=1
For i=100To 0Step-1'计算每个分数的名次
If A(i)<>0Then
B(i)=mc
③
End If
Next i
List2.Clear
List2.AddItem”姓名 分数 名次”
List2.AddItem”--------------”
For i=1To recCount
score=sScore(i)
mc=B(sScore(i))
List2.AddItem sName(i)+ads(score,5)+”第”+ads(mc,3)+”名”
Next i
End Sub组卷:3引用:1难度:0.5