資源簡介 專項測試三 字符串處理1.性別識別。程序運行時,在文本框Text1中輸入18位的身份證號,單擊Command1按鈕,在標簽Label1中顯示其性別。判斷方法為:判斷身份證號中第17位上的數字,若是奇數則表示男性,偶數則表示女性。程序運行界面如下圖所示。為實現上述功能,在劃線處填入合適的語句。Private Sub Command1_Click() Dim x As String, y As String,n As Integer x = Text1.Text ______①______ If n mod 2 = 1 Then y = “男” Else y = “女” End If ______②______End Sub解析 本題主要考查的是字符串處理。①處代碼表示取出身份證號的第17位數字字符,然后將數字字符轉換為數值,①處代碼為n=Val(Mid(x,17,1));②處代碼表示將性別結果顯示在標簽Label1中,因此,②處代碼為Label1.Caption=y。答案 ①n=Val(Mid(x, 17, 1)) ②Label1.Caption = y2.下面VB程序的功能是:在左邊列表框List1中選擇一個車牌,單擊“判斷”按鈕Command1,根據該車牌最后一位數字進行限行判斷(若為偶數則奇數日期限行,奇數則偶數日期限行),并將判斷結果顯示在文本框Text2中。程序運行界面如下圖所示。為了實現上述功能,請在劃線處填入合適的代碼。Private Sub______①______′單擊List1,將列表框中選中的內容顯示在Text1中 Text1.Text = List1.List(List1.ListIndex) ′將當前選中的List1的內容顯示在Text1中 Text2.Text = “ ”End SubPrivate Sub Command1_Click( ) Dim i As Integer,cp As String, c As String cp = Text1.Text For i = ______②______ To 4 Step -1 c = Mid(cp, i, 1) If c >= “0” And c <= “9” Then ′若c是數字字符,則記錄該數字 If Val(c) mod 2=1 Then Text2.Text = “偶數日期限行” Else Text2.Text = “奇數日期限行” ______③______ Exit For ′退出循環End If Next i End Sub解析 本題主要考查的是循環結構及Mid函數。程序①處表示事件處理過程,該事件處理過程的功能是“單擊List1,將列表框中選中的內容顯示在Text1中”,因此過程名為List1.Click();②處循環表示從車牌號最后一個字符往前開始查找,直到找到第一個數字,然后根據數字的奇偶性來確定限行情況,車牌號長度可以通過len函數計算得到,觀察車牌號可知車牌號長度為8位;③處表示塊If語句的結束,因此③處語句為End If。答案 ①List1_Click()或 List1_Click ②Len(cp)或Len(Text1.Text)或 8 ③End If3.編寫VB程序,實現如下功能:在文本框Text1中輸入英語短文(短文中只包含大小字母、空格和標點符號),并以“.”表示短文輸入結束,單擊“查找”按鈕Command1,在標簽Label3中顯示短文中最長的單詞,程序運行效果如圖所示。(1)要使窗體標題欄上顯示“尋找最長的單詞”,應將窗體的________屬性的值修改為“尋找最長的單詞”。(2)為實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim i As Integer, n As Integer, k As Integer, max As Integer Dim s As String, st As String, ch As String, word As String s = Text1.Text ______①______ k = 0 max = 0 t = “ ” For i = 1 To nch = Mid(s, i, 1)If (ch>= “a” And ch<= “z”) Or (ch>= “A” And ch<= “Z”) Then __________②________ k = k + 1Else If k > max Thenmax = k ________③________ End If st = “ ” ________④________End If Next i Label3.Caption = wordEnd Sub解析 本題主要考查的是關于字符串處理的非選擇題。本題的關鍵之處在于取出每個單詞,然后將當前單詞長度與之前最長的單詞長度比較,記錄最長的單詞。具體方法為:從字符串s中逐一取出字符,若是字母,則拼接在字符串st中,如果不是字母,則表示一個單詞已結束,然后將該單詞的長度k與之前最長單詞長度max比較,將最長單詞記錄在變量Word中,并更新最長單詞的長度max的值。①處代碼表示計算文本框Text1中的字符個數,因此代碼為n = Len(s);②處表示把字母拼接在字符串st中,因此代碼為st=st+ch;③處代碼表示將最長單詞保存在變量word中,因此代碼為word=st;④處代碼表示將單詞長度k清零,為計算下一單詞的長度作準備,因此代碼為k=0。答案 (1)Caption (2)①n = Len(s) ②st = st + ch ③word = st ④k = 04.編“字符串生成”程序,實現如下功能:在文本框Text1中(字符位置)輸入多個正整數 (以“,”為分割符和結束符),單擊“生成”按鈕Command1,程序以這些整數為位置信息,依次從文本框Text2中(字典內容)提取字符并連接成字符串,最后將字符串顯示在標簽Label1中(生成內容)。程序運行界面如下圖所示。(1)要使程序運行時,窗體Form1標題顯示“字符串生成”,可在Form_Load事件過程屮添加語句________(單選,填字母:A.Form1 = “字符串生成” / B.Form1.Text=“字符串生成” / C. Form1.Caption=“字符串生成”)。(2)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim s As String, t As String ,st1 As String, st2 As String, c As String Dim i As Integer, p As Integer, n As Integer s = “ ”: t = “ ” st1 = Text1.Text st2 = Text2.Text n = Len(st1) For i = 1 To n________①________If c = “,” Then p = Val(t) ________②________ t = “ ”Else ________③________End If Next i Label1.Caption = sEnd Sub(3)若文本框Text1中輸入內容的結束符缺失(即輸入內容為1,18,9,9),單擊“生成”按鈕后,標簽Label1中顯示的內容是________。解析 (1)本小題主要考查的是窗體的Caption屬性。(2)①處代碼表示從字符串st1中取出第i個字符,因此,代碼為c=Mid(st1,i,1),也可以寫為c=Mid(Text1.Text,i,1);②處代碼表示從字符串st2中取出p位置上字符,因此,代碼為s=s+Mid(st2,p,1),也可以寫為s=s+Mid(Text2.Text,p,1);③處表示當前正整數還未全部取出,則將當前取前的數字字符拼接在字符串t中,因此代碼為t=t+c。(3)若文本框Text1中輸入內容的結束符缺失,則無法取到最后一個整數,因此在標簽Label1中顯示的內容是pas。答案 (1)C (2)①c = Mid(st1, i, 1)或c = Mid(Text1.Text, i, 1) ②s = s +Mid(st2,p, 1)或s=s+Mid(Text2.Text,p, 1) ③t=t+c(3)pas5.編寫VB程序,實現如下功能:在文本框Text1中輸入某一年份,單擊“天干地支與生肖”按鈕Command1,在列表框List1中輸出該年份開始的12個年份及對應的“天干地支”與“生肖”,運行界面如圖所示,程序代碼如下。(1)代碼“Private Sub Command1_Click()”中的Click是________, List1.AddItem中的List1是________,AddItem是________(單選,填字母:A.對象名稱 / B.屬性名 / C.事件名 / D.方法名)。(2)為實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim a As Integer,b As Integer Dim i As Integer,n As Integer Dim c1 As String,s1 As String Dim c2 As String,s2 As String Dim c3 As String,s3 As String List1,Clear s1=“甲乙丙丁戊己庚辛壬癸” s2=“子丑寅卯辰巳午未申酉戌亥” s3=“鼠牛虎兔龍蛇馬羊猴雞狗豬” n=Val(Text1.Text) For i=n To____①____a=(i+6)Mod 10b=(i+8)Mod 12c1=Mid(s1,a+1,1)c2=Mid(s2,b+1,1)c3=Mid(s3,b+1,1)List1.AddItem____②____+“年”+c1+c2+“ ”+c3 Next iEnd Sub(3)由上述算法可知,2024年對應的“天干地支”為______________。解析 (1)代碼“Private Sub Command1__Click()”中的Click是事件,List1是對象AddItem是方法。(2)要求從輸入年份開始的12個年份及對應的“天干地支”與“生肖”,起始年份為n,從n開始的12個數表示為For i=n To n+11,因此①處代碼為n+11;求出i年份的“天干地支”與“生肖”后,在列表框List1中輸出,因此②處代碼為Str(i)。(3)當n=2024時,a=(2024+6) Mod 10=0,b=(2024+8) Mod 12=4,因此c1=Mid(s1,a+1,1)=“甲”,c2=Mid(s2,b+1,1)=“辰”,故2024年對應的“天干地支”為甲辰。答案 (1)C A D (2)①n+11 ②Str(i)(3)甲辰6.編寫VB程序,實現如下功能:在文本框Text1中輸入一些以空格隔開的單詞,最后一個單詞以“.”結尾,表示輸入完畢,單擊“單詞統計”按鈕Command1,在列表框List1中顯示輸入的各個單詞,在文本框Text2中顯示單詞個數,程序運行效果如下圖所示。(1)要使按鈕上顯示“單詞統計”,可將其__________屬性的屬性值修改為“統計單詞個數”。(2)為實現上述功能,請在劃線處填入合適代碼。Private Sub Command1_Click() Dim i As Integer, n As Integerr, k As Integer Dim word(1 To 100) As String, s As String, st As String, ch As String s = Text1.Text n = Len(s) k = 0 For i = 1 To n ________①________ If ch = “ ” Or ch = “.” Thenk = k + 1 __________②________st = “ ” Else ________③________ End If Next i For i = 1 To k List1.AddItem word(i) Next i Text2.Text = Str(k)End Sub解析 (1)本小題主要考查的是按鈕的Caption屬性。(2)①處代碼表示從字符串s中取出一個字符,因此代碼為ch = Mid(s, i, 1);②處代碼表示當前單詞結束,將其存儲在數組word中,當前單詞是第k個,單詞存儲在字符串變量st中,因此②處代碼為word(k)=st;③處代碼表示當前單詞還未完成,則將當前字符拼接在字符串st中,因此③處代碼為st=st+ch。答案 (1)Caption (2)①ch = Mid(s, i, 1)②word(k)=st ③st=st+ch7.編寫一個批改輸入字母的程序,實現如下功能:隨機生成20個大小寫字母,并顯示在標簽Label2中,在文本框Text1中輸入字母,輸入完畢,單擊“確定并批改”按鈕Command1,在標簽Label4中顯示正確字符數、錯誤字符數及正確率。已知大寫字母“A”的ASCII碼為65,小寫字母“a”的ASCII值為97。程序運行界面如下圖所示。(1)要使窗體的標題顯示為“批改程序”,則應在窗體Form的____屬性中輸入“字母批改程序”。(2)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。Dim s As StringConst n=20Private Sub Command1_Click() Dim i As Integer, right As Integer, rate As Single, wrong As Integer Dim s1 As String s1 = Text1.Text right = 0 For i = 1 To nIf ________①________ Then right = right + 1 Next i ________②________ rate =________③________ Label4.Caption = “正確字符”+Str(right) + “個,錯誤字符” + Str(wrong) + “ 個,正確率:” + Str(rate) + “%”End SubPrivate Sub Form_Load() Dim i As Integer, code As Integer Randomize For i = 1 To ncode = Int(Rnd() * 2 + 1)If code = 1 Then s = s + Chr(Int(Rnd * 26) + 65)Else s = s + Chr(Int(Rnd * 26) + 97)End If Next i Label4.Caption = sEnd Sub解析 本題主要考查的是字符串比較。①處代碼的功能為將輸入的字符與原文對應位置上的字符逐一進行比較,因此,①處代碼為Mid(s1, i, 1) = Mid(s, i, 1);輸入的正確字符為right,總字符數為n(20),則錯誤字符數wrong=20-right,因此②處代碼為wrong=n-right或wrong=20-right;③處代碼是計算正確率rate,由于正確率采用百分比,因此將結果乘以100,即③處代碼為(right/n)*100或(right/20)*100。答案 (1)Caption(2)①Mid(s1,i,1)=Mid(s,i,1) ②wrong=n-right或wrong=20-right ③(right/n)*100或(right/20)*1008.編寫一個VB程序,實現如下功能,在文本框Text1中輸入一串小寫的英文字母,單擊“統計”按鈕Command1,在文本框Text2中輸出字母升序段個數,要求每個升序段中字母數量必須超過三個(如輸入abctefefghk,則滿足條件的升序段序列為abct,efghk,個數為:2),程序運行界面如下圖所示。(1)該程序窗體上共有________個類(填數字)。(2)為實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click()Dim s As StringDim m As Integer, n As Integer, k As Integer, t As Integer, i As Integers = Text1.Textn = Len(s)k = 1: m = 0: t = 0For i = 2 To nIf________①________ Then k = k + 1 t = 0Else t = 1End IfIf k > 3 And ________②__________ Then m = m + 1 k = 1End IfNext iText2.Text = Str(m)End Sub(3)若文本框Text1看輸入內容abgcdefkuvgh1,單擊“統計”按鈕后,文本框Text2中顯示的內容是____________。解析 (1)本小題主要考查的是VB的類。程序界面上共有三個類,分別是文本框、標簽和按鈕。(2)從For循環中i的初值為2可知,當前第i個字符與前面的字符(i-1)進行比較,求升序段個數,因此①處代碼為Mid(s, i, 1)>Mid(s, i-1, 1);t=0時,表示當前字符仍與前面字符構成一個升序段,當t=1時,表示當前字符與前面字符不構成升序段,即當前升序段結束,因此②處代碼為t=1。(3)本小題主要考查的是算法的實際應用。觀察字符串可知,滿足條件的升序段為1個。答案 (1)3 (2)①Mid(s, i, 1)>Mid(s, i-1, 1)②t=1 (3)19.以下程序的功能是從原字符串中刪除指定的字符串。 文本框Text1為原字符串,文本框Text2為待刪除字符,單擊“刪除”按鈕后,在文本框Text3中輸出處理結果,在文本框Text4中輸出刪除字符串次數。程序界面和代碼如下:Private Sub Command1_Click() Dim t1 As String, t2 As String, s As String Dim n1 As Integer, n2 As Integer, i As Integer t1 = Text1.Text t2 = Text2.Text n1 = Len(t1): n2 = Len(t2) i = 1 :m=0 Do While i <= n1 If Mid(t1, i, n2) = t2 Then ________①________ m = m + 1 Elses = s +________②________i = i + 1 End If Loop Text3.Text = s Text4.Text = Str(m)End Sub(1)在VB程序代碼中的“Command1_Click”指的是________。 A.對象名 B.屬性名C.事件名 D.事件處理過程名(2)在程序劃線處應填入的合適代碼。(3)如圖,將待刪字符改為“t”,執行程序后,Text4中輸出值為 ________。解析 (1)本小題主要考查的是事件處理過程。(2)①處代碼表示在原字符串中找到待刪除字符,因此將光標跳至i+n2的位置,然后重新比較,因此①處代碼為i = i + n2;②處表示當前原字符串取出的子串不是待刪子串,則將原字符串中當前位置的字符拼接在字符串s中,因此②中代碼為Mid(t1, i, 1)。答案 (1)D (2)①i = i + n2 ②Mid(t1, i, 1)(3)310.一般使用“點分十進制”的方式來表示IP地址,這種表示方法可描述為:①將IP地址劃分為四組十進制數;②每組數的表示范圍是0~255;③組與組之間用點號“.”隔開。例如 62.163.1.122就是一個合法的IP地址,小明同學據此編寫了IP地址判斷程序,其運行界面如下:實現上述功能的VB程序如下,請回答以下問題:(1)根據程序可知,“IP判斷”按鈕的名稱是________________________。(2)請將程序中的劃線處代碼補充完整。Private Sub butt1_Click() Dim ip As String,s As String, flag As Boolean Dim n As Integer, t As Integer, i As Integer ip = Text1.Text n = 0 flag = True For i = 1 To Len(ip)s = Mid(ip, i, 1)If s < > “.” Then t =________①________Else t = 0 n = n + 1End IfIf ________②________ Then flag = False Exit ForEnd If Next i If flag ThenList1.AddItem ip + “是合法IP。” ElseList1.AddItem ip + “是非法IP。” End IfEnd Sub解析 本題考查的是字符串處理。(1)從程序的事件處理過程名butt1_Click()可知按鈕的名稱為butt1;(2)①根據上下文可知,這里求t的表達式,變量t用于存儲IP中的一組整數,方法為從高位逐個取出數字字符,然后將t擴大10倍后加上當前數字,因此①處代碼為t*10+val(s)。②處判斷IP地址是否合法的條件表達式,根據題意,某組十進制數t>255或者組數超過4組時(3個“.”),為非法IP,這里的n表示“.”的個數,因此②處代碼t>255 Or n>3,也可寫為t>255 Or n>=4。答案 (1)butt1 (2)①t*10+Val(s)②t>255 Or n>3或t>255 Or n>=411.打印圖形。下列VB程序的功能是:根據文本框中輸入的值輸出數字三角形圖形,數字三角形形狀如圖1所示。圖1程序運行時,在文本框Text1中輸入一個整數,單擊“print”按鈕Command1,在列表框List1中顯示數字三角形。程序運行效果如圖2所示。圖2實現上述功能的VB代碼如下,請在程序劃線處填入合適的代碼。Private Sub Command1_Click() Dim n As Integer, i As Integer, j As Integer Dim s As String n = Val(Text1.Text) For i = 1 To 2 * n - 1If ________①________ Then s = “ ” For j = 1 To i ________②________ Next j List1.AddItem sElse s = “ ” For j = 1 To ________③________ s = s + Str(j) Next j List1.AddItem sEnd If Next iEnd Sub解析 外循環控制圖形的行數,內循環控制每行的字符情況,圖形共有2*n-1行組成。圖形分為上三角形和下三角形兩部分進行,第1行至第n行,第i行輸出i個字符(1~i),第n+1行至第2*n-1行,第i行輸出2*n-i個字符。答案 ①i <= n ②s=s+Str(j) ③2 * n - i12.簡化的VB詞頻統計程序。程序功能為:在文本框Text1中輸入一篇英文文章,在文本框Text2中輸入一個英文單詞,單擊“查找”按鈕Command1后,在文本框Text3中顯示這個英文單詞出現的次數。程序運行界面如圖所示。查找的英文單詞由連續的ASCII英文字符(a~z或A~Z)組成。組合詞程序會進行分解,如river-small可拆分為2個單詞river和small。查找的英文單詞不區分大小寫。實現上述功能的VB程序如下,但程序加框處語句有錯,請改正。Private Sub Command1_Click() Dim article As String, f As String, count As Integer Dim i As Integer, begin As Integer, s As String article = Text1.Text f = Text2.Text count = 0 begin = 1 For i = 1 To Len(article)t = Mid(article, i, 1)If Not (t >= “A” And t <= “Z” Or t >= “a” And t <= “z”) Then If i> begin Then s = ′(1) If LowerCase(f) = LowerCase(s) Then count = count + 1 End If begin = i + 1End If Next i Text3.Text = “出現次數為:” + Str(count) + “次”End SubFunction LowerCase(word As String) As String Dim i As Integer, c As String For i = 1 To Len(word) c = Mid(word, i, 1) ′小寫英文字母的ASCII碼值比大寫字母的值大32 If c >= “A” And c <= “Z” Then c = ′(2) LowerCase = LowerCase + c Next iEnd Function程序中加框(1)處應改正為_____________________________________________;加框(2)處應改正為_________________________________________________。解析 (1)處代碼表示從文章中取出一個單詞,并將單詞字母全部轉換為小寫字母與查找單詞比較,如果相等,則進行計數,因此(1)處代碼應改為Mid(article, begin, i - begin);(2)自定義函數LowerCase的功能是將單詞中的字母全部轉化為小寫字母,大寫字母C轉為小寫字母c的方法為:首先將求出大寫字母C的Ascii碼值(ASC(c)),然后加上32后轉換為字符(Chr(Asc(c)+32)),即為對應的小寫字母,因此(2)處代碼應改為Chr(Asc(c) + 32)。答案 (1)Mid(article, begin, i - begin) (2)Chr(Asc(c) + 32)專項測試三 字符串處理1.性別識別。程序運行時,在文本框Text1中輸入18位的身份證號,單擊Command1按鈕,在標簽Label1中顯示其性別。判斷方法為:判斷身份證號中第17位上的數字,若是奇數則表示男性,偶數則表示女性。程序運行界面如下圖所示。為實現上述功能,在劃線處填入合適的語句。Private Sub Command1_Click() Dim x As String, y As String,n As Integer x = Text1.Text ______①______ If n mod 2 = 1 Then y = “男” Else y = “女” End If ______②______End Sub2.下面VB程序的功能是:在左邊列表框List1中選擇一個車牌,單擊“判斷”按鈕Command1,根據該車牌最后一位數字進行限行判斷(若為偶數則奇數日期限行,奇數則偶數日期限行),并將判斷結果顯示在文本框Text2中。程序運行界面如下圖所示。為了實現上述功能,請在劃線處填入合適的代碼。Private Sub______①______′單擊List1,將列表框中選中的內容顯示在Text1中 Text1.Text = List1.List(List1.ListIndex) ′將當前選中的List1的內容顯示在Text1中 Text2.Text = “ ”End SubPrivate Sub Command1_Click( ) Dim i As Integer,cp As String, c As String cp = Text1.Text For i = ______②______ To 4 Step -1 c = Mid(cp, i, 1) If c >= “0” And c <= “9” Then ′若c是數字字符,則記錄該數字 If Val(c) mod 2=1 Then Text2.Text = “偶數日期限行” Else Text2.Text = “奇數日期限行” ______③______ Exit For ′退出循環End If Next i End Sub3.編寫VB程序,實現如下功能:在文本框Text1中輸入英語短文(短文中只包含大小字母、空格和標點符號),并以“.”表示短文輸入結束,單擊“查找”按鈕Command1,在標簽Label3中顯示短文中最長的單詞,程序運行效果如圖所示。(1)要使窗體標題欄上顯示“尋找最長的單詞”,應將窗體的________屬性的值修改為“尋找最長的單詞”。(2)為實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim i As Integer, n As Integer, k As Integer, max As Integer Dim s As String, st As String, ch As String, word As String s = Text1.Text ______①______ k = 0 max = 0 t = “ ” For i = 1 To nch = Mid(s, i, 1)If (ch>= “a” And ch<= “z”) Or (ch>= “A” And ch<= “Z”) Then __________②________ k = k + 1Else If k > max Thenmax = k ________③________ End If st = “ ” ________④________End If Next i Label3.Caption = wordEnd Sub4.編“字符串生成”程序,實現如下功能:在文本框Text1中(字符位置)輸入多個正整數 (以“,”為分割符和結束符),單擊“生成”按鈕Command1,程序以這些整數為位置信息,依次從文本框Text2中(字典內容)提取字符并連接成字符串,最后將字符串顯示在標簽Label1中(生成內容)。程序運行界面如下圖所示。(1)要使程序運行時,窗體Form1標題顯示“字符串生成”,可在Form_Load事件過程屮添加語句________(單選,填字母:A.Form1 = “字符串生成” / B.Form1.Text=“字符串生成” / C. Form1.Caption=“字符串生成”)。(2)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim s As String, t As String ,st1 As String, st2 As String, c As String Dim i As Integer, p As Integer, n As Integer s = “ ”: t = “ ” st1 = Text1.Text st2 = Text2.Text n = Len(st1) For i = 1 To n________①________If c = “,” Then p = Val(t) ________②________ t = “ ”Else ________③________End If Next i Label1.Caption = sEnd Sub(3)若文本框Text1中輸入內容的結束符缺失(即輸入內容為1,18,9,9),單擊“生成”按鈕后,標簽Label1中顯示的內容是________。5.編寫VB程序,實現如下功能:在文本框Text1中輸入某一年份,單擊“天干地支與生肖”按鈕Command1,在列表框List1中輸出該年份開始的12個年份及對應的“天干地支”與“生肖”,運行界面如圖所示,程序代碼如下。(1)代碼“Private Sub Command1_Click()”中的Click是________, List1.AddItem中的List1是________,AddItem是________(單選,填字母:A.對象名稱 / B.屬性名 / C.事件名 / D.方法名)。(2)為實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click() Dim a As Integer,b As Integer Dim i As Integer,n As Integer Dim c1 As String,s1 As String Dim c2 As String,s2 As String Dim c3 As String,s3 As String List1,Clear s1=“甲乙丙丁戊己庚辛壬癸” s2=“子丑寅卯辰巳午未申酉戌亥” s3=“鼠牛虎兔龍蛇馬羊猴雞狗豬” n=Val(Text1.Text) For i=n To____①____a=(i+6)Mod 10b=(i+8)Mod 12c1=Mid(s1,a+1,1)c2=Mid(s2,b+1,1)c3=Mid(s3,b+1,1)List1.AddItem____②____+“年”+c1+c2+“ ”+c3 Next iEnd Sub(3)由上述算法可知,2024年對應的“天干地支”為______________。6.編寫VB程序,實現如下功能:在文本框Text1中輸入一些以空格隔開的單詞,最后一個單詞以“.”結尾,表示輸入完畢,單擊“單詞統計”按鈕Command1,在列表框List1中顯示輸入的各個單詞,在文本框Text2中顯示單詞個數,程序運行效果如下圖所示。(1)要使按鈕上顯示“單詞統計”,可將其__________屬性的屬性值修改為“統計單詞個數”。(2)為實現上述功能,請在劃線處填入合適代碼。Private Sub Command1_Click() Dim i As Integer, n As Integerr, k As Integer Dim word(1 To 100) As String, s As String, st As String, ch As String s = Text1.Text n = Len(s) k = 0 For i = 1 To n ________①________ If ch = “ ” Or ch = “.” Thenk = k + 1 __________②________st = “ ” Else ________③________ End If Next i For i = 1 To k List1.AddItem word(i) Next i Text2.Text = Str(k)End Sub7.編寫一個批改輸入字母的程序,實現如下功能:隨機生成20個大小寫字母,并顯示在標簽Label2中,在文本框Text1中輸入字母,輸入完畢,單擊“確定并批改”按鈕Command1,在標簽Label4中顯示正確字符數、錯誤字符數及正確率。已知大寫字母“A”的ASCII碼為65,小寫字母“a”的ASCII值為97。程序運行界面如下圖所示。(1)要使窗體的標題顯示為“批改程序”,則應在窗體Form的____屬性中輸入“字母批改程序”。(2)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。Dim s As StringConst n=20Private Sub Command1_Click() Dim i As Integer, right As Integer, rate As Single, wrong As Integer Dim s1 As String s1 = Text1.Text right = 0 For i = 1 To nIf ________①________ Then right = right + 1 Next i ________②________ rate =________③________ Label4.Caption = “正確字符”+Str(right) + “個,錯誤字符” + Str(wrong) + “ 個,正確率:” + Str(rate) + “%”End SubPrivate Sub Form_Load() Dim i As Integer, code As Integer Randomize For i = 1 To ncode = Int(Rnd() * 2 + 1)If code = 1 Then s = s + Chr(Int(Rnd * 26) + 65)Else s = s + Chr(Int(Rnd * 26) + 97)End If Next i Label4.Caption = sEnd Sub8.編寫一個VB程序,實現如下功能,在文本框Text1中輸入一串小寫的英文字母,單擊“統計”按鈕Command1,在文本框Text2中輸出字母升序段個數,要求每個升序段中字母數量必須超過三個(如輸入abctefefghk,則滿足條件的升序段序列為abct,efghk,個數為:2),程序運行界面如下圖所示。(1)該程序窗體上共有________個類(填數字)。(2)為實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click()Dim s As StringDim m As Integer, n As Integer, k As Integer, t As Integer, i As Integers = Text1.Textn = Len(s)k = 1: m = 0: t = 0For i = 2 To nIf________①________ Then k = k + 1 t = 0Else t = 1End IfIf k > 3 And ________②__________ Then m = m + 1 k = 1End IfNext iText2.Text = Str(m)End Sub(3)若文本框Text1看輸入內容abgcdefkuvgh1,單擊“統計”按鈕后,文本框Text2中顯示的內容是____________。9.以下程序的功能是從原字符串中刪除指定的字符串。 文本框Text1為原字符串,文本框Text2為待刪除字符,單擊“刪除”按鈕后,在文本框Text3中輸出處理結果,在文本框Text4中輸出刪除字符串次數。程序界面和代碼如下:Private Sub Command1_Click() Dim t1 As String, t2 As String, s As String Dim n1 As Integer, n2 As Integer, i As Integer t1 = Text1.Text t2 = Text2.Text n1 = Len(t1): n2 = Len(t2) i = 1 :m=0 Do While i <= n1 If Mid(t1, i, n2) = t2 Then ________①________ m = m + 1 Elses = s +________②________i = i + 1 End If Loop Text3.Text = s Text4.Text = Str(m)End Sub(1)在VB程序代碼中的“Command1_Click”指的是________。 A.對象名 B.屬性名C.事件名 D.事件處理過程名(2)在程序劃線處應填入的合適代碼。(3)如圖,將待刪字符改為“t”,執行程序后,Text4中輸出值為 ________。10.一般使用“點分十進制”的方式來表示IP地址,這種表示方法可描述為:①將IP地址劃分為四組十進制數;②每組數的表示范圍是0~255;③組與組之間用點號“.”隔開。例如 62.163.1.122就是一個合法的IP地址,小明同學據此編寫了IP地址判斷程序,其運行界面如下:實現上述功能的VB程序如下,請回答以下問題:(1)根據程序可知,“IP判斷”按鈕的名稱是________________________。(2)請將程序中的劃線處代碼補充完整。Private Sub butt1_Click() Dim ip As String,s As String, flag As Boolean Dim n As Integer, t As Integer, i As Integer ip = Text1.Text n = 0 flag = True For i = 1 To Len(ip)s = Mid(ip, i, 1)If s < > “.” Then t =________①________Else t = 0 n = n + 1End IfIf ________②________ Then flag = False Exit ForEnd If Next i If flag ThenList1.AddItem ip + “是合法IP。” ElseList1.AddItem ip + “是非法IP。” End IfEnd Sub11.打印圖形。下列VB程序的功能是:根據文本框中輸入的值輸出數字三角形圖形,數字三角形形狀如圖1所示。圖1程序運行時,在文本框Text1中輸入一個整數,單擊“print”按鈕Command1,在列表框List1中顯示數字三角形。程序運行效果如圖2所示。圖2實現上述功能的VB代碼如下,請在程序劃線處填入合適的代碼。Private Sub Command1_Click() Dim n As Integer, i As Integer, j As Integer Dim s As String n = Val(Text1.Text) For i = 1 To 2 * n - 1If ________①________ Then s = “ ” For j = 1 To i ________②________ Next j List1.AddItem sElse s = “ ” For j = 1 To ________③________ s = s + Str(j) Next j List1.AddItem sEnd If Next iEnd Sub12.簡化的VB詞頻統計程序。程序功能為:在文本框Text1中輸入一篇英文文章,在文本框Text2中輸入一個英文單詞,單擊“查找”按鈕Command1后,在文本框Text3中顯示這個英文單詞出現的次數。程序運行界面如圖所示。查找的英文單詞由連續的ASCII英文字符(a~z或A~Z)組成。組合詞程序會進行分解,如river-small可拆分為2個單詞river和small。查找的英文單詞不區分大小寫。實現上述功能的VB程序如下,但程序加框處語句有錯,請改正。Private Sub Command1_Click() Dim article As String, f As String, count As Integer Dim i As Integer, begin As Integer, s As String article = Text1.Text f = Text2.Text count = 0 begin = 1 For i = 1 To Len(article)t = Mid(article, i, 1)If Not (t >= “A” And t <= “Z” Or t >= “a” And t <= “z”) Then If i> begin Then s = ′(1) If LowerCase(f) = LowerCase(s) Then count = count + 1 End If begin = i + 1End If Next i Text3.Text = “出現次數為:” + Str(count) + “次”End SubFunction LowerCase(word As String) As String Dim i As Integer, c As String For i = 1 To Len(word) c = Mid(word, i, 1) ′小寫英文字母的ASCII碼值比大寫字母的值大32 If c >= “A” And c <= “Z” Then c = ′(2) LowerCase = LowerCase + c Next iEnd Function程序中加框(1)處應改正為_____________________________________________;加框(2)處應改正為_________________________________________________。 展開更多...... 收起↑ 資源列表 專項測試三 字符串處理.doc 專項測試三 字符串處理原卷版.doc 縮略圖、資源來源于二一教育資源庫