《其他典型算法之文本处理-专项训练浙江2022届选考专用(学生版).docx》由会员分享,可在线阅读,更多相关《其他典型算法之文本处理-专项训练浙江2022届选考专用(学生版).docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、其他典型算法之文本处理【例 1】编写 VB 程序,实现如下功能:在文本框 Text1 中输入包含数字、字母的字符串,单击“统计”按钮 Commandl,统计该字符串中数字字符的个数,并在标签Label1 中输出结果。为实现上述功能,请在划线处填入合适代码或选项。Private Sub Commandl_Click()Dim s As String,c As StringDim i As Integer,n As Integer,num As Integers=(填程序代码)num=0n=Len(s)(填字母:从下列 A、B、C 三个选项中选取一项)(填字母:从下列 A、B、C 三个选项中选取一
2、项)If c=0 And c=9 Thennum=num+1End IfNext iLabell.Caption=str(num)End Sub划线、的选项:A.Do While i=nB.c=Mid(s,i,1)C.For i=1 To n【例 2】.要求从原文本(均为 ASCII 字符)中删除指定的单词(完整的单词),并将处理后的文本重新输出。程序界面如图所示,在文本框 Text1 中输入原文本,在文本框 Text2 中输入需要删除的单词,单击“删除”按钮(Command1)后,在文本框Text3 中输出处理后的结果。实现上述功能的 VB 程序如下,但加框处有错,请更正。Function
3、delstr(s1 As String,s2 As String)As StringDim n1 As Integer,n2 As Integer,i As Integer,ch As Stringn1=Len(s1):n2=Len(s2):i=1Do While i a And ch=A And ch=a And c=A And c=Z ThenIf c=Text2.Text Then flag=True:cnt=cnt+1ElseIf flag Then List1.AddItem tmptmp=End IfNext iIf cnt=0 ThenList1.AddItem 找不到符合条件的
4、单词.End IfEnd Sub(2)若文本框 Text2 中输入“M”,单击“获取单词”按钮后,列表框 List1 中显示的单词个数是。2 2.RLE(Run-Length Encoding 行程长度编码)压缩算法是 Windows 系统中使用的一种图像文件压缩方法,用两个数据表示,第一个记录指定像素重复的次数;第二个记录具体像素的值。例如,有一表示颜色像素值的字符串 RRRRGGBBB,用 RLE 压缩方法压缩后可用 4R2G3B 表示。小芳设计了一个 VB 程序实现 RLE 算法功能。在 Text1 中输入原始数据,点击“压缩”按钮Command1 后,在 Text2 中显示经过压缩后的
5、数据。程序运行界面如下图所示。(1)这里采用的压缩技术属于(选填有损压缩/无损压缩)。(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码Private Sub Command1_Click()Dim s1 As String,s2 As String,c As Integer,p As Integers1=Text1.Texts2=:c=1:Do While p 40r=41c=Mid(s,r,1)If Not(c =aAnd c=AAnd c=aAnd c=AAnd c=Z)r=c=Mid(s,r,1)Loopp=rEnd IfList1.AddItem Mid(s,1,p)to
6、tal=total+1s=LoopList1.AddItem stotal=total+1Label1.Caption=共+Str(total)+行End Sub在程序、划线处,填入适当的语句或表达式,把程序补充完整。5 5.小明编写某VB程序,其功能如下:文本框Text1里输入数学表达式(假设表达式的长度小于等于 100),在列表框 List1 里输出所有配对括号在表达式中的位置。例如在文本框 Text1 里入:“12(3-(1+2)3”,程序运行效果如图所示。实现上述功能的 VB 代码如下,在划线的地方填入合适代码,完善程序。Private Sub Command1_Click()Dim
7、s As String,i As Integer,top As Integer,a(1 To 100)As Integers=Text1.Text:i=1:top=0Do While i=Len(s)If Mid(s,i,1)=(Thentop=top+1End IfIf Mid(s,i,1)=)ThenList1.AddItem Str(a(top)+Str(i)End Ifi=i+1LoopEnd Sub6 6.小明编写一个 VB 程序其功能为:在英文句子(以“.”结束)中查找包含指定字符串的单词,运行界面如图所示。文本框 Text1 为英文句子,文本框 Text2 中输入包含字符串,单击
8、“运行”按钮 Command1 后,List1 中显示符合条件的单词。实现上述功能的 VB 程序如下,但加框处代码有错,请改正。Private Sub Command1_Click()Dim k As Integer,b As Integer,h As Integer,c As String,key as StringDim w(1 To 1000)As Strings=Text1.Text:n=Len(s):key=Text2.Textj=0:k=1:b=1:i=1:h=0Do While i=a And c=A And c=Z)ThenIf j0 Thenw(b)=Mid(s,k,j)k=k+1:j=0End Ifb=i+1Elsej=j+1End Ifi=i+1LoopFor i=1 To k-1h=0For j=1 To Len(w(i)-len(key)+1If key=w(i)Then h=h+1Next jIf h0 Then List1.AddItem w(i)Next iEnd Sub