相关试卷
-
1、某校“信息学奥赛在线评测系统”Access数据表如图所示:
下列说法正确的是( )
A、数据表名称为“评测排名.accdb”,该数据表共有8个字段,7条记录 B、“编号”字段是连续的整数,该字段的数据类型肯定是“自动编号” C、“密码”字段均显示为“*”,可能是该字段设置了“输入掩码” D、“管理员”字段数据格式为“是/否”,输入“否”可取消“管理员”身份 -
2、下列关于Access数据库的说法正确的是( )A、一个Access数据库文件只能包含一张数据表 B、利用数据表的设计视图可以编辑字段类型,也可以修改记录 C、把数据表中一个“文本”类型的字段修改为“数值”类型,可能会造成数据的丢失 D、数据表中删除的记录其实是放到了“回收站”中,可以通过还原操作找回数据
-
3、使用Flash软件制作动画作品,部分编辑界面如下图所示。其中“蜻蜓”图层第40帧有动作命令gotoAndStop(“load”,10);“蜻蜓”图层利用“蜻蜓”元件实例制作了从左到右飞出舞台的动画效果;“声音”图层中声音的同步属性为“数据流”。下列说法不正确的是( )
A、“蜻蜓”元件的类型可能为“影片剪辑” B、当前状态下,可以在“背景”图层第15帧插入关键帧 C、测试场景时,播放到最后一帧,动画会自动跳转并停止在load场景第10帧 D、若要声音播放2秒后停止,可在“声音”图层第25帧插入空白关键帧 -
4、某Flash作品的部分界面如图所示。
下列关于“Move”图层的补间动画,描述正确的是( )
A、将补间类型更改为“形状”不会影响该图层的动画效果 B、设置“缓动”为“-100”不会影响该图层补间动画的持续时间 C、测试影片时,该图层的实例动画只有顺时针旋转2次的效果 D、测试影片时,该图层的补间动画将会重复播放4次 -
5、在Flash软件中用补间动画实现花朵变为花瓣并飘落的效果,动画起始关键帧的属性面板如图所示。下列说法正确的是( )
A、当前帧中的花朵是形状 B、花朵逐渐变为花瓣并减速飘落 C、当前帧不能直接添加动作脚本 D、若动画播放到2秒时暂停,声音“music.mp3”也停止播放 -
6、某Flash文档的时间轴和属性面板如图所示:
测试该场景时,“地球”实例放置在图层8中,“图层8”图层的内容无法看到,最有可能的原因是( )
A、“图层8”图层被其上面的图层遮挡 B、“图层8”图层被隐藏 C、“图层8”图层完全透明 D、“地球”实例不在舞台内 -
7、张明制作将数字“1”变成数字“2”的Flash变形动画。他在第1帧利用“文本工具”输入“1”,在第25帧插入空白关键帧,并利用“文本工具”输入“2”,在设置补间动画时选择“形状”,结果出现错误,如图所示。错误的原因是( )
A、在第1到25帧之间缺少一个空白关键帧 B、没有执行“测试影片”命令 C、没有对输入的“1”和“2”进行分离(打散)操作 D、没有对输入的“1”和“2”进行组合操作 -
8、小张使用Flash软件制作动画,时间轴界面如图所示:
分别进行以下操作:
①在“按钮”图层第20帧插入空白关键帧;
②删除“声音”图层的最后5帧;
③在“蝴蝶”图层第21帧插入空白关键帧;
④在“背景”图层第20帧执行清除帧。
其中,不改变原动画效果的操作是( )
A、①②③ B、①③④ C、①②④ D、②③④ -
9、编写一个成绩查找程序,只要输入成绩,即可输出其排名、同分数的人数以及比此分高的人数。具体算法思路如下:
⑴预处理。用数组a存放不同的分值,数组b存放相同分数的人数,数组s存放高于此分数的人数,数组下标表示名次。依次从数据库读取每个学生的成绩(数据库中每个学生的成绩已降序存储,即从高到低排列),当读入数与前一个数相同时,该名次的人数加1,当读入数与前一个数不同时,名次加1,即数组下标加1,存储当前分数,求高于本分数的人数并存储。
举例:如果数据库中有一组成绩(降序):95,95,93,93,92,91,90,按上述算法处理,三个数组的最终结果如图所示。
数组/下标
1
2
3
4
5
a
95
93
92
91
90
b
2
2
1
1
1
s
0
2
4
5
6
⑵对需要查找的成绩二分查找。读入需要查找的成绩x,在数组a中二分查找成绩,若找到,输出名次、相同分数的人数和高于本分数的人数;若找不到,输出“查无此分”。

程序代码如下,在横线处填入合适的代码。
Dim rank As Integer
Dim a(1 to 1000) As Integer ‘存放不同的分数值
Dim b(1 to 1000) As Integer ‘存放相同分数的人数
Dim s(1 to 1000) As Integer ‘存放高于此分数的人数
rank=0
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim tmp As Integer, n As Integer
tmp=-1: n=0
conn.ConnectionString=“provider=Microsoft.ACE.OLEDB.12.0;data source=“App.Path+”Score.accdb”
conn.open
Set rs.ActiveConnection=conn
rs.open “Select * from score”
n=0
Do While Not rs.EOF
n=n+1
mark=rs.fields(“成绩”)
If mark=tmp Then ‘当前读入分数与上一个分数相同,则对应名次的人数增加1
b(rank)=b(rank)+1
Else ‘当前读入分数与上一个分数不同时
rank= ‘名次增加1
a(rank)= ‘存储当前分数到数组a中
s(rank)= ‘求高于本分数的人数并存储至数组s
b(rank)=1 ‘将自身统计入同分人数
End If
‘更新上一个分数
rs.Movenext
Loop
End Sub
Private Sub Command1_Click()
Dim x As Integer, low As Integer, high As Integer, mid As Integer
x=Val(Text1.Text)
low=1: high=rank
mid=(low+high)\ 2
Do While low <=high and
mid=(low+high)\ 2
If a(mid) < x Then
high=mid-1
Else
low=mid+1
End If
Loop
If a(mid)=x Then
Label1.Caption=“名次:“+mid+”同分人数:“+b(mid)+”高于此分人数:”+s(mid)
Else
Label1.Caption=“查无此分”
End If
End Sub
-
10、小王为学校教务处编写了一个排考场座位的VB程序。考场采用“6排5列”共30人的模式。程序执行后,考生的考号与姓名显示在列表框List1中,单击“考场座位”按钮Command1,考场号与座位显示在Text1中,程序运行界面如图a所示,考生数据存放在数据库文件“kaochang.accdb”中,数据表如图b所示。
实现上述功能的VB程序如下,请回答下列问题:
(1)、当“Form_Load()”事件处理过程运行结束时,变量x的值为。(2)、请在横线处填入合适的代码。Private Sub Command1_Click()
Dim y As Integer
Dim start As Integer ‘考场第1位数据元素的下标
Dim pa As Integer ‘数据库导入VB时学生数据下标
Dim pb As Integer ‘考场座位数据下标
Dim i As Integer, j As Integer, k As Integer, m As Integer
start=1
pa=start
recCount=x-1
If recCount Mod 30 <> 0 Then
①
For i=1 To y ‘将当前考生人数添加到30的整数倍
recCount=recCount+1
sName(recCount)=“”
Next i
End If
For j=1 To recCount / 30
pa=start
pb=start
For i=1 To 30
kcsName(pb)=sName(pa)
pb=pb+1
If i Mod 5=0 Then
pa=start+i \ 5
Else
②
End If
Next i
start=start+30
Next j
Text1.Text=""
start=1
For k=1 To recCount / 30
m=start
Text1.Text=Text1.Text+“第”+Str(k)+“考场”+vbCrLf
‘vbCrLf为换行标志符,实现Text1中内容换行显示
For i=1 To 6
For j=1 To 5
Text1.Text=Text1.Text+“”+kcsName(m)
m=m+1
Next j
Text1.Text=Text1.Text+vbCrLf
Next i
Text1.Text=Text1.Text+vbCrLf+vbCrLf
③
Next k
End Sub
Private Sub form_load()
Dim myconn As New ADODB.Connection
Dim myrecord As New ADODB.Recordset
myconn.ConnectionString=“provider=microsoft.ace.oledb.12.0;data source=e:\kaochang.accdb”
myconn.Open
strsql="select*from三中 "
myrecord.Open strsql,myconn
x=1
List1.AddItem“考号 姓名”
List1.AddItem“--------------”
Do While Not myrecord.EOF
‘读取数据库数据,存入数组kh(x)、sName(x)中,代码略
List1.AddItem kh(x)+“ ”+sName(x)
x=x+1
myrecord.MoveNext
Loop
myrecord.Close
End Sub
-
11、某单位招考公务员,2010年和2011年分别有4 020名和2 000名考生报名,下列VB程序用于统计两次考试都参加的考生信息。程序界面设计如图所示,2010年和2011年的考生信息分别显示在List1和List2中,点击“统计”按钮,在List3中显示两次考试都参加的考生信息和总人数。
(1)、实现上述功能的VB程序如下,请在横线处填入合适代码。Dim a (1 To 4020 ) As String
Dim b (1 To 2000 ) As String
Private Sub Form_Load( )
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim constr As string
constr=“Provider=Microsoft.ace.OLEDB.12.0;”
constr=constr &“Data Source=” & App.Path+“\data\KaoSheng.accdb”
conn.ConnectionString=constr
conn.open()
Dim sql As String
‘将参加2010年下半年考试的考生的身份证号码按升序存放在a数组中
sql=“select * from kaoshengInfo where year=‘2010’order by sfzh asc”
rs.Open sql,conn
i=0
Do While Not rs.EOF
i=i+1
a(i)=rs(“sfzh”)
List1.additem(a(i))
rs.MoveNext
Loop
‘将参加2011年下半年考试的考生的身份证号码按升序存放在b数组中
sql=“select * from kaoshengInfo where year=‘2011’order by sfzh asc”
rs.Open sql,conn
i=0
Do While Not rs.EOF
i=i+1
b(i)=rs(“sfzh”)
List2.additem(b(i))
rs.MoveNext
Loop
rs.Close
End Sub
Private Sub Command1_Click ()
Dim bot As Integer, top As Integer, m As Integer
Dim i As Integer, ans As Integer
ans=0
For i=1 To 2000
bot=1
Do While bot <=top
m=Fix ( ( bot+top ) / 2 )
If a ( m )=b ( i ) Then
List3.AddItem a ( m )
Exit Do
ElseIf Then
top=m-1
Else
bot=m+1
End If
Loop
Next i
List3.AddItem“总计”+str(ans)+“人次”
End Sub
(2)、分析上述代码,在数据库中用于存放考试信息的数据表名称是。 -
12、最新国际体操竞赛的评分规则简单描述如下:
①两位D组裁判分别打“难度分”,取平均值作为该参赛选手的最终难度分。
②五位E组裁判分别打“完成分”,在5个E组打分结果中,去掉一个最高分和一个最低分,然后取平均值作为该参赛选手的最终完成分。
③难度分和完成分之和,即该参赛选手的最终得分。
例如:某参赛选手打分如下:
D组裁判打分
E组裁判打分
6.5
6.9
9.5
9.0
8.3
8.8
7.6
该选手“难度分”为(6.5+6.9)/2=6.7。E组裁判打分去掉一个最高分和一个最低分之后,计算“完成分”为(9.0+8.3+8.8)/3=8.7。所以该选手最终得分为6.7+8.7=15.4分。
小杜编写一个VB程序:程序运行时从数据库读取参赛选手人数和参赛选手的打分数据,依次存储在数组a中;单击“统计”按钮,依据数组a中的相关数据统计各选手的“难度分”“完成分”和“最终得分”,并在列表框List1中输出。数组a各元素的含义如下,程序运行界面如图所示。
数组元素
数组元素的含义
a(0)
存储参赛人数n
a(1)
a(1)和a(2)为第1位选手的D组两位裁判的打分。
a(3)、a(4)、…、a(7)为第1位选手的E组五位裁判的打分
…
a(7)
a(8)
a(8)和 a(9)为第2位选手的D组两位裁判的打分。
a(10)、a(11)、…、a(14)为第2位选手的E组五位裁判的打分
…
a(14)
…
…
实现上述功能的VB程序如下,请回答下列问题:
(1)、根据程序运行界面中的数据及数组a各元素的含义,数组元素a(8)和a(9)的值为(填序号:A .6.2和5.6/B .5.8和6.2/C .6.1和5.5)。(2)、分析程序,可知数据库的文件名为。(3)、请在划线处填入合适的代码。Dim a(0 To 210) As Single ‘数组大小满足处理要求
Dim d(1 To 30) As Single ‘依次各选手的难度分
Dim e(1 To 30) As Single ‘依次各选手的完成分
Dim f(1 To 30) As Single ‘依次各选手的最终得分
Private Sub Command1_Click()
‘本过程从数据库读取相关数据,存储在数组a中
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn ConnectionString=“provider=Microsoft.ACE.OLEDB.12.0; data source=”+“成绩.accdb”
conn.Open
Set rs.ActiveConnection=conn
‘本过程的其他语句略
End Sub
Private Sub Command2_Click()
‘依据数组a中的相关数据统计各班级平均分
Dim i As Integer, j As Integer, n As Integer, p As Integer
Dim max As Single, min As Single, sum Single
For i=1 To n
p=(i-1)*7+1
d(i)=(a(p)+a(p+1))/2
sum=0
max=a(p+2) : min=a(p+2)
For j=p+2 To p+6
sum=sum+a(j)
If a(j) > max Then max=a(j)
min=a(j)
Next j
e(i)=(sum-max-min)/3
f(i)=d(i)+e(i)
List1.AddItem Str(i)+“ ”+Str(d(i))+“ ”+Str(e(i))+“ ”+Str(f(i))
Next i
End Sub
-
13、编写VB程序,实现如下功能:在文本框Text1中输入筛选关键词“ca”,单击“筛选”按钮Command1,在列表框List1所列字符串中查找左边与“ca”相匹配的字符串,并在列表框List2中输出(运行效果如图所示);否则,在列表框List2中显示“无筛选结果”。
实现上述功能的VB代码如下,但加框处代码有错,请改正。
Dim a(1 To 20)As String ‘用于存储20个字符串
‘将20个字符串分别保存赋值给数组元素a(1)、a(2)、a(3)、a(4)、…、a(19)、a(20),并在列表框List1中显示
Private Sub Form_Load()
‘代码略
End Sub
Private Sub Command1_Click()
Dim s As String, n As Integer, i As Integer
Dim flag As Boolean ‘变量flag用于标记是否在数组a中筛选到左边与s匹配的字符串
List2.Clear ‘筛选时清空上次筛选结果
s=Text1.Text
n=Len(s)
flag=False
For i=1 To 20
If
Then ‘List2.AddItem a(i)
flag=True
End If
Next i
If flag=False Then
‘End If
End Sub
-
14、编写VB程序,实现如下功能:输入年月日,求该日是这一年的第几天。程序运行时,在文本框“TextNian”中输入年,在文本框“TextYue”中输入月,在文本框“TextRi”中输入日。单击“点击计算”按钮“ButtonRun”进行计算,结果输出到文本框“TextAnswer”中。程序界面如图所示。
请回答下列问题:
(1)、应用程序界面设计时,设置文本框“TextNian”的显示内容为空,应设置该对象的属性为空白。(2)、为实现上述功能,请在划线处填写合适的代码。Private Sub()
Dim nian As Integer, yue As Integer, ri As Integer
Dim ans As Integer, i As Integer
Dim a(1 To 12) As Integer ‘a(i)存储第i个月的天数
a(1) = 31: a(2) = 28: a(3) = 31: a(4) = 30
a(5) = 31: a(6) = 30: a(7) = 31: a(8) = 31
a(9) = 30: a(10) = 31: a(11) = 30: a(12) = 31
nian = Val(TextNian.Text)
yue = Val(TextYue.Text)
ri = Val(TextRi.Text)
For i = 1 To yue - 1 ‘依次加上之前每个月的天数
ans =
Next i
ans = ans + ri ‘加上当月的天数
If yue > 2 Then ‘包含2月时,判断是否闰年,修正总天数
If nian Mod 400 = 0 Then ans = ans + 1
If nian Mod 4 = 0 And nian Mod 100 <> 0 Then ans = ans + 1
End If
=Str(ans)
End Sub
-
15、贝贝有n个桃子,吃完后每三个桃核可以换一个桃子,编写一个程序计算贝贝总共能够吃到几个桃子。(1)、若贝贝总共有7个桃子,则他最后可以吃到个桃子。(2)、修改程序中的错误。
程序代码如下:
Private Sub Command 1_Click()
Dim n As Integer,ans As Integer
n =Val(Text1.Text)
ans = n
Do While n>3 ‘
ans = ans + n\3
n = n\3 ‘
Loop
Label2.Caption = “总共能吃到的桃子数为:” + Str(ans)+“个”
End Sub
-
16、编写VB程序,实现如下功能:在文本框Text1中输入发放红包的总金额s,在文本框Text2中输入发放红包的个数n,单击“分配”按钮(Command1),为n个红包随机分配金额,并在列表框List1中显示分配后的这些金额。界面如图1所示。
(1)、在设计应用程序界面时,应使用图2所示“控件工具箱”中的(填写相应编号)添加列表框List1。(2)、为实现上述功能,请在划线处填入合适代码。Private Sub Command1_Click()
Dim s As Single,x As Single,n As Integer,i As Integer
Randomize
List1.Clear
s=Val(Text1.Text)
n=
For i=1 To
x=Int((Rnd()*s/(n-i)+0.005)*100)/100
List1.AddItem Str(x)
s=
Next i
x=Int((s+0.005)*100)/100
List1.AddItem Str(x)
End Sub
-
17、编写VB程序,实现如下功能:在文本框Text1和Text2中分别输入一个整数,单击“转换”命令按钮,在列表框List1中显示结果,运行结果如图a所示。结果包含两列数据,第1列为两数之间的厘米值g(间隔1厘米、升序),第2列为对应的码值m。
鞋子尺码换算:常用的两种鞋码一种是欧制的码m,而我国采用的标准为厘米数g,鞋子尺码的换算公式:欧制m=中国制g*2-10。例如25是我国采用的厘米数,换算成欧制的码为25*2-10=40(码)。
(1)、根据程序界面(图a)和其属性窗口(图b)所提供的信息,可以得知“转换”命令按钮的对象名称是。(2)、为实现上述功能,请在划线处填入合适的代码或选项。Private Sub Command1_Click()
Dim g1 As Integer, g2 As Integer
Dim i As Integer, temp As Integer
Dim m As Single
List1.Clear
g1 = Val(Text1.Text)
g2 = Val(Text2.Text)
IfThen
temp = g1: g1 = g2: g2 = temp
End If
i = g1
Do While i <= g2
List1.AddItem Str(i) + “” + Str(m)
i = i + 1
Loop
End Sub
(3)、如果调试程序时在文本框中输入小数,例如第一个数输入24.5,第二个数输入29.5,则在列表框中(选填:能/不能)看到包含小数的厘米数。 -
18、下面VB程序的功能是:程序运行时,在文本框Text1中输入正整数n,单击命令“生成”按钮Command1后,在文本框2中输出n,n-1,…,2,1,2,…,n-1,n。若n=6,在文本框Text2中输出“6 5 4 3 2 1 2 3 4 5 6”。程序运行界面如图所示。
实现上述功能的VB程序代码如下,但加框处语句有误,请改正。
Private Sub Command1_Click()
Dim i As Integer, n As Integer, s As String
n = Val(Text1.Text)
s = “”
For i = 1 To
‘①If i<= n Then
s = s + Str(n - i + 1)
Else
‘②End If
Next i
Text2.Text = s
End Sub
程序中①处应改为;
程序中②处应改为。
-
19、有如下VB程序段:
Dim a(1 To 10) As Integer
Dim s(1 To 10) As Integer
Private Sub Form_Load()
a(1) = 3: a(2) = 6: a(3) = 8: a(4) = 4: a(5) = 9
a(6) = 5: a(7) = 3: a(8) = 3: a(9) = 10: a(10) = 5
End Sub
Private Sub Command1_Click()
Dim i As Integer, t As Integer
s(1) = a(1)
For i = 2 To 10
s(i) = s(i - 1) + a(i)
Next i
t = s(8) - s(4)
Text1.Text = Str(t)
End Sub
程序运行后,文本框Text1显示的内容是( )
A、24 B、12 C、7 D、20 -
20、根据以下程序,在文本框Text1中输入3,最后List1中输出的是( )
Private Sub Command 1_Click()
Dim i As Integer
Dim t As Integer
Dim s As String
i = 1:t = 1:n = Text1.Text
List1.Clear
Do While t< = n
s = s + “*”
If i = t Then
List1.AddItem s
t = t + 1
i=0
End If
i = i + 1
Loop
End Sub
A、
B、
C、
D、