例1 编写VB程序实现功文框Text1中输入包含数字字母字符串单击统计钮Commandl统计该字符串中数字字符数标签Label1中输出结果实现述功请划线处填入合适代码选项
Private Sub Commandl_Click()
Dim s As Stringc As String
Dim i As Integern As Integernum As Integer
s ① '(填程序代码)
num0
nLen(s)
② '(填字母列ABC三选项中选取项)
③ '(填字母列ABC三选项中选取项)
If c> ″0″ And c<″9″ Then
numnum+1
End If
Next i
LabellCaptionstr(num)
End Sub
划线②③选项
ADo While i
CFor i1 To n
答案①Text1Text ②C ③B
解析关文统计题型类题型通常先文框中获取处理字符串存入变量然通循环次Mid函数提取1(干)字符字符进行分析统计循环次数般字符串数①处文框中获取处理字符串存入变量填Text1Text②处设置循环循环次数般字符串数填For i1 To nFor i1 To len(Text1Text)根语句If c>″0″ And c<″9″ Then判断变量c存字符③处需s中提取1字符
例2求原文(均ASCII字符)中删指定单词(完整单词)处理文重新输出程序界面图示文框Text1中输入原文文框Text2中输入需删单词单击删钮(Command1)文框Text3中输出处理结果
实现述功VB程序加框处错请更正
Function delstr(s1 As String s2 As String) As String
Dim n1 As Integer n2 As Integer i As Integerch 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
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
zm True
Else
zm False
End If
End Function
Private Sub Command1_Click()
Dim t1 As String t2 As String
t1 Text1Text
t2 Text2Text
Text3Text delstr(t1 t2)
End Sub
答案 ①f zm(Mid(s1 i 1 1)) Or zm(ch) ②i i + n2
解析 程序中变量word存放位置i开始单词ch存放单词word字符①处判断单词word左右否字母左右字母ftruei8word″tea″右边字母″c″说明tea单词teacher中部分删ftrue②处if语句功判断否删单词果满足条件word s2 And Not f表明i位置开始单词word删单词s2该词左右字母删否删i位置字母存入s位置i值加1指字母②处应填i i + n2表示略n2字母
课训练
1编写单词查询程序实现功文框Text1中输入段英文文(结束符)文框Text2输入英文字母单击获取单词钮Command1列表框List1次显示Text1中包含该英文字母单词程序运行界面图示
(1)实现述功VB程序请划线处填入合适代码
Private Sub Command1_Click()
Dim s As Stringtmp As Stringc As String
Dim n As Integeri As Integerflag As Boolean
Dim cnt As Integer '存储符合条件单词数
sText1TextnLen(s)flagFalsecnt0
List1Clear
For i1 To n
cMid(si1)
If c>″a″ And c<″z″ Or c>″A″ And c<″Z″ Then
①
If cText2Text Then flagTruecntcnt+1
Else
If flag Then List1AddItem tmp
tmp″ ″
②
End If
Next i
If cnt0 Then
List1AddItem ″找符合条件单词″
End If
End Sub
(2)文框Text2中输入M单击获取单词钮列表框List1中显示单词数
答案 (1)①tmptmp+c ②flagFalse (2)1
解析 该算法查找方法次循环文中取出字符c字母存入变量tmp果字符c等查找字母flagTrue表示前单词含查找字母时cnt值加1变量cnt存放含查找字母单词数量果字符c字母说明前单词结束时判断flag值果flagTrue输出前单词接取出单词需变量tmp设空值flag设False
2RLE(RunLength Encoding行程长度编码)压缩算法Windows系统中种图文件压缩方法两数表示第记录指定素重复次数第二记录具体素值例表示颜色素值字符串RRRRGGBBBRLE压缩方法压缩4R2G3B表示芳设计VB程序实现RLE算法功Text1中输入原始数点击压缩钮Command1Text2中显示压缩数程序运行界面图示
(1)里采压缩技术属 (选填损压缩损压缩)
(2)实现述功VB程序请划线处填入合适代码
Private Sub Command1_Click()
Dim s1 As Strings2 As Stringc As Integerp As Integer
s1Text1Text
s2″ ″c1 ①
Do While p
cc+1
Else
s2s2+Str(c)+Mid(s1p11)
②
End If
pp+1
Loop
Text2Text ③
End Sub
答案 ①p2 ②c1 ③s2+Str(c)+Mid(s1p11)s2+Str(c)+Mid(s1len(s1)1)
解析 程序中变量p指示取字符位置循环中较两字符位置pp1说明p初值应该2①处填p2程序压缩具体算法较pp1位置中两字符相等c加1等前统计相字符数c字符存入变量s2时c重新赋值1②处填c1循环结束串相字符信息未存入变量s2③处填s2+Str(c)+Mid(s1p11)s2+Str(c)+Mid(s1len(s1)1)
3通常加密算法中密钥中字符重复现编写VB程序检查密匙否重复单击检验钮Command1出现互重复串写字母列表框List1中输出该字符串符合加密条件反列表框List1中输出重复字母该字母第二次出现位置程序运行界面图示
(1)实现述功请划线处填入合适代码
Private Sub Command1_Click()
Dim s As Stringi As Integera(1 To 26) As Integerr As Stringj As Integer
Dim b(1 To 26) As Stringc(1 To 100) As Integer
sText1Text
List1Clear
For i1 To 26
a(i)0
Next i
j1
For i1 To Len(s)
rMid(si1)
①
If a(Asc(r)64)2 Then
b(j)rc(j)ijj+1
End If
Next i
If j1 Then List1AddItem ″该字符串符合加密条件″
For i1 To j1
②
Next i
End Sub
(2)述算法知文框Text1中输入字符串INTEGER列表框中输出值
答案 ①a(Asc(r)64)a(Asc(r)64)+1 ②List1additem b(i)+″ ″+Str(c(i))
解析 程序中涉3数组数组a存放字母出现次数数组b存放第二次出现字母数组c存放字母第二次出现时位置题难点字母转换应编号x字母出现次数存入数组a应元素a(x)中果″A″应编号1a(1)a(1)+1果″B″应编号2a(2)a(2)+1类推计算编号表达式Asc(r)64Asc(r)Asc(A)+1a(Asc(r)64)2说明该字母出现2次时记录字母b(j)位置i存入c(j)
4VB编写字符串分行程序功单击分行钮Command1文框Text1中英文文列表框List1中分行显示(分行时单词跨行行字符超40)标签Label1中输出总行数运行效果图示分行算法
(1)文框中字符串保存变量s中
(2)s中字符数超40时循环执行列①②③步否跳转(3)
①果第41字符英文字母分行位置p40否左逐查找直找第非英文字母位置作分行位置p
②截取s前p字符作新增行显示列表框List1中时总行数加1
③s中未分行部分重新赋值变量s
(3)s作新增行显示列表框List1中时总行数加1
实现述功VB程序请划线处填入合适代码
Private Sub Command1_Click()
Dim s As String c As String
Dim r As Integer total As Integer p As Integer
total 0
s ①
Do While Len(s)> 40
r 41
c Mid(sr1)
If Not((c > ″a″And c < ″z″)Or (c>″A″And c<″Z″)) Then
p 40
Else
'第41字符开始左找第1非英文字母位置值赋p
Do While (c >″a″And c<″z″)Or (c>″A″And c<″Z″)
r②
cMid(sr1)
Loop
pr
End If
List1AddItem Mid(s1p)
totaltotal+1
s③
Loop
List1AddItem s
totaltotal+1
Label1Caption″″+Str(total)+″行″
End Sub
程序①②③划线处填入适语句表达式程序补充完整
答案 ①Text1Text ②r1 ③Mid(sp+1Len(s)p)Mid(sp+1)Right(sLen(s)p)
解析 ①根题目中然语言描述处文框text1中输入字符串保存变量s中
②变量r指示字符位置第41字符开始左找第1非英文字母r次循环递减1
s中未分行部分重新赋值变量s
5明编写某VB程序功文框Text1里输入数学表达式(假设表达式长度等100)列表框List1里输出配括号表达式中位置例文框Text1里入12 (3(1+2)) 3程序运行效果图示
实现述功VB代码划线方填入合适代码完善程序
Private Sub Command1_Click()
Dim s As Stringi As Integertop As Integera(1 To 100) As Integer
sText1Texti1top0
Do While i
toptop+1
①
End If
If Mid(si1)″)″ Then
List1AddItem Str(a(top))+″ ″+Str(i)
②
End If
ii+1
Loop
End Sub
答案 ①a(top)i ②toptop1
解析 程序中数组a存放左括号出现位置变量top存放数组a中未匹配左括号数量果表达式第i字符″(″toptop+1位置i存入a(top)中果表达式第i字符″)″位置a(top)左括号匹配时top值减1
6明编写VB程序功英文句子(结束)中查找包含指定字符串单词运行界面图示文框Text1英文句子文框Text2中输入包含字符串单击运行钮Command1List1中显示符合条件单词实现述功VB程序加框处代码错请改正
Private Sub Command1_Click()
Dim k As Integerb As Integerh As Integerc As Stringkey as String
Dim w(1 To 1000) As String
sText1TextnLen(s)keyText2Text
j0k1b1i1h0
Do While i
If Not (c>″a″ And c<″z″ Or c>″A″ And c<″Z″) Then
If j<>0 Then
w(b)Mid(skj) '①
kk+1j0
End If
bi+1
Else
jj+1
End If
ii+1
Loop
For i1 To k1
h0
For j1 To Len(w(i))len(key)+1
If keyw (i) Then hh+1 '②
Next j
If h<>0 Then List1AddItem w(i)
Next i
End Sub
答案 ①w(k)Mid(sbj) ②Mid(w(i)jLen(key))
解析 程序中数组w保存单词变量b记录单词开始位置j记录单词中字母数k记录已保存单词数程序中do while循环部分功原文s中单词取出存储w数组中具体实现方法次循环取字符c字母说明前单词尚未结束字母数j加1字母表明前单词结束单词存入w(b)中①处填w(k)Mid(sbj)时k加1j重置0b赋值i+1单词开始位置
②处二重循环功单词里找否包含Text2中字符串检索方法单词w(i)中取len(key)字符第1次第1位开始取果key相等h加1第2次第2位开始取len(key)字符果key相等h加1循环循环结束果h>0表明w(i)中含查找单词显示出
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档