相关试卷
-
1、某算法的部分流程图如图所示,其中a(1)到a(5)中的数据为7, 13, 19, 9, 25执行完这部分流程后,输出的结果是( )
A、s=9,i=1,k=5 B、s=11,i=1,k=6 C、s=7,i=1,k=6 D、s=11,i=3,k=6 -
2、用GoldWave软件编辑某音频文件,部分界面如图所示,下列说法正确的是( )
A、该音频是Wave格式的文件,每秒钟采样22050千次 B、当前状态下执行“插入静音”操作,时间为5秒,再执行“删除”操作,文件存储容量变大 C、当前状态下执行“删除”操作,音频时长变成25s D、当前状态下执行“选定部分另存为”按原格式进行保存,文件大小约为107KB -
3、下图是 Photoshop 软件设计作品的部分界面,下列说法正确的是( )
A、不可以把“文字2”图层的文字内容修改成“中华人民共和国成立70周年” B、背景图层不能修改不透明度 C、可以对“文字1”图层执行“拷贝图层样式”操作 D、可以用画笔工具将“背景”图层的白色区域填充成红色 -
4、使用UltraEdit软件观察字符“China!生日快乐!”的内码,部分界面如下所示,下列说法正确的是( )
A、图中共有4个GB-2312编码 B、英文字符“J”的内码表示成十六进制为50 C、字符“生”的内码表示成二进制为“11001001 11111010” D、“乐”字的内码是D6 A3 -
5、小陈利用 Access 软件创建了某数据表,如下图所示,其表结构如图所示:
下列操作说法正确的是( )
A、图中出生年月字段中可以输入数据“1990-1-5” B、Access 中不可以将“出生年月”的字段类型修改成数字类型 C、性别字段中的数据存储时存储大小为 1B D、当前视图中可以删除“编号”字段 -
6、使用Word软件编辑某文档,部分界面如图所示。
下列说法正确的是( )
A、图中图文混排方式不可能是紧密型 B、文中有4处修订 C、执行“拒绝所有修订”,第三行第一句话是“中国同12国接壤,与8国海上相邻。” D、可以利用替换功能先设置好替换的内容,在输入时程序会自动将内容替换成预先设置好的内容 -
7、关于网络和浏览器,下列说法正确的是( )A、保存网页时选择“网页,全部”选项能将网页中所有的媒体内容都保存下来 B、静态网页可根据情况的变化、用户的需要生成不同的页面 C、收藏夹一旦清空,历史记录也将清空 D、浏览器访问web服务器时,一定会用到TCP协议
-
8、关于信息和信息技术,下列说法正确的是( )A、声音以模拟信号的形式存储在计算机中 B、近代信息技术包括摄影技术、电影技术、光电子技术 C、报刊杂志是生活中重要的信息表达方式 D、汉字输入时通常是利用音码和形码进行编码
-
9、对一个n×n的矩阵以“行”为单位进行升序排序,排序结果如下表所示。
小波编写了实现上述功能的程序,程序功能如下:程序运行时,在文本框Text中输入n(1≤n≤10),单击“产生”按钮 Command1产生n×n个随机数,随机数的范围为[0, 9],随机存储在数组a中,并以矩阵的形式在列表框List1上显示单击“排序”按钮Command2,对矩阵以“行”为单位进行升序排序,并在表框List2中输出排序后的矩阵。程序运行界面如图所示。
(1)、实现上述功能的VB程序如下,请在划线处填入合适的代码。Dim n As Integer
Dim a (1 To 100) As Integer
Private Sub Command1_ Click ( )
Dim i As Integer, s As String
s = “”
n = val (Text1 Text)
For i = 1 To n *n
①
s = s+ Str(a(1))
If i Mod n = 0 Then
List1. Additem s
s = “”
End If
Next i
End sub
Private Sub Command2 _Click ( )
Dim i As Integer, j As Integer, t As Integer
Dim s As String
s = “”
For i = 1 To n*n
k = i
For j = i+1 To ②
If a(j) < a(k) Then k = j
Next i
If k <> i Then t = a(k): a(k) = a(i): a(i) = t
③
If i Mod n = 0 Then
List2. Additem s
s = “”
End If
Next i
End Sub
① ② ③
(2)、程序中所使用的排序算法是(填算法名称)。 -
10、对于无序数组a(下标1到n),通过引入数组b(下标1到n),使得a(b(1))≤a(b(2))≤a(b(3)≤…≤a(b(n))。
小王编写了一个VB程序,功能如下:在列表List1框中显示i、a(i)、b(i)、a(b(i))在文本框Text1中输入要查找的数据,单击“查找”按钮Command1后,在标签Label3中显示该数据在a数组中的位置。程序运行界面如图所示。
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Dim a(1 To 8)As Integer, b(1 To 8)As Integer
Dim n As Integer
Private Sub Form_ Load ( )
‘ n = 8, 对分查找前的8个数据存储在a数组中,每个数据的位次存储在b数组中
‘ 在列表框List1中显示数组下标、a数组、b数组、a(b(i))数组
‘ 代码略
End Sub
Private Sub Command1_ Click ( )
Dim i As Integer, 3 As Integer, k As Integer
Dim m As Integer, key As Integer
key = Val (Text1. Text)
i = 1: j = n
Do While i < = j
m = (i+j) \2
k =
‘①If key = k Then
Exit Do
Eelseif key > k Then
i = m+1
Else
j = m-1
End if
Loop
If i > j Then
Label13. Caption = “该数据不存在”
Else
Label13. Caption =
‘②End If
End sub
① ②
-
11、数据排序。编写VB程序,使其具有以下功能:通过文本框随机输入几个无序的整数,并存储在数组a中,然后将这些无序的数进行排序,使得这些数按从小到大的顺序排列。
程序运行时,在文本框Text1中依次输入一个整数后按回车键,输入的整数顺序显示在列表框List1中,单击“排序”按钮 Command1,排序后的数据显示在列表框List2中程序运行界面如图所示,回答以下各题:
(1)、实现上述功能的程序代码如下,请在划线处填入合适的代码。Dim a (1 To 20) As Integer, n As Integer ‘ 定义全局变量
Sub jh (x As Integer, y As Integer)
‘jh 为自定义过程,其功能是交换变量x、y的值 Dim temp As Integer
temp = x
x = y
y = temp
End Sub
Private Sub Command1_Click ( )
Dim i As Integer, temp As Integer
Dim swap As Boolean
swap = True
Do while swap = True
swap = False
For i = 1 To n-1
If a(i) > a(i+1) Then
Call jh (a(i), a(i+1)) ‘ 调用过程jh,对两个数进行交换
①
End If
Next i
Loop
For i = 1 To n
List2. AddItem a (i)
Next i
End sub
‘ 输入数据,存储在数组a中,并显示在列表框List1中
Private Sub Text1_ Key Press (KeyAscii As Integer)
If KeyAscii = 13 Then ‘表示按下回车键
n = n+1
②
List1. AddItem a(n)
Text1. Text =“ ”
End if
End sub
Private Sub Form_ Load ( )
n = 0
End sub
① ②
(2)、本题中采用的排序算法应属于(填:冒泡排序/选择排序/插入排序) -
12、数组a为一组正整数,奇数在前,偶数在后。奇数与偶数已分别按升序排序。依据对分查找思想:设计一个在数组a中查找数据Key的程序。实现该功能的VB程序段如下:
i = 1: j = 10
Key = Val (Text1. Text)
Do While i < = j
m = (i+j) \2
If a(m) = Key Then Exit Do ‘Exit Do 表示退出循环
If Key Mod 2 = 1 And a(m)Mod 2 = 0 Then
ElseIf Key Mod 2 = 0 And a(m) Mod 2 = 1Then
Else
End If
Loop
If i > j Then s = “没有找到!” Else s = “位置: ”+str(m)
Text2. Text = s
上述程序中方框处可选语句为:
①i = m+1
②j = m-1
③If Key < (m) Then j = m-1 Else i = m+1
则(1)、(2)、(3)处语句依次是( )
A、①、②、③ B、①、③、② C、②、①、③ D、③、②、① -
13、有以下VB程序段:
a(1) = 6: a(2) = 8: a(3) = 7: a(4) = 3
a(5) = 1: a(6) = 2: a(7) = 5: a(8) = 4
i = 1: j = 8
key = a(1)
Do While i<j
Do while i < j And a(j)> = key
j = j-1
Loop
a(i) = a(j)
Do while i < j And a(i) < = key
i = i+1
Loop
a(j) = a(i)
Loop
a(i) = key
For i = 1 To 8
Label1. Caption = Label1. Caption +“”+ Str(a(1))
Next i
执行该程序段,标签 Label1上显示的内容是( )
A、1 2 3 4 5 6 7 8 B、8 7 6 5 4 3 2 1 C、4 5 2 3 1 6 7 8 D、4 5 1 3 2 6 7 8 -
14、一组“非降序”的数据分别存储在数组元素a(1)~a(n)中,用对分查找算法在数组a中查找key值所在的位置,如果有重复的元素,则显示最小的位置。部分VB程序如下:
key = Val (Text1. Text)
i = 1: j = n
Do While i < = j
m = (i+j) \2
If a(m) > key Then
j = m - 1
ElseIf a(m) < key Then
i = m + 1
Else
if
Then j = m-1
Else
Label2. Caption = str(key) +“的起始位置是”+ str(m)
Exit Do
End If
End if
Loop
If i > j Then
Label2. Caption = “找不到” + str(key)
End If
要使程序实现上述算法思想,则方框中的正确语句是( )
A、a(m-1) = key B、a(m) = key C、m-1 > 0 And a(m-1) = key D、m-1 > 0 And a(m) = key -
15、有n个整数存储在a数组,将其中的奇数转存到b数组中,并将b数组从小到大排序。部分程序如下:
t = 0
For i = 1 To n
If a(i) Mod 2 = 1 Then
t = t+1
End If
Next i
For i = 1 To t-1
For j = t To i + 1 Step-1
If b(j) < b(j-1) Then
temp = b(j): b(j) = b(j-1): b(j-1) = temp
End if
Next j
Next i
方框中应填写的正确语句是( )
A、b(i) = a(i) B、b(i) = t C、b(t) = a(i) D、b(t) = a(t) -
16、小庄编写了一个统计数组元素a(1)到a(n)的“升序段”个数s(如图所示的数据序列,其“升序段”的个数等于3)的VB程序。

部分程序如下:
k=0: s=0
For i = 2 To n
If a(i) > a(i-1) Then

Else
If k = 1 Then
s = s+1
k = 0
End If
End If
Next i
Text1. Text= Str(s)
方框中的正确语句是( )
A、k = k-1 B、k = 1 C、k = -1 D、k = k+1 -
17、采用排序算法对数组a中的6个数据“10,8,7,2,15,9”进行排序,部分程序如下:
For I = 1 To 5
t = 1
For j = i + 1 To 6
If a(t) < a(j) Then

If i <> t Then
temp = a(i)
a(i) = a(t)
a(t) = temp
End If
Next j
Next i
下列描述正确的是( )
A、程序为冒泡排序升序,实线框中的语句共执行了5次 B、程序为冒泡排序降序,实线框中的语句共执行了7次 C、程序为选择排序升序,实线框中的语句共执行了5次 D、程序为选择排序降序,实线框中的语句共执行了7次 -
18、【高精度计算问题】斐波那契数列,又称黄金分割数列指的是这样的一个数列1、2、3、5、8、13、21、34、55、89、144、233、377、…这个数列从第3项开始,每一项都等于前两项之和,即F(1)=1,F(2)=1,F(n)=f(n-1)+f(n-2)(n≥3)。
当计算到第50项时,数据为12586269025,此时就无用普通数据类型表示位数这么多的计算结果,所以可以采用高精度加法。即运用数组,用程序模拟列竖式计算的过程。若以100位及以内的两个正整数进行高精度加法计算的一般算法如下: ⑴将前一个整数各位上的数字按照从低位到高位的顺序依次存入数组a(1)、a(2)、a(3)…、a(100)中,将后一个整数各位上的数字按照从低位到高位的顺序依次存入数组b(1)、b(2)、b(3)、…、b(100)中;
⑵按照从低位到高位的顺序,将两个整数各位数值进行逐位相加计算,a(1)和b(1)相加,结果存入c(1)中,a(2)和b(2)相加,结果存入c(2)中…;
⑶对数组c中的计算结果进行从低位到高位的进位处理;
⑷按照从高位到低位的顺序输出数组c中的计算结果。
问题:为实现上述功能,代码如下,将划线处的代码补充完整。
Private Sub Command1 _Click ( )
Const t = 1000
Dim a(t) As Integer, b(t) As Integer
Dim c(t) As Integer
n = Val(Text1. Text)
Text2. Text =“”
For i = 1 To t
a(i) = 0: b(i)=0: c(i)=0
Next i
a(1) =1
b(1) = 1
For i =3 To n
For j = 1 To t
c(j)= ①
Next j
For j = 2 To t
c(j)= ②
c(j-1) = c(j-1) Mod 10
Next j
For j = 1 To t
a(j)=b(j): b(j)=c(j): c(j)=0
Next j
Next i
i=t
Do While b(i)=0
③
Loop
Do While i > 0
Text2. Text = Text2. Text & b(i)
i =i-1
Loop
End sub
① ② ③
-
19、【缩解压缩问题】在数据压缩中,一个常用的途径是行程长度压缩。对于一个待压缩的字符串而言,我们可以依次记录每个字符及重复的次数。这种压缩,对于相邻数据重复较多的情况比较有效。例如,如果待压缩字符串为“AAABBBBCBB”,则压缩的结果是(A,3)(B,4)(C,1)(B,2)。现要求根据输入的字符串(长度在1000以内),全部由数字和字母组成,得到大小写不敏感压缩后的结果(即所有小写字母均视为相应的大写字母)。如:原字符串为 aAABBbBCCcAaaaa,缩后的结果为(a,3)(B,4)(C,3)(A,5)。实现这一功能的程序代码如下,运行界面如图所示。
(1)、原始数据是 TTtcTTCcc,则压缩数据为。(2)、在划线处填入适当的语句或表达式,将程序补充完整。Private Sub Command1_Click ( )
Dim s As single, sl As single
Dim tmp As String, ans As String
Dim i As Integer, j As Integer
s = Text1. Text
s1 = “”
For i =1 To Len (s)
s1 =s1 & ToUpcase ( ① )
Next i
i = i
Do While i < Len(s1)
tmp = Mid(sl, i, 1)
ans = ans &“(”& tmp & “,”
j = i+1
Do While j < = Len(s1) And Mid(s, j, 1)=tmp
j = j+1
Loop
ans =ans & ② & “)”
③
Loop
Text2. Text = ans
End sub
Function ToUpcase (c As String) As string
If c > =”a” And c < = “z” Then
ToUpcase= Chr(Asc(c)-32)
Else
ToUpcase= c
End if
End Function
① ② ③
-
20、【矩阵问题】将n个元素转换成(nm)*m矩阵(n是m的倍数),例如有42个元素,m=7,则可转换成6*7(6行7列)的矩阵。转换示例如下:
转换前元素次序为:
12 2 5 3 6 9 4 10 8 5 6 9 6 3 5 8 11 2 8 9
转换为矩阵如下:
现要在矩阵中寻找一个规模为3*3的子方阵,使得该子方阵的各元素之和最大。
(1)、若n=25,m=5,则该矩阵中共有3*3的子方阵个数为。(填数字)(2)、实现上述功能的VB程序如下,请在划线处填入合适代码。Private Sub Command1_Click ( )
Dim a (1 To 100) As Integer
Dim sum (0 To 101) As Long ‘ sum(i) = a(1)+a(2)+a(3)+…+a(i)
Dim i As Integer, j As Integer, n As Integer
Dim m As Integer, k As Integer
Dim ans As logn, begin As Integer
Dim maxi As Integer, maxsum As Long, s As String
n= Val(Text. Text)
m= Val(text2. Text)
‘ 随机生成n个整数存储在a数组中,并以(n\m)行m列矩阵形式显示在列表框List1中
‘ 代码略
k=3
sum(1) = a(1)
For i = 2 To n ‘ 求sum(i)
①
Next i
maxsum =0
ans = 0
For i =1 To n\m -k+1
For j = k To m
begin = (1-1)*m = j-k+1
maxsum= maxsum + sum (j+(i-1)* m)-sum(j-k+(1-1)*m)
②
maxsum = maxsum + sum(j+(i+1)* m)-sum(j-k+(i +1)* m)
If maxsum > ans Then ans = maxsum
maxi begin
maxsum =0
Next j
Next i
s = “”
For i = 1 To k
For j =1 To k
s = ③
List2 AddItem s
s = “”
Next j
Next i
List2 AddItem "maxsum ="+ Str(ans)
End sub
① ② ③