其他典型算法之文本處理-專項訓練浙江2022屆選考專用(教師版)_第1頁
其他典型算法之文本處理-專項訓練浙江2022屆選考專用(教師版)_第2頁
其他典型算法之文本處理-專項訓練浙江2022屆選考專用(教師版)_第3頁
其他典型算法之文本處理-專項訓練浙江2022屆選考專用(教師版)_第4頁
其他典型算法之文本處理-專項訓練浙江2022屆選考專用(教師版)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、其他典型算法之文本處理【例1】 編寫VB程序,實現(xiàn)如下功能:在文本框Text1中輸入包含數(shù)字、字母的字符串,單擊“統(tǒng)計”按鈕Commandl,統(tǒng)計該字符串中數(shù)字字符的個數(shù),并在標簽Label1中輸出結(jié)果。為實現(xiàn)上述功能,請在劃線處填入合適代碼或選項。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三個選項中選取一項)If c= 0

2、And c=9 Thennum=num+1End IfNext iLabell.Caption=str(num)End Sub劃線、的選項:A.Do While i=0 And c=9 Then”判斷,變量c存的是一個字符,因此處需從s中提取1個字符。【例2】.要求從原文本(均為ASCII字符)中刪除指定的單詞(完整的單詞),并將處理后的文本重新輸出。程序界面如圖所示,在文本框Text1中輸入原文本,在文本框Text2中輸入需要刪除的單詞,單擊“刪除”按鈕(Command1)后,在文本框Text3中輸出處理后的結(jié)果。實現(xiàn)上述功能的VB程序如下,但加框處有錯,請更正。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中顯示的單詞個數(shù)是。答案 (1)tmp=tmp+cflag=False(2)1解析 該算法查找的方法是:每次循環(huán),從文本中取出一個字符c,若是字母,存入變量tmp,如果字符c等于要查找的字母,則flag=True,表示當前單詞含有要查找的字母,同時cnt的值加1,變量cnt存放含有要查找的字母的單詞的數(shù)量。如果字符c不是字母,說明當前單詞結(jié)束,此時判斷flag的值,如果flag=True,則輸出當前單詞。接下來要取出下一個單詞,需把變量tmp設為空值,flag

5、設為False。2.RLE(Run-Length Encoding行程長度編碼)壓縮算法是Windows系統(tǒng)中使用的一種圖像文件壓縮方法,用兩個數(shù)據(jù)表示,第一個記錄指定像素重復的次數(shù);第二個記錄具體像素的值。例如,有一表示顏色像素值的字符串RRRRGGBBB,用RLE壓縮方法壓縮后可用4R2G3B表示。小芳設計了一個VB程序?qū)崿F(xiàn)RLE算法功能。在Text1中輸入原始數(shù)據(jù),點擊“壓縮”按鈕Command1后,在Text2中顯示經(jīng)過壓縮后的數(shù)據(jù)。程序運行界面如下圖所示。(1)這里采用的壓縮技術(shù)屬于(選填有損壓縮/無損壓縮)。(2)實現(xiàn)上述功能的VB程序如下,請在劃線處填入合適的代碼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在程序、劃線處,填入適當?shù)恼Z句或表達式,把程序補充完整。答案: Text1.Textr-1Mid(s,p+1,Len(s)-p)或Mid(s,p+1)或Right(s,Len(s)-p)解析: 根據(jù)題目中自然語言的描述,本處是將文本框text1中輸入的字符串保存到變量s中。變量r指示字符位置,從第41個字符開始向左找到第1個非英文字母,r每次循環(huán)遞減1。將s中未分行部分重新賦值給變量s。5.小明編寫某VB程序,其功能如下:文本框Text1里輸入數(shù)學表達式(假設表達式的長度小于等于100),在列表框List1里輸出所有配對括號在表達式中的位置。例如在文本框Text1里入:“12 (3

8、-(1+2) 3”,程序運行效果如圖所示。實現(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存放左括號出現(xiàn)的位置,變量top存放數(shù)組a中未匹配的左括號數(shù)量。如果表達式第i個字符是(,則top=top+1,并把位置i存入a(top)中。如果表達式第i個字符是),則與位置是a(top)的左括號匹配,此時top的值減1。6.小明編寫一個VB程序其功能為:在英文句子(以“.”結(jié)束)中查找包含指定字符串的單詞,運行界面如圖所示。文本框Text1為英文句子,文本框Text2中輸入包含字符串,單擊“運行”按鈕Command1后,List1中顯示符合條件的單詞。實現(xiàn)上述功能的VB程序如下,但加框處代碼有錯,請改正。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保存每個單詞,變量b記錄單詞的開始位置,j記錄單詞中字母的個數(shù),k記錄已保存的單詞數(shù)。程序中的do while循環(huán)部分功能是把原文s中的單詞取出來,存儲到w數(shù)組中。具體實現(xiàn)方法是每次循環(huán)取一字符c,若是字母,說明當前單詞尚未結(jié)束,字母個數(shù)j加1,若不是字母,表明當前單詞結(jié)束,則把單詞存入w(b)中,所以處填w(k)=Mid(s,b,j),同時k加1,j重置為0,b賦值為i+1,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論