16.統(tǒng)計(jì)單詞個數(shù).小明要參加英語等級考試,正在苦練寫作,為了快速統(tǒng)計(jì)文章中單詞的個數(shù),他設(shè)計(jì)了如下VB程序,只要在文本框Text1中輸入短文,單擊統(tǒng)計(jì)按鈕,單詞的個數(shù)就在Text2中顯示(假定每個單詞中不包含英文字母以外的其他字符). 算法的基本思路:按位取出字符,如果是字母,并且flag=False,說明是一個單詞的開始,則單詞個數(shù)增加1,flag置為True,余下的連續(xù)字母不再計(jì)數(shù).如果讀入非字母,則表示一個單詞已經(jīng)完成,flag重新置為False,繼續(xù)循環(huán). 程序界面如圖所示,按此要求編寫程序如下,但加框處代碼有錯,請改正. Private Sub Command1_Click ( ?。?br />Dim x As String,y As String Dim n As Integer,m As Integer,flag As Boolean x=Text1.Text m=0:flag=False For i=1To Len(x) y=xtod(Mid(x,i,1)) If y>=“A”And y<=“Z”Then IfThen’① m=m+1 flag=True End If Else flag=False End If Next Text 2.Text=Str(m) End Sub Function xtod(ch As String) As String’將小寫字母轉(zhuǎn)化為大寫字母. If ch>=“a”And ch<=“z”Then xtod=’② Else xtod=ch End If End Function (1)加框處①有錯,應(yīng)改為
17.小王利用VB及ACCESS數(shù)據(jù)庫制作了一個解密程序,具體使用過程如下: 在VB項(xiàng)目文件夾目錄中有一個ACCESS數(shù)據(jù)庫文件data.accdb,其中有一張數(shù)據(jù)表如圖1所示ask字段中存放的是密文字符,對應(yīng)ans字段中存放的是明文字符. VB程序界面如圖2所示,其中一個按鈕Command1的Caption屬性值設(shè)置為“讀取密碼本”,另一個按鈕Command2的Caption屬性值設(shè)置為“解密”.程序運(yùn)行后先點(diǎn)擊Command1,程序?qū)腁CCESS數(shù)據(jù)庫中讀取明文密文對照表并顯示在列表框List1中.然后在密文文本框Texe1中輸入加密文字,點(diǎn)擊Command2解密后的明文將顯示在Text2中. 程序代碼部分如下,請回答后面的問題: Dim a ( ?。〢s String Dim b ( ?。?nbsp;As String Dim length As Integer Private Sub Command1_Click ( ) List1.Clear Dim i As Integer Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset conn.ConnectionString=“provider=microsoft.ace.jye.ai.12.0;data source=”& App.Path & “\①” conn.Open rs.ActiveConnection=conn rs.CursorLocation=adUseClient rs.Open (“select*from code”) length=rs.RecordCount ReDim a(1To length) ReDim b(1To length) rs.MoveFirst For i=1To length a(i)=rs.Fields(“ask”) b(i)=rs.Fields(“ans”) List1.AddItem (a(i)&“
”&b(i)) rs. ② Next i End Sub Private Sub Command2_Click ( ) Text2.Text=“” Dim s As String Dim i As Integer s=Text1.Text For i=1To Len(s) Text2.Text=Text2.Text&translate(Mid(s,③ )) Next i End Sub Function translate(ask As String) As String Dim i as Integer Dim flag as Boolean i=1 flag=True Do While i<=length And flag If a(i)=ask Then ④ End If i=i+1 Loop If flag=True Then translate=“” Else translate=b(i-1) End If End Function (1)程序代碼①處應(yīng)該填入