学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
用 VB 编写的英文单词字频统计程序如图所示,在文本框 Text1 中输入文章,单击“统计” 按钮 Command1, 在列表框 List1 输出单词与频次,在标签 Label2 中输出频次最高的单词, 如频次最高的单词有多个,则输出时用逗号分隔。算法如下:
(1)将文本框 Text1 中的文章保存到字符串变量 s 中。
(2)从左往右扫描字符串 s,用字符串 word 存储文章中依次出现的单词,将新出现的单词自动 加入单词队列 dic(i)中,单词出现的频次记录到对应的 num(i)中。
如下方法扫描:

①从左往右扫描,当扫描到第 i 个字符时,如果是字母,继续扫描,否则,跳转到②,直 至扫描结束;

②将 b 到 i-1 组成一个单词 word,查询单词字典 dic 判断是否存在,如果不存在,将新 单词插入单词字字典尾部 dic(k),并且记录单词频次 num(k)为 1,如果 dic 字典中存在单词 word,那么该单词对应频次增加 1,再跳转到①。


(2)在列表框 List1 中依次输出单词与频次,在标签 Label2 中输出频次最高的单词。 实现上述功能的 VB 程序如下,请在划线处填入合适的代码。

Private Sub Command1_Click()


Dim dic(1 To 10000) As String       '存储自建单词字典
Dim num(1 To 10000) As Integer       '存储单词出现的频率
Dim word As String, c As String, s As String, slen As Integer
Dim i As Integer, j As Integer, di As Integer, k As Integer
Dim nummax As Integer '记录最高的单词频率
Dim result As String '存储出现频率最高的单词串
s = Text1.Text: slen = Len(s)
j = 0       '存储每个单词的长度
k = 1       'k-1 为当前单词字典长度
nummax = 0
For i = 1 To 10000       '初始化单词字典频次
num(i) = 0
Next i i = 1
Do While i <= slen
_________
If c >= "a" And c <= "z" Or c >= "A" And c <= "Z" Then j = j + 1
Else

If j <> 0 Then


word = LCase(Mid(s, i - j, j))       'LCase()函数功能:单词统一为小写
di = 1
Do While word <> dic(di) And di < k di = di + 1
Loop
If di = k Then       '单词字典插入新单词
dic(k) = word num(k) = 1

__________ Else


__________ End If



'单词在单词字典中已存在,对应频次加 1
If num(di) > nummax Then nummax = num(di)
j = 0
End If

End If


i = i + 1
Loop
result = ""
For j = 1 To k - 1
List1.AddItem dic(j) + "" + Str(num(j))
If __________

Then
If result = "" Then

result = result + dic(j) Else

result = result + "," + dic(j)       '如出现频率最高的单词有多个,则用逗号分隔 End If


End If
Next j
Label2.Caption = "出现频率最高的单词是:" + result
End Sub
(2)根据本题算法如图所示,若在 Text1 中将文章最后一行“so you must know how to use it.” 改为“so you must know how to use it3.”,单词统计结果_____(选填:会/不会)产生变化。
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交