資源簡(jiǎn)介 高二信息答案和解析1.【答案】D【解析】【分析】本題考查VB程序的分析理解,重點(diǎn)是掌握對(duì)分查找的算法思想。二分查找的基本思想是將n個(gè)元素分成大致相等的兩部分,取a[n/2]與x做比較,如果x=a[n/2],則找到x,算法中止;如果x<a[n/2],則只要在數(shù)組a的左半部分繼續(xù)搜索x,如果x>a[n/2],則只要在數(shù)組a的右半部搜索x。【解答】分析程序算法可知,查找某Key值主要通過(guò)對(duì)分查找算法,變量n用于記錄查找過(guò)程中中間值指針在第一次定位后的偏移情況,左移一次n-1,右移一次則n+1,則依次查找數(shù)列中每一個(gè)元素的偏移累計(jì)分別為-2、-1、0、0、0、1、2、3,另外若查找key值大于86或小于5,則分別偏移累計(jì)為-3和4,當(dāng)輸入不同的Key值,運(yùn)行該程序段后,在標(biāo)簽Label1中顯示的不同結(jié)果共有8種輸出結(jié)果。???????故選:D。2.【答案】B【解析】【分析】本題考查對(duì)對(duì)分查找算法的理解和運(yùn)用。對(duì)分查找的基本思想是將n個(gè)元素分成大致相等的兩部分,取a[n/2]與x做比較,如果x=a[n/2],則找到x,算法中止;如果x<a[n/2],則只要在數(shù)組a的左半部分繼續(xù)搜索x,如果x>a[n/2],則只要在數(shù)組a的右半部搜索x。【解答】分析程序代碼,按對(duì)分査找算法思想,只有當(dāng)找到目標(biāo)值時(shí),F(xiàn)lag?的值才置為?False,而題中查找數(shù)7不在數(shù)列中,因而不會(huì)找到,A錯(cuò)誤;文本框?Text2?中顯示的內(nèi)容為各次的中間值m,根據(jù)題意,第一次查找i=1,j=8,m=4;???????第二次查找i=1,j=3,m=2;第三次查找i=3,j=3,m=3,最后i=i+1=4,所以最終文本框?Text2?中顯示的內(nèi)容為?4?2?3,B選項(xiàng)正確。CD選項(xiàng)錯(cuò)誤。故選:B。3.【答案】D【解析】本題主要考查選擇排序的核心代碼:尋找最小值或最大值。變量k記錄當(dāng)前找到的最小值的位置,即數(shù)組元素的下標(biāo),則d(k)就是當(dāng)前找到的最小的數(shù)組元素。它的思想方法是先假設(shè)數(shù)組的第i項(xiàng)是最小的(第i遍排序),因此k記為i,然后把從第i+1項(xiàng)開(kāi)始的所有數(shù)組元素跟d(k)進(jìn)行比較,如果比d(k)小,則用k記錄元素的下標(biāo)。這樣循環(huán)結(jié)束后,變量k中存儲(chǔ)的就是數(shù)組中第i項(xiàng)至第n項(xiàng)的最小元素的下標(biāo),d(k)就是第i項(xiàng)至第n項(xiàng)中的最小元素。4.【答案】D【解析】【分析】本題考查VB程序中冒泡法數(shù)據(jù)排序的程序。這是冒泡法數(shù)據(jù)排序的程序,從數(shù)組最后一個(gè)數(shù)開(kāi)始檢查,當(dāng)后面的數(shù)小于前面的數(shù)時(shí)就交換兩個(gè)數(shù)的位置,直到所有的數(shù)中都是后面的數(shù)大于前面的數(shù),不在交換,代表排序完成,最后所有的數(shù)都由小到大排列。【解答】據(jù)題意:這個(gè)程序是用冒泡法將數(shù)組中的數(shù)進(jìn)行由小到大的順序排列。在數(shù)組中從第1個(gè)數(shù)到最后一個(gè)數(shù)的大小放置正好與所要求的順序相反時(shí),要交換的次數(shù)是最多的,D選項(xiàng)恰好是從大到小的排列,這樣交換的次數(shù)會(huì)最多。故選D。5.【答案】B【解析】題中要求降序排序,所以第一遍先在所有單詞中找到字典序中排最后的單詞“your”,將它與“us”交換位置,得到“your,our,my,us,his”。第二遍再在余下的單詞中找出按字典序排最后的單詞“us”,將它與“our”交換位置,得到“your,us,my,our,his”。6.【答案】A【解析】本題考查對(duì)冒泡法排序的理解,冒泡排序的程序走向是重復(fù)地走訪要排序的數(shù)列,一次比較兩個(gè)元素,如果它們的順序錯(cuò)誤就把它們交換過(guò)來(lái)。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(shù)列已經(jīng)排序完成。7.【答案】C【解析】【分析】本題考核算法的選擇排序思想,但這是冒泡排序的改進(jìn)算法;它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái);走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(shù)列已經(jīng)排序完成。【解答】依據(jù)題干中代碼可知,該排序下一個(gè)元素比上一個(gè)元素小,就進(jìn)行交換。進(jìn)行三次以后,下一個(gè)元素就不會(huì)比上一個(gè)小。故選C。8.【答案】第一空:a(i)=Int(Rnd*89)+11;第二空:If a(j)< a(k)Then k=j ;第三空: k=FindMin(i)【解析】【分析】本題主要考查的是選擇排序算法,選擇排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)個(gè)記錄中選取關(guān)鍵字最小的記錄作為有序序列中第i個(gè)記錄。【解答】根據(jù)選擇排序算法的原理可得,第一空填a(i)=Int(Rnd*89)+11,第二空填I(lǐng)f a(j)< a(k)Then k=j ,第三空填 k=FindMin(i)。故答案為:第一空:a(i)=Int(Rnd*89)+11;第二空:If a(j)< a(k)Then k=j ;第三空: k=FindMin(i)。第2頁(yè),共2頁(yè)第1頁(yè),共1頁(yè)第 1頁(yè),共 5頁(yè)高二信息周測(cè)卷 2020 年 4 月 7 日副標(biāo)題題號(hào) 一 二 總分得分一、選擇題(本大題共 7 小題,共 35.0 分)1. 若數(shù)組元素 d(1)到 d(8)的值依次為“86,75,58,46,20,18,12,5”,查找某 Key值的 VB程序段如下:當(dāng)輸入不同的 Key值,運(yùn)行該程序段后,在標(biāo)簽 Label1中顯示的不同結(jié)果共有A. 5種 B. 6種 C. 7種 D. 8種2. 某對(duì)分査找算法的 VB 程序段如下:第 2頁(yè),共 5頁(yè)數(shù)組元素 a(1)到 a(8)的值依次為“1,3,5,8,10,13,16,21”,在文本框 Text1中輸入 7,執(zhí)行該程序段,下列說(shuō)法正確的是A. Flag 的值為 FalseB. 文本框 Text2中顯示的內(nèi)容為 4 2 3C. i的值為 3D. j的值為 43. 下列 VB程序段是選擇排序程序的主要部分。其中虛線框內(nèi)代碼用于尋找數(shù)據(jù)元素d(i)到 d(n)的最小值。框內(nèi)代碼運(yùn)行結(jié)束時(shí),保存最小值的數(shù)組元素一定是( )A. d(n) B. d(j) C. d(i) D. d(k)4. 以下程序段對(duì)數(shù)組 a中的 6個(gè)數(shù)據(jù) a(1)到 a(6)進(jìn)行加工。Dim flag As Booleani = 1 : flag = TrueDo While i<= 5 And flag = Trueflag = FalseFor j = 6 Toi + 1 Step -1If a(j) < a(j - 1) Thenk = a(j): a(j) = a(j - 1): a(j - 1) = kflag = TrueEnd IfNext ji = i + 1Loop下列數(shù)據(jù)序列中,在加工過(guò)程中劃線處語(yǔ)句執(zhí)行次數(shù)最多的是( )第 3頁(yè),共 5頁(yè)A. 24,29,31,20,15,10 B. 10,15,20,24,29,31C. 29,10,31,15,20,24 D. 31,29,24,20,15,105. 利用選擇排序?qū)σ唤M原始數(shù)據(jù):us,our,my,your,his進(jìn)行降序排序,第二遍排序結(jié)束后的數(shù)據(jù)序列為()A. us,our,my,his,your B. your,us,my,our,hisC. your,our,my,us,his D. his,us,our,my,your6. 在 VB中,若 a是一個(gè)整型數(shù)組,a(1)、……、a(4)分別為 130、45、278、59,則執(zhí)行下列程序段后,數(shù)組 a中各元素的值為()A. 45 59 130 278B. 130 278 45 59C. 278 130 59 45D. 59 45 278 1307. 有如下 VB程序段:For i=1 To 3j=i+1Do While j<=4If a(i)<a(j) Thent=a(i):a(i)=a(j):a(j)=tEnd Ifj=j(luò)+1LoopNext i數(shù)組元素 a(1)到 a(4)的數(shù)據(jù)依次為“33,6,14,17”,程序運(yùn)行過(guò)程中,語(yǔ)句“t=a(i):a(i)=a(j):a(j)=t”被執(zhí)行的次數(shù)為 ( )A. 1 B. 2 C. 3 D. 4二、非選擇題(本大題共 1 小題,每空 5 分,共 15.0 分)8. n個(gè)數(shù)從小到大選擇排序需要經(jīng)過(guò) n-1遍加工,每遍加工從未排序的數(shù)據(jù)元素中找出最小的元素與當(dāng)前元素進(jìn)行交換。小天同學(xué)學(xué)習(xí)了選擇排序算法和函數(shù)的知識(shí)后,編寫(xiě)了一個(gè) VB程序,功能如下:運(yùn)行程序時(shí)首先在列表框 List1中顯示 10個(gè)大于10且小于等于 99的隨機(jī)自然數(shù),單擊“排序”按鈕 Command1后,在列表框 List2中顯示這些數(shù)據(jù)按從小到大排序后的結(jié)果,運(yùn)行結(jié)果如圖所示。請(qǐng)?jiān)趧澗€處填入合適代碼。第 4頁(yè),共 5頁(yè)Const n=10Dim a(1 To n)As Integer '定義數(shù)組 aPrivate Sub Form_Load()RandomizeFor i=1 To n '產(chǎn)生 n個(gè)隨機(jī)自然數(shù),并依次存放在數(shù)組 a中__________________List1.AddItem Str(a(i))Next iEnd SubFunction FindMin(x As Integer)'尋找當(dāng)前需要交換的數(shù)組元素下標(biāo)Dim k As Integer,j As Integerk=xFor j=x+1 To n__________________Next jFindMin=kEnd FunctionPrivate Sub Command1_Click()Dim i As Integer,k As Integer,t As IntegerFor i=1 To 9__________________第 5頁(yè),共 5頁(yè)If k<> i Thent=a(i):a(i)=a(k):a(k)=tEnd IfNext iFor i=1 To nList2.AddItem Str(a(i))Next iEnd Sub 展開(kāi)更多...... 收起↑ 資源列表 浙江省金華市江南中學(xué)2020年高二4月4.7信息階段考答案.docx 浙江省金華市江南中學(xué)2020年高二4月4.7信息階段考試卷.pdf 縮略圖、資源來(lái)源于二一教育資源庫(kù)