版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、其他典型算法之文本處理【例1】 編寫VB程序,實(shí)現(xiàn)如下功能:在文本框Text1中輸入包含數(shù)字、字母的字符串,單擊“統(tǒng)計(jì)”按鈕Commandl,統(tǒng)計(jì)該字符串中數(shù)字字符的個(gè)數(shù),并在標(biāo)簽Label1中輸出結(jié)果。為實(shí)現(xiàn)上述功能,請(qǐng)?jiān)趧澗€處填入合適代碼或選項(xiàng)。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三個(gè)選項(xiàng)中選取一項(xiàng))(填字母:從下列A、B、C三個(gè)選項(xiàng)中選取一項(xiàng))If c= 0
2、And c=9 Thennum=num+1End IfNext iLabell.Caption=str(num)End Sub劃線、的選項(xiàng):A.Do While i=0 And c=9 Then”判斷,變量c存的是一個(gè)字符,因此處需從s中提取1個(gè)字符?!纠?】.要求從原文本(均為ASCII字符)中刪除指定的單詞(完整的單詞),并將處理后的文本重新輸出。程序界面如圖所示,在文本框Text1中輸入原文本,在文本框Text2中輸入需要?jiǎng)h除的單詞,單擊“刪除”按鈕(Command1)后,在文本框Text3中輸出處理后的結(jié)果。實(shí)現(xiàn)上述功能的VB程序如下,但加框處有錯(cuò),請(qǐng)更正。Function delst
3、r(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.Add
4、Item 找不到符合條件的單詞.End IfEnd Sub(2)若文本框Text2中輸入“M”,單擊“獲取單詞”按鈕后,列表框List1中顯示的單詞個(gè)數(shù)是。答案 (1)tmp=tmp+cflag=False(2)1解析 該算法查找的方法是:每次循環(huán),從文本中取出一個(gè)字符c,若是字母,存入變量tmp,如果字符c等于要查找的字母,則flag=True,表示當(dāng)前單詞含有要查找的字母,同時(shí)cnt的值加1,變量cnt存放含有要查找的字母的單詞的數(shù)量。如果字符c不是字母,說明當(dāng)前單詞結(jié)束,此時(shí)判斷flag的值,如果flag=True,則輸出當(dāng)前單詞。接下來要取出下一個(gè)單詞,需把變量tmp設(shè)為空值,flag
5、設(shè)為False。2.RLE(Run-Length Encoding行程長度編碼)壓縮算法是Windows系統(tǒng)中使用的一種圖像文件壓縮方法,用兩個(gè)數(shù)據(jù)表示,第一個(gè)記錄指定像素重復(fù)的次數(shù);第二個(gè)記錄具體像素的值。例如,有一表示顏色像素值的字符串RRRRGGBBB,用RLE壓縮方法壓縮后可用4R2G3B表示。小芳設(shè)計(jì)了一個(gè)VB程序?qū)崿F(xiàn)RLE算法功能。在Text1中輸入原始數(shù)據(jù),點(diǎn)擊“壓縮”按鈕Command1后,在Text2中顯示經(jīng)過壓縮后的數(shù)據(jù)。程序運(yùn)行界面如下圖所示。(1)這里采用的壓縮技術(shù)屬于(選填有損壓縮/無損壓縮)。(2)實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼Private
6、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)total=total+1s=LoopList1.AddItem stotal=total+1Label1.Caption=共+Str(total)+行E
7、nd Sub在程序、劃線處,填入適當(dāng)?shù)恼Z句或表達(dá)式,把程序補(bǔ)充完整。答案: Text1.Textr-1Mid(s,p+1,Len(s)-p)或Mid(s,p+1)或Right(s,Len(s)-p)解析: 根據(jù)題目中自然語言的描述,本處是將文本框text1中輸入的字符串保存到變量s中。變量r指示字符位置,從第41個(gè)字符開始向左找到第1個(gè)非英文字母,r每次循環(huán)遞減1。將s中未分行部分重新賦值給變量s。5.小明編寫某VB程序,其功能如下:文本框Text1里輸入數(shù)學(xué)表達(dá)式(假設(shè)表達(dá)式的長度小于等于100),在列表框List1里輸出所有配對(duì)括號(hào)在表達(dá)式中的位置。例如在文本框Text1里入:“12 (3
8、-(1+2) 3”,程序運(yùn)行效果如圖所示。實(shí)現(xiàn)上述功能的VB代碼如下,在劃線的地方填入合適代碼,完善程序。Private Sub Command1_Click()Dim 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 Sub答案 a
9、(top)=itop=top-1解析 程序中,數(shù)組a存放左括號(hào)出現(xiàn)的位置,變量top存放數(shù)組a中未匹配的左括號(hào)數(shù)量。如果表達(dá)式第i個(gè)字符是(,則top=top+1,并把位置i存入a(top)中。如果表達(dá)式第i個(gè)字符是),則與位置是a(top)的左括號(hào)匹配,此時(shí)top的值減1。6.小明編寫一個(gè)VB程序其功能為:在英文句子(以“.”結(jié)束)中查找包含指定字符串的單詞,運(yùn)行界面如圖所示。文本框Text1為英文句子,文本框Text2中輸入包含字符串,單擊“運(yùn)行”按鈕Command1后,List1中顯示符合條件的單詞。實(shí)現(xiàn)上述功能的VB程序如下,但加框處代碼有錯(cuò),請(qǐng)改正。Private Sub Comma
10、nd1_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)-
11、len(key)+1If key=w (i) Then h=h+1Next jIf h0 Then List1.AddItem w(i)Next iEnd Sub答案 w(k)=Mid(s,b,j)Mid(w(i),j,Len(key)解析 程序中,數(shù)組w保存每個(gè)單詞,變量b記錄單詞的開始位置,j記錄單詞中字母的個(gè)數(shù),k記錄已保存的單詞數(shù)。程序中的do while循環(huán)部分功能是把原文s中的單詞取出來,存儲(chǔ)到w數(shù)組中。具體實(shí)現(xiàn)方法是每次循環(huán)取一字符c,若是字母,說明當(dāng)前單詞尚未結(jié)束,字母個(gè)數(shù)j加1,若不是字母,表明當(dāng)前單詞結(jié)束,則把單詞存入w(b)中,所以處填w(k)=Mid(s,b,j),同時(shí)k加1,j重置為0,b賦值為i+1,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 當(dāng)圖網(wǎng)保潔培訓(xùn)
- 保潔基礎(chǔ)知識(shí)培訓(xùn)
- 2025餐廳食品,供應(yīng)合同范本
- 2025美容美發(fā)員工入股合同
- 2025公司勞動(dòng)合同模板
- 2025北京勞動(dòng)合同范本
- 【七年級(jí)下冊(cè)地理湘教版】期中測(cè)試卷02
- 醫(yī)療行業(yè)客服工作者感悟
- 教學(xué)評(píng)價(jià)與教研研究
- 電器家具公司話務(wù)員工作總結(jié)
- AQ 1029-2019 煤礦安全監(jiān)控系統(tǒng)及檢測(cè)儀器使用管理規(guī)范
- 太陽能驅(qū)動(dòng)的污水處理技術(shù)研究與應(yīng)用
- 未成年旅游免責(zé)協(xié)議書
- 預(yù)防保健科主任競聘課件
- 團(tuán)隊(duì)成員介紹
- 水泵行業(yè)銷售人員工作匯報(bào)
- 《流感科普宣教》課件
- 離職分析報(bào)告
- 春節(jié)家庭用電安全提示
- 醫(yī)療糾紛預(yù)防和處理?xiàng)l例通用課件
- 廚邦醬油推廣方案
評(píng)論
0/150
提交評(píng)論