16.統(tǒng)計(jì)單詞個(gè)數(shù).小明要參加英語(yǔ)等級(jí)考試,正在苦練寫(xiě)作,為了快速統(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置為T(mén)rue,余下的連續(xù)字母不再計(jì)數(shù).如果讀入非字母,則表示一個(gè)單詞已經(jīng)完成,flag重新置為False,繼續(xù)循環(huán). 程序界面如圖所示,按此要求編寫(xiě)程序如下,但加框處代碼有錯(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’將小寫(xiě)字母轉(zhuǎn)化為大寫(xiě)字母. If ch>=“a”And ch<=“z”Then xtod=’② Else xtod=ch End If End Function (1)加框處①有錯(cuò),應(yīng)改為
17.小王利用VB及ACCESS數(shù)據(jù)庫(kù)制作了一個(gè)解密程序,具體使用過(guò)程如下: 在VB項(xiàng)目文件夾目錄中有一個(gè)ACCESS數(shù)據(jù)庫(kù)文件data.accdb,其中有一張數(shù)據(jù)表如圖1所示ask字段中存放的是密文字符,對(duì)應(yīng)ans字段中存放的是明文字符. VB程序界面如圖2所示,其中一個(gè)按鈕Command1的Caption屬性值設(shè)置為“讀取密碼本”,另一個(gè)按鈕Command2的Caption屬性值設(shè)置為“解密”.程序運(yùn)行后先點(diǎn)擊Command1,程序?qū)腁CCESS數(shù)據(jù)庫(kù)中讀取明文密文對(duì)照表并顯示在列表框List1中.然后在密文文本框Texe1中輸入加密文字,點(diǎn)擊Command2解密后的明文將顯示在Text2中. 程序代碼部分如下,請(qǐng)回答后面的問(wèn)題: Dim a As String Dim b 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 & “\
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)該填入