




已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)字和字符處理題型分析(2)執(zhí)行下面的程序,單擊窗體后在窗體上顯示的第一行結(jié)果是1,第三行結(jié)果是_2_。Private Sub Command1_Click()Dim Mystr, MyStr1, Mystr2 As StringMyStr1 = BFor i = 1 To 3Mystr2 = LCase(MyStr1)MyStr1 = MyStr1 & Mystr2Mystr = Mystr & MyStr1Print MystrMyStr1 = Chr(Asc(MyStr1)+ i)Next iEnd SubiMyStr1MyStr2MyStr打印B1BbbBbBbC2CccEBbCcBbCc3EeeBbCcEeBbCcEe答案:(1)Bb(2)BbCcEe分析:Asc()函數(shù)只取第一個(gè)字符的數(shù)值。7.下面是一個(gè)加密/解密程序,加密的算法是:將原文中每個(gè)字符的ASCII代碼加上該字符在原文中的位置數(shù)(設(shè)字符在原文中是第n個(gè)字符,在其位置是n被10除的余數(shù),當(dāng)余數(shù)為0時(shí),其位置數(shù)為10。例如原文字符串為“meet me at sunset”,第一個(gè)字符“m”,其位置數(shù)為1,而“s”為第12個(gè)字符,其位置數(shù)是被10除的余數(shù)2,其余依次類推)作為密文字符的代碼,再將密碼字符逆序排列(例如ABCD,逆序排列為DCBA)即為密文。解密算法是加密算法的逆運(yùn)算。Option ExplicitPrivate Sub Command1_Click() 加密 Dim enc As String, dec As String, i As Integer Dim s As String * 1, n As Integer dec = Text1 For i = 1 To Len(dec) s = Mid(dec, i, 1) (19) If n = 0 Then n = 10 enc = Chr(Asc(s) + n) & enc Next i Text2 = encEnd SubPrivate Sub Command2_Click() 解密 Dim enc As String, dec As String, i As Integer Dim n As Integer, s As String * 1, p As Integer enc = Text2 (20) For i = 1 To n s = Mid(enc, i, 1) p = n Mod 10 If p = 0 Then p = 10 dec = (21) n = n - 1 Next i Text1 = decEnd Sub答案:n = i Mod 10n = Len(enc)Chr(Asc(s) - p) & dec(4)運(yùn)行下面的程序,單擊窗體后在窗體上顯示的第一行結(jié)果是1,第三行結(jié)果是2。Private Sub Form_Click()Dim mst As String, mst1 As String, mst2 As StringDim i As Integermst1 = CeBbAaFor i = Len(mst1) To 1 Step -2mst2 = Mid(mst1, i - 1, 2)mst = mst & mst2Print mstNext iEnd Submst1mst2msti打印CeBbAaAaAa6AaBbAaBb4AaBbCcAaBbc2AaBbc答案:(8)Aa(9)AaBbCe分析:Mid()函數(shù)的操作方式是從后向前取字符。(2)執(zhí)行下面程序,第二行輸出結(jié)果是1,第三行輸出結(jié)果是2。Private Sub Form_Click()Dim ch As String, i As Integerch = ABCFor i = 1 To 3ch = Mid(ch, 2 * i - 1, 1)+ Left(ch, Len(ch)Print chNext iEnd Subchi打印ABC1Mid(ABC,1,1)+Left(ABC,3)A”+”ABCAABCAABC2Mid(AABC,3,1)+Left(AABC,4)B+AABCBAABCBAABC3Mid(BAABC,5,1)+Left(BAABC,5)C+BAABCCBAABCCBAABC答案:(1)BAABC(2)CBAABC35. 執(zhí)行下面的程序,單擊窗體后在窗體上顯示的結(jié)果是_35_。Private Sub Form_Click() Dim Str1 As String, Str2 As String Dim Str3 As String, I As Integer Str1=e For I=1 To 2 Str2=UCase(Str1) Str1=Str2 & Str1 Str3=Str3 & Str1 Str1=Chr(Asc(Str1)+I) Next I Print Str3End SubIStr1Str2Str3打印1eEEeEe2FFEeFFFFHEeFF(A)EeFF(B)eEFF(C)EEFF(D)eeFF答案:A分析:35. 在窗體Form1上,有一個(gè)列表框控件List1,在窗體的Click事件中有如下代碼:Private Sub Form_Click()Dim k As IntegerDim entry As String, item As Stringentry=EDCBAFor k=Len(entry)To 1 Step -1item=LCase(Mid(entry,k,1) & kList1.AddItem itemNext kEnd Sub運(yùn)行此程序,單擊窗體后在窗體的列表框中顯示的第四個(gè)列表項(xiàng)內(nèi)容是_35_。(A)b4(B)b2(C)d4(D)d2答案:D分析:Kentryitem添加5EDCBAa5a54b4b43c3c32d2d21e1e11. 執(zhí)行下面的程序,在窗體上顯示的輸出結(jié)果的第一行是_this is a book._,第二行結(jié)果是_This Is A Book._。Option ExplicitPrivate Sub Form_Click()Dim s As String, i As Integer, flag As Booleans = THIS IS A BOOK.s = LCase(s)Print sflag = TrueFor i = 1 To Len(s)If Mid(s, i, 1)= Thenflag = TrueElseIf flag Thens = Left(s, i - 1) & UCase(Mid(s, i, 1) & Right(s, Len(s)- i)flag = FalseEnd IfNext iPrint sEnd Subsiflag打印THIS IS A BOOK.1Truethis is a book.this is a book.This is a book.False5TrueThis Is a book.6False8TrueThis Is A book.9False10TrueThis Is A Book.11FalseThis Is A Book.分析:用flag來控制進(jìn)程的走向,4. 執(zhí)行下面的程序,圖片框第一行內(nèi)容是 CBA ,圖片框第二行內(nèi)容是 ABC 。Option ExplicitPrivate Sub Command1_Click()Dim S As StringS = ABCBack SPicture1.PrintPicture1.Print SEnd SubPrivate Sub Back(St As String)If Len(St) 1 ThenBack(Right(St, Len(St)- 1)End IfPicture1.Print Left(St, 1);End SubSt層次打印ABC一BC二C三CBC二CBABC一CBA0ABC分析:這是遞歸過程。3執(zhí)行下面的程序,單擊窗體上的按鈕,則在窗體上顯示的第一行是(4),第二行是(5),第三行是(6)。Private Sub Command1_Click()Dim s As String, t As StringDim k As Integer, m As Integers = BASICYk = 1: m = kFor k = 1 To Len(s) Step m + 1t = t & Chr(Asc(Mid(s, m, 1)+ k)k = k + 1If Mid(s, k, 1)= Y Then Exit Form = m + kPrint tNext kPrint mEnd Substkm打印BASICYC11C21+2=3CW43+5=8CW78答案:(4)C(5)CW(6)8分析:要記住Chr(65)A,Chr(97)a。Chr(x)返回以x為ASCII代碼值的字符, Asc(x)為求單個(gè)字符ASCII代碼函數(shù),Mid(x,n1,n2)從x字符串左邊第n1個(gè)位置開始向右起取n2個(gè)字符。注意:循環(huán)變量k在循環(huán)體參與了運(yùn)算,實(shí)際步長為3。變量m的賦值過程為1、3、8。2運(yùn)行下面的程序,當(dāng)單擊窗體時(shí),文本框Text1中的內(nèi)容是(2),文本框Text2中的內(nèi)容是(3)。Private Sub Form_Click()Dim St0 As StringDim St1 As String, St2 As StringSt0 = ASFRSDCFRSKXCall Change_String(St0, St1, St2)Text1.Text = St1Text2.Text = St2End SubPrivate Sub Change_String(S As String, St1 As String, St2 As String)Dim tem As String, i As IntegerFor i = 1 To Len(S)112,實(shí)際上只循環(huán)了4次,讀到“R”就退出了 tem = Mid(S, i, 1)讀取一個(gè)字符, A、S、F、R、S、If tem = S ThenSt2 = St2 & atElseIf tem = R ThenSt1 = St1 & TExit ForElseSt1 = St1 & temSt2 = St2 & temEnd IfNext iEnd Sub答案:iStemSt1St21ASFRSDCFRSKXAAA2SA & atAat3FA & FAFAat & FAatF4RAF & TAFT(2)AFT(3)AatF分析:Mid(x,n1,n2)從x字符串左邊第n1個(gè)位置開始向右起取n2個(gè)字符。過程Change_String的功能是,將字符串St中的“S”置換為“at”,“R”置換為“T”,并退出For循環(huán)。3執(zhí)行下面程序,單擊命令按鈕Command1,則在窗體上顯示的第一行是(4),第二行是(5),第三行是(6)。Private Sub Command1_Click()Dim s_data As Integer, d_data As String, k As Integer, p As Strings_data = 29Do Until s_data = 0 And st = 9 Then p = p & st Else If p Then List1.AddItem p p = End If Next i If p Then List1.AddItem p ReDim num(List1.ListCount) For i = 1 To UBound(num) p = List1.List(i - 1) num(i) = Val(Left(p, Len(p) - 1) n = Val(Right(p, 1) List2.AddItem change(num(i), n) Next iEnd SubPrivate Function change(x As Integer, y As Integer) As Integer Dim p As Integer, k As Integer Do p = x Mod 10 change = change + p * y k x = x 10 k = k + 1 Loop Until x 0j = j + 1j記錄有幾組4位的十進(jìn)制n=num Mod 10用n取num的個(gè)位數(shù)s=cover(n) & s用cover函數(shù)求n的二進(jìn)制數(shù),用s連接起來_ _去掉num的個(gè)位數(shù)num=num 10LoopFor i=1 To 4-j如果j小于4就在前面加0000s=0000& sNext iText1.Text=十進(jìn)制數(shù) & CStr(M) & 的轉(zhuǎn)換結(jié)果是: & sEnd SubPrivate Function cover(ByVal n As Integer)As StringDim i As Integer, s As String, k As IntegerDo Until n1_ _取n除2的余數(shù),這是十進(jìn)制轉(zhuǎn)變成二進(jìn)制的方法k=n Mod 2s= CStr(k) & s用s將二進(jìn)制數(shù)連接起來n=n 2LoopIf Len(s)4 Then如果二進(jìn)制數(shù)不夠4位,在左邊加0000s=0000 & Scover=_ _只取右邊的4位,截去多余的0。right(s,4)Elsecover=sEnd IfEnd Function7下面程序的功能是將以“12;3;15”形式輸入的字符串分解為數(shù)字12、3、15,分別賦給3個(gè)數(shù)組元素,并對其進(jìn)行簡單運(yùn)算(圖2為本程序執(zhí)行畫面)。圖2Private Sub Command1_Click()Dim a(3)As Integer, i As Integer, n As IntegerDim s As Strings = Text1.TextFor i = 1 To 2n = (16) n記錄“;”的位置InStr(s, ;)或Mid(s, n + 1, Len(s)-n)a(i)= Left(s, n - 1)將“;”左邊的字符記錄給a(1)和a(2)s = (17) 將“;”右邊的字符記錄給s。Mid(s, n + 1, Len(s)-n)Next i(18) 將最右邊的字符(數(shù))賦值給a(3)。A(3)= Val( s )Text2.Text = a(1)* a(2)+ a(3)End Sub答案:(16)InStr(s, ;)(17)Mid(s, n + 1, n + 1)或Mid(s, n + 1, Len(s)-n)(18) A(3)= Val( s )分析:Mid(x,n1,n2)從x字符串左邊第n1個(gè)位置開始向右起取n2個(gè)字符,Left(x,n)從x字符串左邊起取n個(gè)字符。本題的難點(diǎn)是如何利用字符串函數(shù)從字符串中分離出數(shù)字的字符串。8本程序是找零巧數(shù)。所謂零巧數(shù)是具有下述特性的四位正整數(shù):其百位數(shù)為0,如果去掉0,得到一個(gè)三位正整數(shù),而該正整數(shù)乘以9,等于原數(shù)。例如20252259,所以2025是零巧數(shù)(如圖3所示)。圖3Private Function Change(s As String)As StringDim p As String, i As IntegerFor i = 1 To Len(s)If i 2 Thenp = (19) 用Mid函數(shù)逐個(gè)讀取s中的字符,i=2除外。p & Mid(s, i, 1)End IfNext iChange = pEnd FunctionPrivate Sub Command1_Click()Dim i As Integer, s As StringFor i = 1000 To 9999(20) 將i轉(zhuǎn)變成字符串s,s = CStr(i)If Mid(s, 2, 1)= 0 Then判別s的百位是否為“0”。If Val(Change(s)* 9 = i Then將去掉百位數(shù)為“0”的數(shù)乘9是否等于i(21)按圖例中的格式添加到列表框中List1.AddItem CStr(i)+ = +Change(s)+ *9End IfEnd IfNext iEnd Sub答案:(19)p + Mid(s, i, 1)(20)s = CStr(i)(21)List1.AddItem CStr(i)+ = +Change(s)+ *9分析:Mid(x,n1,n2)從x字符串左邊第n1個(gè)位置開始向右起取n2個(gè)字符,CStr(n)將一數(shù)值n轉(zhuǎn)換成第一位非空字符的字符串型。過程Change的功能是將字符串s左邊第二個(gè)“0”字符剔除掉,重新組成新字符串p返回。選擇(21)要根據(jù)圖3的內(nèi)容來確定。8下面的程序可從一個(gè)由字母與數(shù)字相混的字符串中選出數(shù)字串,并把數(shù)字串構(gòu)成的數(shù)寫入一個(gè)名為List1的列表框中(圖1是程序執(zhí)行的畫面)。圖1 運(yùn)行界面Option ExplicitPrivate Sub Cmd1_Click()Dim s As String, k As Integer, c()As StringDim p As String, i As Integers = Text1.Text(19) k記錄數(shù)據(jù)段的個(gè)數(shù)k = 1For i = 1 To Len(s)If Mid(s, i, 1)= 0 And Mid(s, i, 1)= 0 And Mid(s, i + 1, 1)= 9 And i 1 Then 下一個(gè)字符是否為字母If p Then如果p不為空的話,即其中還有內(nèi)容(21) 增加一個(gè)數(shù)組ReDim Preserve c(k),下列句子有提示c(k)= p數(shù)值記錄到數(shù)組k = k + 1(22) 清空p的內(nèi)容p = End IfEnd IfNext iReDim Preserve c(k)c(k)= pFor i = 1 To k(23) 將數(shù)組的內(nèi)容逐個(gè)添加到列表框內(nèi)List1.AddItem c(i)Next iEnd Sub答案:(19)k = 1(20)p & Mid(s, i, 1)(21)ReDim Preserve c(k)(22)p = (23)List1.AddItem c(i)分析:由于在Dim s()時(shí)沒有定義數(shù)組的大小,所以在過程中一定要用ReDim重新定義數(shù)組。變量k為數(shù)組的大小數(shù),變量p為單個(gè)數(shù)字的字符串,數(shù)組c被賦予各數(shù)字的字符串。AddItem的功能是向列表框添入一項(xiàng)數(shù)據(jù)。8.以下是一個(gè)加密程序,其中r1與r2是兩個(gè)密鑰表,分別對應(yīng)字母az及空格。加密方法是從原文的字符串中取一個(gè)字符,再根據(jù)該字符在原文中的排位次序是奇數(shù)還是偶數(shù),分別從r1或r2密鑰表中查出相應(yīng)的替代字符。如原文為“meet me at sunset”,其首字符為m,排位為1,則使用密鑰表r1,由于在字母表中m為第13個(gè)字符,而r1中對應(yīng)字符為t,故將m替換成t。其余類推。原文中如包含大寫字母,則應(yīng)先全部轉(zhuǎn)換為小寫字母。Const r1 As String * 27 = qzawsxedcrfvtgbyhnujm ikolp Const r2 As String * 27 = poi uytrewqasdfghjklmnbvcxzPrivate Sub Command1_Click()Dim I As Integer, code As String, s As String * 1Dim n As Integer, decode As Stringcode =【23】 讀取Text1中的內(nèi)容Text1.textFor i = 1 To Len( code )s = Mid( code , i , 1 )讀取一個(gè)字符賦值給sIf s then字符是否為空格,不是空格【24】n記錄字符在字母表的序號,例如“b”為2。n=Asc(s)- 96If i Mod 20 then判斷奇偶數(shù)Decode = decode & Mid( r1,n,1 )Else【25】參照上一句decode = decode &Mid(r2,n,1)End IfElse是空格If i Mod 20 then奇數(shù)【26】參照下一句,第27個(gè)字符為空格Else偶數(shù)Decode = decode & Mid( r2, 27, 1 )第27個(gè)字符為空格End IfEnd IfNext iText2 = decodeEnd Sub答案:【23】Text1.text答案:【24】n=Asc(s)- 96答案:【25】decode = decode &Mid(r2,n,1)答案:【26】decode = decode & Mid(r1,27,1)7.本程序是一個(gè)采用矩陣變換對西文進(jìn)行加密的程序。取大于或等于原文長度的最小平方數(shù)n2,構(gòu)造一個(gè)nn的矩陣,將原文中的字符逐個(gè)按行寫入該矩陣,多余的矩陣元素則寫入空格字符,再按列讀出此矩陣,即為密文。程序界面參見圖1。(2004.9)圖1Option ExplicitPrivate Sub Command1_Click()Dim msg As Stringmsg = Text1Text2 = encode(msg)返回字符串,顯示在Text2中End SubPrivate Function sr(n As Integer) As IntegerDim k As Integerk = nk為矩陣大小kn為字符串長度DoIf (18) Thenk是否能整數(shù)開方 sqr(k)=Int(sqr(k) sr = Sqr(k): Exit DoElse(19)k加1 kk+1End IfLoopEnd FunctionPrivate Function encode(ore As String) As StringDim n1 As Integer, n2 As Integer, m() As String * 1Dim i As Integer, j As Integer, k As Integern1 = Len(ore)n2 = sr(n1)n2為矩陣的大小k = 1(20)重新定義數(shù)組的大小ReDim m(n2,n2)For i = 1 To n2For j = 1 To n2If k 1 And Len(p) Len(sta) Thensta = _ sta是上一次的最長的字符串。pEnd If_下一組的開頭一個(gè)字符。p = Mid(st, i + 1, 1)End IfNext iIf Len(p) 1 And Len(p) Len(sta)Then_p為最長的字符串max_st pElsemax_st = sta否則上一組字符串為最長End IfEnd Function答案:p & Mid(st, i + 1, 1) pp = Mid(st, i + 1, 1)max_st = p8下面程序的功能是找出由兩個(gè)不同的數(shù)字組成的回文平方數(shù)。程序界面參見圖 2 。圖2Option ExplicitPrivate Sub Command1_Click()Dim a(0 To 9) As Integer, i As Long, flg As BooleanDim L As Long, j As Integer, sum As IntegerFor i = 10 To 1000L = I * I_清除數(shù)組a的內(nèi)容,Erase aCall _調(diào)用函數(shù)sun1,參照形參的內(nèi)容,L,a,flg。 sub1(L), a, flg)If flg Thenflg是實(shí)參返回的值For j = 0 To 9sum = sum + a(j)統(tǒng)計(jì)數(shù)組中有幾個(gè)1Next jIf sum = 2 Then如果有2個(gè)1,就滿足條件,否則不滿足條件List1.AddItem CStr(i) & 2= & S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《過期及回收食品處理與管理制度研究》
- 場景驅(qū)動下的智能公共交通革新
- 數(shù)字化轉(zhuǎn)型時(shí)代紡織服裝企業(yè)的營銷策略研究
- 評估煤礦采礦工程中智能化設(shè)備的應(yīng)用現(xiàn)狀與發(fā)展趨勢
- 學(xué)生能力本位的課業(yè)改革模式構(gòu)建與實(shí)施研究
- 圖像盜版與文字再現(xiàn):數(shù)字時(shí)代的版權(quán)問題
- 特性表征學(xué)習(xí)與展現(xiàn)研究
- 景區(qū)服務(wù)與管理人員崗位面試問題及答案
- 礦物加工技術(shù)人員崗位面試問題及答案
- 照片課件制作
- GB/T 12008.7-2025塑料聚氨酯生產(chǎn)用聚醚多元醇第7部分:堿性物質(zhì)含量的測定
- 重癥肌無力小講課
- Unit 3 Family ties Understanding ideas (1)教學(xué)設(shè)計(jì) -2024-2025學(xué)年外研版(2024)七年級英語上冊
- 建筑企業(yè)財(cái)務(wù)管理的風(fēng)險(xiǎn)控制與應(yīng)對策略
- 基礎(chǔ)會計(jì)試題及答案
- 基于法律法規(guī)的網(wǎng)絡(luò)輿情風(fēng)險(xiǎn)評估模型-全面剖析
- 2025高考英語全國II卷試題分析及備考策略指導(dǎo)課件
- 2025年高考語文備考之名著閱讀《鄉(xiāng)土中國》第四章《差序格局》內(nèi)容概述及跟蹤訓(xùn)練(含答案)
- 金融衍生品市場風(fēng)險(xiǎn)監(jiān)測指標(biāo)-深度研究
- 幼兒園 入園申請書
- 2024年湖北高中學(xué)業(yè)水平合格性考試生物試卷真題(含答案詳解)
評論
0/150
提交評論