2020版信息技术新优化浙江大一轮(课件+优选习题):第三部分 第四章 其他经典算法 (共8份打包)
|
8份
|
120页
|
500人阅读
|
176人下载
普通
内容正文:
第四章 其他经典算法
4.1 文本处理
-3-
文本处理包括文本相似度检测、关键字搜索、文本比较(填空题答案)、文本加密、文本压缩等算法。通常用字符串函数处理文本问题,常用的字符串函数如len、mid、chr、asc等。
-4-
【例1】 (2018·9浙江模拟)编写VB程序,实现如下功能:在文本框Text1中输入包含数字、字母的字符串,单击“统计”按钮Commandl,统计该字符串中数字字符的个数,并在标签Label1中输出结果。为实现上述功能,请在划线处填入合适代码或选项。
Private Sub Commandl_Click()
Dim s As String,c As String
Dim i As Integer,n As Integer,num As Integer
s= ① '(填程序代码)
num=0
n=Len(s)
② '(填字母:从下列A、B、C三个选项中选取一项)
③ '(填字母:从下列A、B、C三个选项中选取一项)
-5-
If c>= ″0″ And c<=″9″ Then
num=num+1
End If
Next i
Labell.Caption=str(num)
End Sub
划线②、③的选项:
A.Do While i<=n
B.c=Mid(s,i,1)
C.For i=1 To n
-6-
答案:①Text1.Text ②C ③B
解析:这是一个关于文本统计的题型,这类题型通常先是从文本框中获取待处理的字符串存入变量,然后通过循环,每次用Mid函数提取1个(或若干个)字符,对字符进行分析统计。循环次数一般是字符串的个数。因此,①处是要从文本框中获取待处理的字符串,并将其存入变量,填Text1.Text。②处设置循环,循环次数一般是字符串的个数,可填For i=1 To n或For i=1 To len(Text1.Text)。根据语句“If c>=″0″ And c<=″9″ Then”判断,变量c存的是一个字符,因此③处需从s中提取1个字符。
-7-
1
2
3
4
5
1.要求从原文本(均为ASCII字符)中删除指定的单词(完整的单词),并将处理后的文本重新输出。程序界面如图所示,在文本框Text1中输入原文本,在文本框Text2中输入需要删除的单词,单击“删除”按钮(Command1)后,在文本框Text3中输出处理后的结果。
随堂演练
-8-
1
2
3
4
5
实现上述功能的VB程序如下,但加框处有错,请更正。
Function delstr(s1 As String, s2 As String) As String
Dim n1 As Integer, n2 As Integer, i As Integer,ch As String
n1 = Len(s1) : n2 = Len(s2) : i = 1
Do While i <= n1
word = Mid(s1, i, n2)
ch = Mid(s1, i + n2, 1)
If i = 1 Then
f = zm(ch)
Else
f = zm(Mid(s1, i - 1, 1))And zm(ch) '①
End If
随堂演练
-9-
1
2
3
4
5
If word = s2 And Not f Then
i = i +1 '②
Else
s = s + Mid(s1, i, 1)
i = i + 1
End If
Loop
delstr = s
End Function
Function zm(ch As String) As Boolean
If ch > ″a″ And ch <= ″z″ Or ch >= ″A″ And ch <= ″Z″ Then
随堂演练
-10-
1
2
3
4
5
zm = True
Else
zm = False
End If
End Function
Private Sub Command1_Click()
Dim t1 As String, t2 As String
t1 = Text1.Text
t2 = Text2.Text
Text3.Text = delstr(t1, t2)
End Sub
随堂演练
-11-
1
2
3
4
5
答案: ①f =zm(Mid(s1, i - 1, 1)) Or zm(ch) ②i = i + n2
解析: 程序中变量word存放位置i开始的一个单词,ch存放单词word后的一个字符。①处是判断单词word左右是否为字母,只要左右有一个是字母,则f=true。比如当i=8,word=″tea″,但其右边是字母″c″,说明这个“tea”只是单词“teach