(加试题)由英文字母构成的字符串数据压缩方法描述如下:
1)原始数据中,字母相邻无重复,压缩数据用该字母表示
2)原始数据中,字母相邻重复,压缩数据用1个整数和该字母表示
原始数据
压缩数据
BBFFF
2B3F
ABBCCCCCD
A2B5CD
 
小明编写了一个解压缩VB程序,功能如下:程序运行时,在文本框Text1中输入压缩数据,点击按钮Command1,在文本框Text2中显示解压缩后的数据。程序运行如图所示

(1)如果压缩数据为”AB168D9A”,解压缩后数据的个数是___________ 。 
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Function zm(c As String) As Boolean  
If c >= "0" And c <= "9" Then zm = False  Else  zm = True
End Function
Private Sub Command1_Click()
Dim s1 As String, s2 As String, fd As String, k As Integer
Dim count As Integer, i As Integer, j As Integer, length As Integer
s1 = Text1.Text: s2 = "": length = Len(s1)
i = 1
Do While i <= length
fd = Mid(s1, i, 1)
If zm(fd) Then
s2 = s2 + fd
i = i + 1
Else
j = i + 1
fd = Mid(s1, j, 1)
Do While Not zm(fd)
j = j + 1
fd = Mid(s1, j, 1)
Loop
count = ______     
fd = Mid(s1, j, 1)
For k = 1 To count
s2 = s2 + fd
Next k
_______  
End If
Loop
Text2.Text = s2
End Sub
当前题号:1 | 题型:填空题 | 难度:0.99
(加试题)一个正整数(非素数)可以表示成它的质因子(“1”与其本身除外)的乘积。给出任一个整数N,求出它所有的质因子以及每个因子出现的次数,并显示乘积表达式。例如:整数120=2×2×2×3×5,所以它的质因子是2,3,5,次数分别是3次,1次,1次。
用Visual Basic编写一个程序求质因子,功能如下:在文本框Text1中输入一个数,单击“计算”命令按钮Command1,在列表框中显示该数的质因子及相应的次数,并显示乘积表达式。程序运行时的界面如图所示。

实现上述功能的VB程序如下,但划线处代码有错,请改正:
Private Sub Command1_Click()
Dim a(1 To 100) As Integer '数组a存放该整数的质因子出现的次数
Dim i As Integer, m As Integer, n As Integer, k As Integer, s As String
n = Val(Text1.Text)
m = n
k = Int(Sqr(n))
For i = 2 To k
a(i) = 0
Next i
For i = 2 To k
Do While n Mod i = 0
 a(k) = a(k) + 1 '①
n = n \ i
If n = 1  Then s = s + Str(i) + " ×" Else s = s + Str(i): Exit For   '②
Loop
Next i
List1.AddItem "质因子" & "   " & "次数"
For i = 2 To k
If a(i) <> 0 Then List1.AddItem Str(i) & " " & Str(a(i))
Next i
List1.AddItem Str(m) + "=" + s
End Sub
加框①处应改为:________;加框②处应改为:________。
当前题号:2 | 题型:填空题 | 难度:0.99
(加试题)有以下VB程序段:
For i = 7 To 5 Step -1
k = i
For j = i - 1 To 1 Step -1
If d(j) > d(k) Then k = j
Next j
If k <> i Then
t = d(k): d(k) = d(i): d(i) = t
End If
Next i
数组元素d(1)到d(7)的值依次为“23,80,54,45,6,72,18”,经过该程序段“加工”后,数组元素d(1)到d(7)的值依次为(  )
A.80,72,54,23,45,18,6B.80,72,54,45,6,23,18
C.23,18,6,45,54,72,80D.23,6,45,18,54,72,80
当前题号:3 | 题型:选择题 | 难度:0.99
(1)有如下程度段:
X=5
Y=-20
If  Not x>0 Then x=y-3  Else y=x+3
该程序段运行后,y的值为:___ 。
(2)有如下VB程序段:
a = 3: b = 4: c = 5
If a >= b And a >= c Then
y = a
ElseIf b >= c Then
y = b
Else
y = c
End If
该程序段运行之后,整数型变量y的值:_____。
(3)火车托运行李,根据行李的重量按下列标准收费:若不超过50千克,按每千克0.35元收费;若超过50千克,超过部分则按每千克0.5元收费。输入托运行李的重量,计算并输出托运行李的费用。下面程序若用于实现上述目标,则划线处的语句应更改为_________________________。
Sub command1_click( )
Dim x as double
X=val(text1.text)
If x<=50  then
Text2.text= str(0.35*x)
Else
Text2.text= str(0.5*x)
Endif
End sub
(4)求n阶乘(n!=1*2*3*4*n),划线处的语句应为.
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Dim f As Long
n = Val(Text1.Text)
f = 1
i = 1
Do While i <= n
__________________________
i = i + 1
Loop
Text2.Text = Str(f)
End Sub
当前题号:4 | 题型:填空题 | 难度:0.99
人们常使用计算机程序解决一些实际问题。下面程序可以找出能被2、3、5除,余数为1的最小的4个正整数。(注:VB中不区分大小写)请分析程序回答问题。
Private Sub Command1_Click(   1  )
Dim CountN%, n%
CountN=0
N=1
Do
N=n+1
If n Mod 2=1 And n Mod 3=1 And n Mod 5=1 Then
Print n
CountN=CountN+1
End If
Loop___2______3___
End Sub
【小题1】利用计算机编程解决问题的过程中,需要使用一种程序设计语言来实现算法,这个过程叫做(  )
A.设计程序B.测试程序C.运行程序D.编写程序
【小题2】VB中保存工程文件的文件扩展名为(  )
A..mdbB..frmC..vbpD..fla
【小题3】程序中的If语句一般在流程图中用(    )表示
A.平行四边形B.菱形C.矩形D.正方形
【小题4】变量CountN的数据类型定义为( )
A.IntegerB.SingleC.DoubleD.String
【小题5】变量CountN的作用是( )
A.求和B.求平均值C.求最大值D.计数
【小题6】所用到的表示循环的标志性语句是()
A.Dim……End IfB.Do…LoopC.Dim……LoopD.Do……End If
【小题7】在这个循环中,CountN=CountN+1语句被执行()
A.1次B.2次C.3次D.4次
【小题8】①处的语句应该是()
A.Until CountN =2B.Until CountN =4
C.Until Countn =2D.Until Countn =4
【小题9】这段程序的输出结果是(  )
A.31B.33C.35D.37
【小题10】VB语言中,下列合法的变量名是( )
A.12abB.ab12C.*abcdD.c\c
【小题11】下列控件中可用于接收用户输入文本,又可用于显示文本的是( )
A.Label控件B.TextBox控件C.CommandButton控件D.Timer控件
【小题12】VB中,下列哪一函数作用是将数值转化成字符串( )
A.Val(  )B.Asc(  )C.Abs(  )D.Str(  )
【小题13】下列( )算法就是一种直接或者间接地调用自身的算法
A.穷举算法B.排序算法C.递归算法D.解析算法
【小题14】程序中Command1控件响应的事件是( )
A.单击事件B.双击事件C.载入事件D.活动事件
【小题15】在VB中,“20”+“ 19”的运算结果是( )
A.“39”B.FalseC.“20+19”D.“2019”
当前题号:5 | 题型:填空题 | 难度:0.99
(加试题)有以下VB程序段:
Dim a As String, b As String, p As String, s As String
a = Text1.Text: b = Text2.Text: c = Text3.Text :p = ""
For i = 1 To Len(a)
If b = Mid(a, i, Len(b)) Then
s = s + c
i = i + Len(b) – 1
p = p + Str(i)
Else
s = s + Mid(a, i, 1)
End If
Next i
Label1.Caption = p
若文本框Text1中输入“Hello,world!Hello,Python!”,文本框Text2中输入“Hello”,文本框Text3中输入“你好”运行该段程序后,标签Labele1中显示的是(  )
A.1 13B.5 17C.1 2D.5 5
当前题号:6 | 题型:选择题 | 难度:0.99
某算法的部分流程图如图所示。执行这部分流程后s的值是(  )
A.28B.4C.18D.8
当前题号:7 | 题型:选择题 | 难度:0.99
(加试题)小王准备编写一个依据技术学考、加试成绩进行赋分的VB程序,需对成绩进行预处理。预处理算法的基本思想:先从数据库中读取考生的考号、学考、加试成绩,然后进行排序,排序规则是按学考+加试的总分降序,若总分相同按加试成绩降序排列。再根据排序结果给出名次,同分同名,学考、加试成绩相同,则名次相同。
程序运行时,学生数据显示在列表框List1中,单击“计算”按钮Command1,计算结果显示在列表框List2中,程序运行界面如图所示。

实现上述功能的VB程序如下,请回答下列问题:
(1)如图所示,学生总数为1500人,排名前1%的学生可赋分为100,则共有______名学生可赋分为100。
(2)分析数据,可知存放学生成绩的数据表为_________。
(3)请在划线处填入合适的代码。
Dim kh(1 To 1500) As String    '存放学生考号
Dim a(1 To 1500) As Integer    '存放学考成绩
Dim b(1 To 1500) As Integer    '存放加试成绩
Dim pm(1 To 1500) As Integer   '存放排名
Dim n As Integer '存放总人数
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString = "Provider = Microsoft.ace.OLEDB.12.0;DATA Source=" + App.Path + "\cj.accdb"
conn.Open
Set rs.ActiveConnection = conn
rs.Open "select * from stu_cj"
List1.AddItem " 考号  " & " 学考  " & "加试"
n = 0
Do While Not rs.EOF '到记录集最后一条记录后退出循环
n = n + 1 '计数
kh(n) = rs.Fields("考号")
a(n) = rs.Fields("学考成绩")
b(n) = rs.Fields("加试成绩")
List1.AddItem kh(n) & "    " & a(n) & "    " & b(n)
rs.MoveNext     '移动到下一条记录
Loop
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer, k As String
For i = 1 To n - 1
For j = n To i + 1 Step -1
If a(j) + b(j) > a(j - 1) + b(j - 1) Or _________________Then
t = a(j): a(j) = a(j - 1): a(j - 1) = t
t = b(j): b(j) = b(j - 1): b(j - 1) = t
k = kh(j): kh(j) = kh(j - 1): kh(j - 1) = k
End If
Next
Next
pm(1) = 1
For i = 2 To n
If a(i) = a(i - 1) And b(i) = b(i - 1) Then
______________
Else
pm(i) = i
End If
Next
List2.Clear
List2.AddItem "排名  " & " 考号  " & " 学考  " & "加试"
For i = 1 To n
List2.AddItem pm(i) & " " & kh(i) & "   " & a(i) & "   " & b(i)
Next
End Sub
当前题号:8 | 题型:填空题 | 难度:0.99
下列VB表达式的值等于2018的是
A.Sqr(25)+2010B.Abs(-2009)+Len("Happy2018")
C.Mid("3420001",3,4)+ "18"D.Int(-2.3)+2020
当前题号:9 | 题型:选择题 | 难度:0.99
将数学表达式 改写成VB表达式,正确的是
A.1 - Sqr(b ^ 2 – ac / 2)
B.1 - Sqr(b ^ 2 – a * c / 2)
C.1 - Abs(b ^ 2 – ac / 2)
D.1 - Abs(b ^ 2 – a * c / 2)
当前题号:10 | 题型:选择题 | 难度:0.99