- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 过程和自定义函数
- 枚举算法及程序实现
- + 解析算法及程序实现
- 递归算法及程序实现
- 排序算法及程序实现
- 查找算法及程序实现
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
如图所示,下面程序实现读取数据文件,进行可视化呈现,直观地展示了历年来报考研究生人数变化趋势。阅读程序回答问题:

(1)本程序中引用了第三方库,写出库名称,从代码中找出来。
(2)本程序读取了数据文件,文件名称是什么?
(3)读取数据文件的数据赋值到二维表型数据结构对象中,这个对象的名称是什么?
(4)本程序实现了数据可视化,呈现的图表为柱形图、折线图还是散点图?通过哪行代码来实现?
(5)本程序文件实现的图表的标题是什么?阅读程序,从其中找出来。

(1)本程序中引用了第三方库,写出库名称,从代码中找出来。
(2)本程序读取了数据文件,文件名称是什么?
(3)读取数据文件的数据赋值到二维表型数据结构对象中,这个对象的名称是什么?
(4)本程序实现了数据可视化,呈现的图表为柱形图、折线图还是散点图?通过哪行代码来实现?
(5)本程序文件实现的图表的标题是什么?阅读程序,从其中找出来。
素数只能被1和它本身整除,不能被其他自然数整除。编写VB程序实现如下功能:单击“产生奇数并判断”按钮Command1,随机产生一个三位正奇数显示在文本框Text1中,并在文本框Text2中显示其是否为素数的判断结果。例如,当随机产生的三位正奇数为953时,程序运行界面如图a所示。

(1)在设计程序界面时,应使用图b所示“控件工具箱”中的_____________(填写相应编号)添加文本框Text1。
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim flag As Boolean ’用于标记是否为素数
Randomize
n = Int( ①_____)*2+1
Text1.Text = Str(n)
flag = True ’标记为素数
i = 3
Do While i <= n - 1 And flag = True
If ②_____ Then
Text2.Text = Str(n) + "是素数"
Else
Text2.Text = Str(n) + "不是素数"
End If
End Sub
(3)以下选项中,与加框处表达式“n Mod I = 0”等价的是______________(单选,填字母)。

(1)在设计程序界面时,应使用图b所示“控件工具箱”中的_____________(填写相应编号)添加文本框Text1。
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim flag As Boolean ’用于标记是否为素数
Randomize
n = Int( ①_____)*2+1
Text1.Text = Str(n)
flag = True ’标记为素数
i = 3
Do While i <= n - 1 And flag = True
If n Mod i = 0 Then
flag = FalseEnd If
i = i + 2
LoopIf ②_____ Then
Text2.Text = Str(n) + "是素数"
Else
Text2.Text = Str(n) + "不是素数"
End If
End Sub
(3)以下选项中,与加框处表达式“n Mod I = 0”等价的是______________(单选,填字母)。
A.n \ i = Int(n / i) | B.n \ i = n/ i | C.n Mod i = n \ i |
给定区间[a1,a2]和[b1,b2],若a2≥b1,则认为这两个区间是有重叠的,可进行合并。如区间[1,3]和[2,6]可合并为[1,6];区间[1,6],[2,5]可合并为[1,6];区间[1,4]和[4,5]可合并为[1,5]。
编写一个“合并重叠区间”的VB程序,功能如下:在文本框Text1中按各区间起始值升序依次输入各区间的起始值和终止值(数据都用逗号分隔并以逗号结尾),单击“确定”按钮后,在Text2中显示合并后的各个区间。例如,在文本框Text1中输入“1,2,3,5,4,6,9,12,10,11,”,表示区间[1,2],[3,5],[4,6],[9,12],[10,11],合并后的区间分别为[1,2],[3,6],[9,12]。程序运行界面如图所示,实现上述功能的VB代码如下:

Const n=100
Private Sub Cmd1_Click()
Dim i As Integer, k As Integer, L As Integer, R
As Integer
Dim s As String, c As String, t As String, result
As String
Dim a(1 To n) As Integer
s=① :t="":k=0
For i=1 To Len(s)
c=Mid(s,i,1)
If c<>"," Then
②
Else
k=k+1
a(k)=Val(t)
t=""
End If
Next i
L=a(1):R=a(2)
i=3
Do While i<=k
If a(i)>R Then
result = result+"("+Str(L)+","+Str(R)+"),"
L=a(i):R=a(i+1)
R=a(i+1)
End If
③
Loop
result=result+"("+Str(L)+","+Str(R)+"),"
Text2. Text=result
End Sub
(1)码中①②③划线处代码补充完整。
①__________
②__________
③__________
(2)程序代码中的加框处代码有误,请改正。
_____________________
(3)运行该程序,输入数据如图所示,程序执行完毕时,变量k 为________________。
编写一个“合并重叠区间”的VB程序,功能如下:在文本框Text1中按各区间起始值升序依次输入各区间的起始值和终止值(数据都用逗号分隔并以逗号结尾),单击“确定”按钮后,在Text2中显示合并后的各个区间。例如,在文本框Text1中输入“1,2,3,5,4,6,9,12,10,11,”,表示区间[1,2],[3,5],[4,6],[9,12],[10,11],合并后的区间分别为[1,2],[3,6],[9,12]。程序运行界面如图所示,实现上述功能的VB代码如下:

Const n=100
Private Sub Cmd1_Click()
Dim i As Integer, k As Integer, L As Integer, R
As Integer
Dim s As String, c As String, t As String, result
As String
Dim a(1 To n) As Integer
s=① :t="":k=0
For i=1 To Len(s)
c=Mid(s,i,1)
If c<>"," Then
②
Else
k=k+1
a(k)=Val(t)
t=""
End If
Next i
L=a(1):R=a(2)
i=3
Do While i<=k
If a(i)>R Then
result = result+"("+Str(L)+","+Str(R)+"),"
L=a(i):R=a(i+1)

R=a(i+1)
End If
③
Loop
result=result+"("+Str(L)+","+Str(R)+"),"
Text2. Text=result
End Sub
(1)码中①②③划线处代码补充完整。
①__________
②__________
③__________
(2)程序代码中的加框处代码有误,请改正。
_____________________
(3)运行该程序,输入数据如图所示,程序执行完毕时,变量k 为________________。
(加试题)王老师在使用 VB 程序要实现 n! 的功能。
Private Sub Command1_Click()
Dim p As Integer
Dim sum As Long
p = Val(Text1.Text)
sum = fx(p)
Text2.Text = CStr(sum)
End Sub
Function fx(x As Integer) As Long
If x = 1 Then
fx = 1
Else
fx =____________________
End If
End Function
要该程序实现此功能,横线处的代码为( )
Private Sub Command1_Click()
Dim p As Integer
Dim sum As Long
p = Val(Text1.Text)
sum = fx(p)
Text2.Text = CStr(sum)
End Sub
Function fx(x As Integer) As Long
If x = 1 Then
fx = 1
Else
fx =____________________
End If
End Function
要该程序实现此功能,横线处的代码为( )
A.x(x)*(x-1) | B.fx(x)*x | C.fx(x-1)*x | D.fx(x-1)*(x-1) |
选择算法,解决问题。
在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:__________(请用英文字母填写)
搬砖问题:100块砖,100人搬,一个男人搬4块,一个女人搬3块,两个小儿抬1块,要求一次全搬完。请问需男、女、小儿各多少人?
在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:__________(请用英文字母填写)
A.解析法 | B.递归法 | C.穷举法 | D.排序法 |
在平面坐标系中,给定任意个点,求出这些点中与点(1,1)距离最远的点。小李编写出了相应功能的程序:在文本框Text1中输入这些点的坐标值(数据都用逗号分隔并以逗号结尾),单击“计算”按钮Cmd后,程序计算这些点到(1,1)的距离后,结果显示在列表框List1中,并且输出最大距离的点。程序运行界面如图所示。

(1)由图可知,窗体中的对象共有___________类;
(2)实现上述功能的VB程序如下,请在画线处填入合适的代码。
Private Sub Command1_Click()
v=Val(Mid(s,j,i-j))
j=__________
If k Mod 2=1 Then
x2=v
Else
y2=v
d=Sqr((x2-x1)^2+(y2-y1)^2)
If __________ Then
maxd=d
pos="(" & Str(x2)& "," & Str(y2)& ")"
End If
List1.AddItem"(" & Str(x2)& "," & Str(y2)& ")" & Str(d)
End If
k=k+1
End If
Next i
Label1.Caption="距离(1, 1)最远的点为"& pos &"距离为"& Str(maxd)
End Sub
(3)若文本框Text1中输入的内容为“31,41,26,51,1,56”,程序运行结束后,距离(1,1)最远的坐标点是_____________。

(1)由图可知,窗体中的对象共有___________类;
(2)实现上述功能的VB程序如下,请在画线处填入合适的代码。
Private Sub Command1_Click()
Dim I,k As Integer
Dim x1,y1,x2,y2 As Single
Dim v As Singie,maxd As Single
Dim s As String,pos zb As String
List1.Clear
s=Text1.Text
x1=1:y1=1
t="":k=1:j=1
List1.AddItem"坐标点"&"距离"
For i=1 To Len(s)
If Mid(s,i,1)="," Thenv=Val(Mid(s,j,i-j))
j=__________
If k Mod 2=1 Then
x2=v
Else
y2=v
d=Sqr((x2-x1)^2+(y2-y1)^2)
If __________ Then
maxd=d
pos="(" & Str(x2)& "," & Str(y2)& ")"
End If
List1.AddItem"(" & Str(x2)& "," & Str(y2)& ")" & Str(d)
End If
k=k+1
End If
Next i
Label1.Caption="距离(1, 1)最远的点为"& pos &"距离为"& Str(maxd)
End Sub
(3)若文本框Text1中输入的内容为“31,41,26,51,1,56”,程序运行结束后,距离(1,1)最远的坐标点是_____________。
某排序算法,VB代码如下:
i=1
Do While i<=5
If i = 0 or a(i – 1)<= a(i) Then
i=i+1
Else
t=a(i):a(i)=a(i-1):a(i-1)=t
i=i-1
End If
Loop
数组元素a(0)到a(5)依次为:“0,41,22,53,99,36”,经过该程序段处理后,数组元素a(3)的值为( )
i=1
Do While i<=5
If i = 0 or a(i – 1)<= a(i) Then
i=i+1
Else
t=a(i):a(i)=a(i-1):a(i-1)=t
i=i-1
End If
Loop
数组元素a(0)到a(5)依次为:“0,41,22,53,99,36”,经过该程序段处理后,数组元素a(3)的值为( )
A.36 | B.53 | C.41 | D.22 |
某对分查找算法的VB程序段如下:
i=1:j=6:n=0:f=False
key=Val(Text1.Text)
Do While i<=j and Not f
n=n+1
m=Fix((i+j)/2)
If key=a(m)then f=True
If key<a(m)then j=m-1 Else i=m+1
Loop
数组元素a(1)到a(6)的值依次为“12,19,27,31,46,55”,文本框Text 1中输入“31”后运行该程序,则以上程序段运行结束后,下列说法不正确的是( )
i=1:j=6:n=0:f=False
key=Val(Text1.Text)
Do While i<=j and Not f
n=n+1
m=Fix((i+j)/2)
If key=a(m)then f=True
If key<a(m)then j=m-1 Else i=m+1
Loop
数组元素a(1)到a(6)的值依次为“12,19,27,31,46,55”,文本框Text 1中输入“31”后运行该程序,则以上程序段运行结束后,下列说法不正确的是( )
A.变量i的值为4 |
B.变量j的值为4 |
C.变量m的值为4 |
D.变量n的值为3 |
“不重复数”的特征是任何相邻两个数位上的数字都不相同。如1101是重复数,1201是不重复数。判断某数是不是重复数的VB程序段如下:
s = Text1.Text
(1)
i = 1: flag = True
Do While i <= n - 1 And flag
If (2) Then flag = False
i = i + 1
Loop
If (3) Then
Label1.Caption = "重复数"
Else
Label1.Caption = "不重复数"
End If
上述程序中方框处可选语句为:
①flag=False
②n=Len(s)
③Mid(s,i,1)=Mid(s,i+1,1)
则(1)、(2)、(3)处语句依次是( )
s = Text1.Text
(1)
i = 1: flag = True
Do While i <= n - 1 And flag
If (2) Then flag = False
i = i + 1
Loop
If (3) Then
Label1.Caption = "重复数"
Else
Label1.Caption = "不重复数"
End If
上述程序中方框处可选语句为:
①flag=False
②n=Len(s)
③Mid(s,i,1)=Mid(s,i+1,1)
则(1)、(2)、(3)处语句依次是( )
A.②、③、① | B.①、③、② | C.②、①、③ | D.③、②、① |
以下两个VB程序段,其中变量m和n为正整数,下列说法不正确的是( )
程序1: If m<n Then t=m:m=n:n=t End IfDo While m Mod n<>0 r=m Mod n m=n n=r Loop Text1.Text=Str(n) | 程序: 2n2 Do Whife m 程序2 Do While m<>n Do While m>n m=m-n Loop Do While n>m n=n-m Loop Loop Textl.Text=Str(n) |
A.“程序1”和“程序2”中的代码实现相同的功能 |
B.若变量m和n的值为25,35,则“程序1”代码运行后文本框Text1显示“5” |
C.“程序2”中的输出语句改为Textl.Text=Str(m),会影响文本框Textl显示的内容 |
D.若变量m和n的值为11,7,则“程序2”代码运行后文本框Text1显示“1” |