資源簡介 葫蘆島市龍港區多校2023-2024學年高一下學期7月期末考試信息技術試卷考試時間:75分鐘 滿分100分一、選擇題(共40題,每題2分,共80分)1.下表記錄了6個數據的排序過程。分析表中數據可知,該排序采用的算法與排序方式分別為( )A.冒泡排序,降序 B.選擇排序,降序C.冒泡排序,升序 D.選擇排序,升序2.某算法的流程圖如圖所示,執行該算法,輸出的值為( )A.2 B.6 C.8 D.193.在 Visual Basic中,若x表示能被5整除的正整數,則下列邏輯表達式的值一定為真的是( )。A.x/5=0 B.x Mod 5=0 C.Int(x/5)=0 D.5 Mod x=04.有如下VB程序段:For i=1 To 9For j=10 To i+2 Step-1If a(j)t=a(j):8(j)=a(j-2):a (j-2)=tEnd IfNext jNext i數組元素a(1)到a(10)的值依次為“3,17,2,14,15,6,7,18,9,4”,執行該程序段后,數組元素a(8)中的值為( )A.3 B.4 C.15 D.175.INPUTBOX(“請輸入”,“學生成績”,80)函數彈出的對話框中,其標題是( )A.請輸入B.學生成績C.100D.無6.Python中冪運算(指數運算)的運算符為( )。A.* B.** C.% D.//7.有如下 Visual Basic 程序段: s= 0For i = 1 To 5s = s + i Next i If i <= 5 ThenText1.Text = Str(s) ElseText1.Text = Str(s + i) End If該程序段運行后,在文本框Text1中顯示的是A.5 B.6 C.15 D.218.在 VB 中,窗體加載的事件處理過程名為( )A.Form_Click B.Form_DblClickC.Form_Load D.Form_Change9.有以下 VB 程序段For i = 1 To 3 For j = 1 to 10 If j Mod i = 0 Then a(j) = 1 – a(j) Next jNext isum = 0For i = 1 To 10 sum = sum + a(i)Next i已知數組 a 的所有元素初值均為 0,運行上述程序段后,變量 sum 的值是( )A.2 B.3 C.4 D.510.給定一個n正整數(n<=20),根據設定的保留位數,舍去一部分數字,剩下的數字按原次序組成一個最大的新數。例如原數36835132,保留4位,最大數為6532。在文本框Text1輸入原數,文本框Text2中輸入保留的位數,文本框Text3中輸出刪除后的最大數。實現上述功能的部分VB代碼如下∶Dim a(1 To 20)As String,ys As String,xs As StringDim k As Integer,h As Integer,n As Integer,i As Integer,j As Integerys=Text1.Text:k=Val(Text2.Text)n=Len(ys):h=1For i=1 To na(i)=mid(ys,i,1)Next iFor i=1 To kFor j = h To ①If a(j) > a(h) Then ②Next jxs=xs + a(h)h=h + 1Next iText3.Text=xs上述程序中劃線處可選語句為( )①n-k+i ②i+k ③n-k+1 ④j=h ⑤h=j則①②處語句依次是A.③⑤ B.①⑤ C.①④ D.②⑤11.以下程序的功能是( )dim X AS doubleX=inputbox(“x=”)if X<0 then X=-Xendifprint XA.輸入X,輸出X的相反數 B.輸入X,輸出X的絕對值C.輸入X,輸出X的平方根 D.輸入X,判斷其是否小于0,并輸出X12.代數式對應的Visual Basic表達式是( )A.(5x-4*y)/7z+x*xB.(5x-4*y)/(7z+x*x)C.(5*x-4*y)/(7*z+x*x)D.5*x-4*y/7z+x*x13.十進制數29轉換為十六進制數為( )A.10111 B.17 C.1D D.1E14.能通俗易懂地描述算法,但容易出現“歧義性”的是( )A.自然語言 B.流程圖 C.QBASIC語言 D.Pascal語言15.有如下 VB 程序段:i=1Do while i<=6a(i) = Int(Rnd * 10) + 1If a(i) Mod 2 = 1 Thena(i) =a(i) – 1ElseIf i Mod 2 = 0 Thena(i) = a(i) + a(i - 1)End Ifi=i+1Loop最終a數組各元素的值可能是( ?。?br/>A.8,14,9,6,2,12 B.2,4,10,19,9,10C.8,12,0,11,2,10 D.6,12,0,10,4,816.以下流程圖符號中,用于放置賦值語句對變量賦值的框圖符號是( )。A. B. C. D.17.程序有三種基本結構,下列不屬于這種基本結構的是( )A.循環結構 B.樹形結構 C.順序結構 D.選擇結構18.列表a中存入的數據如下,現要在列表中查找數據”zhang”,以下說法正確的是( )a[0] a[1] a[2] a[3] a[4] a[5] a[6]Gong cheng fan huang ni song zhangA.對分查找的效率總是優于順序查找B.若進行對分查找,依次被比較的數據是“huang”“ni”“song”“zhang”C.因為這批數據是無序的,故只能用順序查找的方式D.若進行對分查找,依次被比較的數據是“huang”“song”“zhang”19.運行程序時,Text1. text=“”語句會被自動執行,可以將該語句嵌入的過程是( )A.Command1_click B.Form_load C.Text1_click D.Timer1_timer20.實現計算器上xy運算處理的算法部分流程圖如圖所示:下列說法正確的是( )A.框圖①中該填入的是f←x*jB.框圖①中該填入的是f←f*jC.j←j+1被執行了x次D.j←j+1被執行了y次21.在以下數組a中,采用對分查找思想查找數據"19",則以下說法正確的是( )。a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8]2 3 5 9 19 23 29 35A.如果查找的數據元素不存在,則查找無法進行B.第1次就查找到了該數據元素C.查找過程中,共需要比較4次D.第2次查找到的數據是"23"22.計算機程序設計語言的發展所經歷的主要階段依次為下列哪個選項。( )A.機器語言、匯編語言和高級語言 B.匯編語言、機器語言和高級語言C.高級語言、匯編語言和機器語言 D.機器語言、高級語言和匯編語言23.報名參加跳遠比賽的某5位同學的編號為5,11,25,36,50,利用二分查找法查找36號同學的過程中,依次被訪問到的編號為( )A.5,11,25,36 B.25,36 C.11,36 D.11,25,3624.當a="123:" b=StrA.,則( )A.a和b均是字符型變量B.a是字符型變量,b是數值型變量C.a是數值型變量,b是字符型變量D.a和b均是數值型變量25.有如下VB 程序段:Private Sub Commandl_Click()Dim d(l To 6) As IntegerDim t As Integerd(1)=35:d(2)=18:d(3)=63:d(4)=5:d(5)=85:d(6)=47For i=1 To 3For j=i+1 To 6If d(j)t=d(j):d(j)=d(j-1):d(j-1)=tEnd IfNext jTextl.Text=Str(d(i))+Text1.TextNext iEnd Sub .執行該程序段后,文本框 Textl輸出的內容是 ( )A.47 63 85 B.35 5 18 C.85 63 47 D.18 5 3526.某算法的部分流程圖如圖所示,以下說法正確的是( )A.該流程執行后,變量k的值是1B.該流程執行后,變量a的值是16C.該流程用于計算并輸出1+8-16的值D.該流程完整執行1次,“a<32 ”共執行了4次27.有如下VB程序段,執行該程序段后,a(1) 到a(6)各元素的值可能為( )RandomizeFor i=1 To 6a(i) = Int(Rnd*21) *2+11If I Mod 2=1 Thena(i) = a(i) +2ElseIf a(i)End IfNext iA.13, 15, 25, 37, 23, 54 B.16, 44, 23, 51, 22, 22C.19, 37, 23, 45, 53, 53 D.13,37, 11, 45, 33, 5128.某電子設備的電路板上有一個4位的“跳板開關”,此開關每一位都只有“打開”和“閉合”兩種狀態,這個“跳板開關”最多可以表示的狀態數是( )A.16 B.8 C.12 D.2429.計算機能夠直接識別和執行的程序設計語言是( )。A.低級語言 B.匯編語言 C.機器語言 D.高級語言30.以下函數運算中結果不是5的是( ?。?br/>A.Int(-5.0) B.Abs(-5) C.Sqr(25) D.Len(“20201”)31.在VB中,下列程序段執行后,變量a的值是( )a=2,b=3a=a+bb=b-aa=a+bA.3 B.4 C.5 D.632.統計1~1000間個位數是4,且能被9整除的數共有多少個,可以采用的算法是( )A.查找算法 B.枚舉算法C.解析算法 D.排序算法33.三個正整數a、b、c滿足等式a2+b2=c2,a、b、c稱為“勾股數”,求出100以內所有“勾股數”可采用的算法是( )A.枚舉算法 B.解析算法 C.冒泡排序 D.順序查找34.若整型變量a的值為2,b的值為3,則下列程序段執行后整型變量c的值為( )。if a>5 thenif b<4 then c=a-b else c=b-aelseif b>3 then c=a*b else c=a mod bend ifA.2 B.-1 C.1 D.635.以下程序用于求解最后出列的人的序號。游戲規則如下:有10個人圍成一圈,從第一個開始報數,數到M的人將被淘汰,從圈內下一個人從1開始重新報數。Dim a(1 To 10)As Boolean 'a(i)表示編號為i的人是否已經出列m = Val(Text1 Text)cnt = 0:i = 0:ans =0Do While (1) '當所有人都出列時停止i = i+1 '枚舉圈內所有人If (2) Then i = 1If not a(i) Then k = k+ 1If k=m Then '數到m的人出列(3)cnt = cnt +1k=0if cnt = 10 then ans = iEnd IfLoopText2. text ="最后出列的人是:"+ str (ans)填空處的代碼可由以下部分組成:( )①i<10 ②i=11 ③a(i)=true④cnt<10 ⑤i=10 ⑥a(i)=falseA.①②③ B.①⑤⑥ C.④②③ D.④⑤⑥36.反轉字符串,如輸入字符串為“123ABCD”,則輸出字符串為“DCBA321”。部分程序如下所示,劃線處的正確語句是( )s=Text1.Text:n=Len(s):i=1’按變量s中字符順序從左到右依次存入字符串數組a中,代碼略Do While I < nt=a(i)For j= I + 1 To n①Next ja(j-1)=t②LoopFor i = 1 To lean(s)Texts2.Text = Texts2.Text + a(i)Next iA.①a(j+1)=a(j) ②n=n-1 B.①a(j)=a(j+1) ②n=n+1C.①a(j-1)=a(j) ②n=n-1 D.①a(j-1)=a(j) ②n=n+137.將無序數據“8,23,4,16,77,-5,53,100”按從大到小的順序排列,每次可以交換任意兩個元素,最少需要交換( )次A.4 B.5 C.6 D.738.以下不屬于高級編程語言的是( )A.C B.PS C.Python D.C#39.某對分查找算法的VB程序如下:key=________i = 1: j = 10Do While i <= j m = (i + j) \ 2 If a(m) < Key Then i = m + 1: n = n + 1 Else j = m - 1: n = n - 1 End IfLoop數組元素a(1)到a(10)的值依次是“2,2,4,6,9,15,15,20,25,30”若n值為2,則key的值可能為( )A.6或16 B.5或 8 C.10或15 D.17或2940.下列給出的賦值語句中正確的是( )A. B. C. D.二、填空題(共20分)41.有一個報數游戲, n個人排成一圈,游戲開始時規定一個報數號m,然后從其中一個人開始按順時針報數1,2,3……n,當某人報到的數為m的倍數時,即被淘汰,其他人繼續游戲,直到最后?,F用VB設計了一個程序,程序界面如下圖所示。在文本框Text1中輸入參加游戲的人數n,在文本框Text2中輸入報數號m,單擊“報數”按鈕,即在列表框List1中顯示每次被淘汰的人的順序號。實現上述功能的VB代碼如下,但加框處有錯,請改正。Private Sub Command1_Click()Dim n As Integer, m As IntegerDim a(1 To 50) As Integern = Val(Text1.Text)m = Val(Text2.Text)For i = 1 To n '(1)Next is = 0:j = 0Do While s < n t = 0 Do While t < m '(2) t = t + a(j) Loop a(j) = 0 s = s + 1 List1.AddItem "第" + Str(s) + "次:" + Str(j)LoopEnd Sub42.數學中的“自守數”:如果一個數的平方數的末幾位等于該數本身,這個數就是自守數。例如:5*5=256*6=3625*25=62576*76=5776……那么,5、6、25、76 等數被稱為自守數。小袁編寫一個 VB 程序,實現如下功能:找出 10000 以內所有可能的自守數,單擊“統計”按鈕 Command1,將符合要求的自守數顯示在列表框 List1 中,統計個數顯 示在標簽 Label1 中,運行界面如圖所示。(1)程序運行時要在按鈕上顯示“統計”,應設置該按鈕的 屬性。(2)為實現上述功能,請在劃線處填入合適的代碼。Private Sub Command1_Click()Dim n As Single, k As Integer, t As Integer, c As IntegerList1.Clear c=0For n = 5 To 10000k = Len(Trim(n)) 'Trim()函數用于刪除字符串前后的空格t = (n * n) Mod ① _If t = n ThenList1.AddItem Str(n)②End IfNext nLabel1.Caption = "自守個數為:" + Str(c)End Sub為實現上述功能,劃線處應填入的代碼分別為① 。② 。(3)解決該問題采用了 (選填:枚舉/解析)算法。43.在通過VB設計“BMI指數”的程序中,王明將變量BZ賦值給Text2.text輸出,相應的代碼是 。44.有一Access數據庫“school.accdb” 存放在f:\2015mt\vb文件夾中,其中的“student”數據表用來存儲學生的基本情況信息,包括學號(num)、姓名(name)、性別(sex)、分數(score),括號內的為對應字段名。下列VB程序用來實現根據學號查詢并顯示學生信息,運行界面如下圖所示。在文本框Text1中輸入學生的學號,單擊“查詢”,在文本框Text2、Text3、Text4中分別顯示學生姓名、性別、分數。Private Sub Command1_Click()Dim adocn As New adodb.ConnectionDim adors As New adodb.RecordsetDim str2 As String, str1 As Stringstr1 = "Provider="Microsoft.ACE.OLEDB.12.0;data" source=f:\2015mt\vb\_____________"adocn.Open str1str2 = "select * from students where num=" + Text1.Textadors.Open str2, adocn, adOpenDynamic, adLockOptimisticIf adors.EOF =" True" ThenMsgBox "你輸入的學號不存在"ElseText2.Text = adors.Fields("name").ValueText3.Text = adors.Fields("sex").Value______________________________________End Ifadors.Closeadocn.CloseEnd Sub45.數組a中有8個數據已按升序排列。a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8)17 22 33 34 41 46 61 85如果采用對分查找法查找數字77,則第一次查找的數組元素是 ,經過 次查找后得到結果。46.閱讀程序段并回答問題。x=1a=xb=x+1上述程序執行后,變量a的值是 ,變量b的值是 。47.代數式的VB表達式為__________________ 。48.有如下VB程序段a=12b=54a=bb=a該程序段運行后,a,b的值分別為 ___、_ __,該程序結構屬于___ ___結構(選填:順序、選擇、循環)。49.以下VB代碼存在一個語法錯誤:行號 語句dim price as double②price=inputbox("請輸入價格")③ if price>=500④ price=price*0.95⑤ end if⑥ print price錯誤語句在 行。正確語句為 。50.UNLOAD.ME 的含義是卸載( ).參考答案:1.C【詳解】本題考查的是冒泡排序算法。由表中原始數據與第1遍排序后的數據對比不難發現,原始數據中最小的數據移動到了第1位,同時其他數的前后順序不變,根據冒泡排序的特點可知,此排序是冒泡排序,而每一遍排序將最小數據移動到本次排序數據的前面,因而判斷為升序。故選項C正確。2.C【詳解】本題主要考查流程圖表示的算法。變量s的值依次為2386、238、23、2、0,對應t的值依次為6、8、3、2,從選擇結構功能來看,找余數的最大值,并把最大值賦給k,因此最終k的值為8。3.B【詳解】本題考查的知識點是算數運算符的應用。x表示能被5整除的正整數,即x是5的倍數,所以x Mod 5=0一定為true。若x的值不為0,則x/5,Int(x/5)結果都不為0。當x值為0時,5 Mod x不成立,也不存在結果為0。故正確答案為B選項。4.D【詳解】本題考查的知識點是算法及程序實現。此算法跟冒泡排序相似,比較的并不是相鄰兩數,面是隔一數的比較,最后的結果也并不是全部排序的結果。經過分解可知,i=4的時候已經沒有交換,此時的結果已經是最后的結果。故正確答案為D選項。a( 1) a(2) a(3) a(4) a(5) a(6) A(7) a(8) a(9) a(10)3 17 2 14 15 6 7 18 9 4i=1 2 4 3 17 7 14 15 6 9 18i=2 2 4 3 6 7 17 9 14 15 18i=3 2 4 3 6 7 14 9 17 15 18i=4 2 4 3 6 7 14 9 17 15 185.B【詳解】本題主要考查VB數據的輸入。INPUTBOX函數用于數據的輸入,格式:INPUTBOX(提示文本,標題,輸入框文本),因此INPUTBOX(“請輸入”,“學生成績”,80)函數彈出的對話框中,其標題是學生成績,故本題選B選項。6.B【詳解】本題主要考查Python的運算。Python中冪運算(指數運算)的運算符為**,故本題選B選項。7.D【詳解】本題主要考查VB程序的執行。第一個for循環執行完,s=s+i=0+1+2+3+4+5=15,循環完后i=6,不滿足i<=5,執行Str(s+i)=Str(21)="21",故該程序段運行后,在文本框Text1中顯示的是21,故本題選D選項。8.C【詳解】本題主要考查VB事件處理過程名的描述。在 VB 中,窗體加載的事件處理過程名為Form_Load,Form_Click為單擊事件處理過程名,Form_DblClick為雙擊事件處理過程名,Form_Change是文本框內容發生變化時的事件處理過程名,故本題選C選項。9.C【詳解】本題主要考查VB程序的執行。i=1時,a(1)到a(10)均等于1;i等于2時,a(2)=0,a(4)=0,a(6)=0,a(8)=0,a(10)=0,;i等于3時,a(3)=0,a(6)=1,a(9)=0,故程序結束后,sum=1+0+0+0+1+1+1+0+0+0=4,故本題選C選項。10.B【詳解】本題主要考查VB程序的執行與調試。第二個嵌套for循環實現將保留的k個數,逐個對比找出最大的數加到字符變量xs中,外層循環變量i的范圍是從1到k,故內層循環變量j的范圍從h到n-k+i(在保留的n-k個值中進行比較,當外層循環是i時,則內層循環的最后一位是n-k+i),如果a(j)>a(h),則更新h的值(即將最大值賦給a(h)),故①②處語句依次是①n-k+i ⑤h=j,故本題選B選項。11.B【詳解】本題主要考查VB程序的調試。分析程序,當X小于0時,X=-X,若X>=0,直接輸出X,故程序的功能是輸入X,輸出X的絕對值,故本題選D選項。12.C【詳解】13.C【詳解】本題考查數制轉換相關內容。29D=0001 1101B=1DH,故本題答案是C選項。14.A【詳解】15.D【詳解】本題考查的是VB綜合應用。Int(Rnd * 10) + 1是產生[1,10]的整數。由程序的IF 和ElseIf中的語句,可知數組a中的數據都為偶數。故選項D正確。16.A【詳解】17.B【詳解】本題考查程序的三種基本結構。程序的三種基本結構為:順序結構,選擇結構,循環結構,選項ACD正確,故不選。樹形結構不屬于程序的三種基本結構,故答案應選B選項。18.D【詳解】本題考查數據結構。A選項錯誤,在有序數組中,對分查找的效率在大多數情況下優于順序查找。但當要查找的數據位于數組的開頭或接近開頭時,順序查找可能更快。B選項錯誤,D選項正確,若進行對分查找,首先要找的區間為a[0]-a[6],即取中間的元素“huang”,由于“huang”<“zhang”,因此下一個要找的區間為a[4]-a[6],即下一個要比較多數據為“song”,由于“song”<“zhang”,因此下一個要找的區間為a[6]-a[6],此時“zhang”=“zhang”。C選項錯誤,由于字符串也是可以比較的,并且這批數據按照首字母的ASCII值是有序的,因此可以使用對分查找的方式。故答案為:D。19.B【詳解】本題考查VB編程基礎。運行程序時,Text1. text=“”語句會被自動執行,可以將該語句嵌入的過程是Form_load,不影響Text1. Text數據的讀入,選項B正確。如果放入過程Command1_click會導致Text1. Text數據無法自動執行,選項A錯誤。放入過程Text1_click,代碼無法自動執行,選項C錯誤。Timer1_timer是控制時間的,選項D錯誤。20.D【詳解】考核算法中流程圖相關知識。此流程圖為循環結構,考核學生對循環次數和循環語句的掌握。21.D【詳解】本題考查查找算法。根據查找算法思想,如果查找的數據元素不存在,仍然可以進行查找。第1次i=1,j=8,m=4,查找訪問a(4)和查找的數不相等。第2次,i=5,j=8,m=6,查找到的數據是a(6)=23,故本題選項D的說法正確。22.A【詳解】本題主要考查程序設計語言的發展。計算機程序設計語言的發展所經歷的主要階段依次為機器語言、匯編語言和高級語言,故本題選A選項。23.B【詳解】本題考查二分查找相關內容。設i=1,j=5,第一次查找m=(1+5)//2=3,a(3)=25<36,i=m+1=4;第二次循環,m=(4+5)//2=4,a(4)=36,查找成功,結束查找。故依次被訪問到的編號是25、36,故本題答案是B選項。24.C【詳解】25.B【詳解】本題考查VB冒泡排序算法。首先由i的范圍確定排序趟數為3;然后看j的范圍確定是從前往后排序,接著由判斷條件“If d(j)<d(j―1)”可知,是升序排序。再看輸出語句“Textl.Text=Str(d(i))+Text1.Text”可知,是后面出來的數字排在前面,即倒著輸出,把六個數據代入,進行排序,可知結果為“35 5 18”,選項B正確。26.A【詳解】本題考查的是流程圖相關知識。根據流程圖可知,該流程完整執行1次,“a<32 ”共執行了3次,判斷框下的處理框共執行了2次,最后k=1,s=1+1*8+0*16,a=32,故選項BCD錯誤,因此A選項正確。【點睛】27.C【詳解】本題考查VB程序段。根據a(i)=Int(Rnd*21)*2+11,a數組是[11,51]之間的奇數,并且一定執行a(i)=a(i)+2,那么a數組是[13,53]之間的奇數,故本題選C。28.A【詳解】這個題目和前面的5個燈可以表達多少種狀態時一個類型,根據排列組合,是2的4次方種。用二進制表達就是:0000…0001…0010……1111.29.C【詳解】本題考查的是程序語言。程序設計語言可以分為:機器語言、匯編語言(低級語言)、高級語言。機器語言是由二進制 0、1 代碼指令構成,能夠被計算機直接識別和執行。匯編語言指令是機器指令的符號化,與機器指令存在著直接的對應關系。高級語言是面向用戶的、基本上獨立于計算機種類和結構的語言。故選項C正確。30.A【詳解】本題考查的知識點是VB函數的應用。A選項:Int()是數值取整函數,Int(-5.0)=-5;B選項:Abs()是計算數值絕對值函數,Abs(-5)=5;C選項:Sqr()是計算數值平方根函數,Sqr(25)=5;D選項:Len()是計算字符串長度函數,Len(“20201”)=5。選擇運算結果不是5的一項,故正確答案為A選項。31.A【詳解】本題主要考查VB程序的執行。a=2,b=3,a=a+b=5,b=b-a=3-5=-2,a=a+b=5-2=3,故本題選A選項。32.B【詳解】本題主要考查枚舉算法的應用。統計1~1000間個位數是4,且能被9整除的數共有多少個,可以采用的算法是枚舉算法,窮盡所有可能的數,故本題選B選項。33.A【詳解】34.A【詳解】本題主要考查if條件的嵌套。a=2,b=3,不滿足a>5,執行else部分,不滿足b>3,執行c=a mod b=2,故程序段執行后整型變量c的值為2,故本題選A選項。35.C【詳解】本題考查的是VB循環、選擇語句。閱讀程序可知,cnt表示出列人數,故(1)處選④;i是人的編號,10個人圍成一圈,報完一圈后i=10,當i=11時,實際上回到第一個人,故(2)選②;a(i)表示編號為i的人是否已經出列,由前面not a(i),可以推出出列應是a(i值為真,故(3)應選③,選項C正確。36.C【詳解】本題考查的是VB循環語句。閱讀程序,該程序思想是:將第1個字符取出,后將后面的字符逐位往前移,最后把將第1個字符給后面a(n);將第1個字符取出,后將后面的字符逐位往前移,最后把將第1個字符給后面a(n-1),依次類推;由For j= I + 1 To n可知①要a(j-1)=a(j);②中要為下一個字符移位準備,應為n=n-1。故選項C正確。37.B【詳解】本題考查的是排序。選擇排序交換次數較小。第一遍:交換8和100,交換后:100,23,4,16,77,-5,53,8;第二遍:77和23交換,交換后:100,77,4,16,23,-5,53,8;第三遍:53和4交換,交換后:100,77,53,16,23,-5,4,8;第四遍:23和16交換,交換后:100,77,53,23,16,-5,4,8;第五遍:8和-5交換,交換后:100,77,53,23,16,8,4,-5。數組已經有序,故最少需要交換5次,選項B正確。38.B【詳解】本題主要考查程序設計語言。C語言、Python、Java、C#均屬于高級編程語言,PS是應用軟件,即Photoshop,故本題選B選項。39.D【詳解】本題主要考查對分查找算法。對分查找用二叉樹表示如下,查找右子樹n遞增,查找左子樹n遞減,結合選項可知key的值可能為17或29,故本題選D選項。40.B【詳解】41.(1)a(i)=1(2)j=j Mod n +1【詳解】(1)在游戲開始前,每個人都可能是起點,故都應該初始化為1,故為:a(i)=1;(2)由于每一輪循環后都會淘汰一些人,故而序號不是連續遞增的,故而要用:j=j Mod n+142. Caption 10^k c=c+1 枚舉【詳解】本題考查的是VB程序相關知識。(1)Caption屬性是控制按鈕在窗體上顯示數據。(2)由題干可知,k表示數字n的位數,t表示數字n平方的最后k位,所以①答案是10^k;IF語句是判斷數字n是否是自守數,如果滿足條件,在List1中添加該數字,并統計個數,所以②答案是c=c+1;(3)題中代碼列舉出了自守數的所有可能,所以該算法是枚舉算法。43.Text2.text=Str(BZ)【詳解】本題考查VB編程基礎。因為Text2.text中顯示的是字符串類型,王明要將變量BZ賦值給Text2.text輸出,需要將BZ轉化為字符串,即Text2.text=Str(BZ)。44.(1)school.accdb(1分)(2)Text4.Text = adors.Fields("score").Value(1分)【詳解】45. 34 4【詳解】本題考查的是對分查找。對分查找的基本思想是在有序的數列中,首先將要查找的數據與有序數列內處于中間位置的數據進行比較,如果兩者相等,則查找成功;否則就根據數據的有序性,再確定該數據的范圍應該在數列的前半部分還是后半部分;在新確定的縮少范圍內,繼續按上述方法進行查找,直到找到要查找的數據,即查找成功,如果要查找的數據不存在,即查找不成功。第一次查找的數組元素是:34;第二次查找的數組元素是:46;第三次查找的數組元素是:61;第三次查找的數組元素是:85。46. 1 2【詳解】本題主要考查程序語句。①x=1,a=x=1。②b=x+1=1+1=2。47.(2*a)/(c+ d)【詳解】48.54、54;順序【詳解】49. 第3 if price>=500 then【詳解】本題考查的知識點是VB程序設計。分析代碼可知,本程序是一個if……then的選擇結構。③ 處的 “if price>=500”語句少了關鍵字then。故錯誤語句在③處,即第3行。正確語句為if price>=500 then。填寫答案為:第3;if price>=500 then。50.當前窗體【詳解】本題主要考查VB窗體的操作。UNLOAD.ME 的含義是卸載自己(即卸載當前窗體)。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫