16.統(tǒng)計(jì)單詞個(gè)數(shù).小明要參加英語(yǔ)等級(jí)考試,正在苦練寫作,為了快速統(tǒng)計(jì)文章中單詞的個(gè)數(shù),他設(shè)計(jì)了如下VB程序,只要在文本框Text1中輸入短文,單擊統(tǒng)計(jì)按鈕,單詞的個(gè)數(shù)就在Text2中顯示(假定每個(gè)單詞中不包含英文字母以外的其他字符). 算法的基本思路:按位取出字符,如果是字母,并且flag=False,說(shuō)明是一個(gè)單詞的開(kāi)始,則單詞個(gè)數(shù)增加1,flag置為True,余下的連續(xù)字母不再計(jì)數(shù).如果讀入非字母,則表示一個(gè)單詞已經(jīng)完成,flag重新置為False,繼續(xù)循環(huán). 程序界面如圖所示,按此要求編寫程序如下,但加框處代碼有錯(cuò),請(qǐng)改正. 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)加框處①有錯(cuò),應(yīng)改為
程序代碼部分如下,請(qǐng)回答后面的問(wèn)題: Dim a ( )As String Dim b ( ?。?nbsp;As String Dim length As Integer Private Sub Command1_Click ( ?。?br />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 ( ?。?br />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)該填入