資源簡介 (…………○…………外…………○…………裝…………○…………訂…………○…………線…………○…………)(※※請※※不※※要※※在※※裝※※訂※※線※※內(nèi)※※答※※題※※)(…………○…………內(nèi)…………○…………裝…………○…………訂…………○…………線…………○…………)登陸二一教育在線組卷平臺助您教考全無憂浙江省金華市江南中學(xué)2020屆高三信息技術(shù)網(wǎng)課2月22日第二周測試卷一、選擇題(252=50分)(共25題;共50分)1.下列表達(dá)式的運(yùn)算結(jié)果與其他選項不同的是(?)A.?Len("123")+2^2??????????????????????????????B.?Abs(Int(-6.8))C.?Asc(Mid("789",1,1))???????????????????????????D.?Val("9")-Sqr(4)【答案】C【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式【解析】【解答】選項A:Len("123")+2^2=3+4=7。選項B:Abs(Int(-6.8))=Abs(-7)=7。選項C:Asc(Mid("789",1,1))=Asc(“7”)=55。選項D:Val("9")-Sqr(4)=9-2=7。故答案選C。【分析】本題考查的是len()、abs()、int()、mid()、asc()、val()和sqr()函數(shù)的功能。len函數(shù)是求字符串的長度,abs函數(shù)是求參數(shù)的絕對值,int是求不大于參數(shù)的整數(shù),mid中按指定位置指定長度從字符串中取出一個子串,asc是求某個字符的ASCII碼,val是將參數(shù)轉(zhuǎn)為數(shù)值型,sqr是求參數(shù)的算術(shù)平方根。2.下列VB表達(dá)式中,隨機(jī)產(chǎn)生10到100之間奇數(shù)的是(?)A.?Int(Rnd45)2+10?????????????????????????????B.?Int(Rnd45)2+11C.?Int(Rnd90+10)???????????????????????????????????D.?Int(Rnd90+11)【答案】B【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式【解析】【解答】隨機(jī)產(chǎn)生奇數(shù)的形式是類似于“2n+奇數(shù)”的VB表達(dá)式,該數(shù)的區(qū)間范圍是10到100的奇數(shù),即11到99的奇數(shù),故答案是B。【分析】本題考查的是隨機(jī)產(chǎn)生奇數(shù)的VB表達(dá)式。3.有如下VB程序段:Fori=1To9Step2??b(a(i)Mod10)=b(a(i)Mod10)+1Nextis=0Fori=0To9Step3??s=s+b(i)Nexti數(shù)組b各元素初始值為0,數(shù)組元素a(1)到a(9)的值依次為“29,74,12,38,16,45,21,57,33”,則執(zhí)行該程序段后,s的值為(?)A.?5??????????????????????????????????B.?4??????????????????????????????????C.?3??????????????????????????????????D.?2【答案】C【考點】常見數(shù)據(jù)類型、數(shù)組,常量、變量及變量的賦值【解析】【解答】數(shù)組元素的個位數(shù)按照桶排序進(jìn)行計數(shù),步長為2,故統(tǒng)計a(1)Mod10,a(3)Mod10,a(5)Mod10,a(7)Mod10,a(9)Mod10的結(jié)果,因此1、2、3、6、9的值數(shù)組加1,而累加時的步長是3,b(3)、b(6)和b(9)的值被累加,故答案是3。故答案選C。【分析】本題考查的是數(shù)組和統(tǒng)計。4.有如下VB程序段:a(1)=1?Fori=2To6?Randomize?a(i)=a(i-1)+Int(Rnd5+1)?Ifa(i)Mod2=1Then??a(i)=a(i)\2+1?Else??a(i)=a(i)/2?EndIf?Nexti執(zhí)行程序后,a數(shù)組各元素可能是(?)A.?134679??????????????B.?120356??????????????C.?123454??????????????D.?134511【答案】C【考點】常見數(shù)據(jù)類型、數(shù)組,運(yùn)算符、基本運(yùn)算與表達(dá)式【解析】【解答】題中a(2)的范圍是1~3,a(3)~a(5)的范圍都是1~5,排除A、B,選項D中a(4)=5,可推知a(5)為3~5,不可能是1,只有C都符合。故答案選C。【分析】本題考查的是數(shù)組的運(yùn)用以及對常用函數(shù)的理解。5.有如下VB程序段:s="123456789"g=""Fori=1To3?n=Len(s)?x=Int(Rndn)+1?g=g+Mid(s,x,1)?s=Mid(s,1,x-1)+Mid(s,x+1,n-x)Nexti在程序執(zhí)行時,若變量x的值依次為3,3,6,則最終變量g的值為(?)A.?"336"???????????????????????????B.?"346"???????????????????????????C.?"348"???????????????????????????D.?15【答案】C【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式,常量、變量及變量的賦值【解析】【解答】變量值的變化如下:i123x336g"3""34""348"s"12456789""1256789""125679"故答案選C。【分析】本題考查的是對基本函數(shù)功能以及程序語句的理解。Mid()函數(shù)是從文本字符串中指定的開始位置起返回指定長度的字符。Rnd()函數(shù)是產(chǎn)生隨機(jī)數(shù)。6.有如下VB程序段:Fori=1To3Forj=1To5-i????Ifa(j)>a(j+1)Then????????t=a(j):a(j)=a(j+1):a(j+1)=t????End?If????Nextj????Text1.Text=Text1.Text+str(a(i))Nexti數(shù)組元素a(1)到a(5)的值依次為“3,9,6,8,4”。該程序段執(zhí)行后,文本框Text1顯示的內(nèi)容是(?)A.?346?????????????????????????????B.?689?????????????????????????????C.?364?????????????????????????????D.?366【答案】D【考點】常量、變量及變量的賦值,排序算法及程序?qū)崿F(xiàn)【解析】【解答】對這5個數(shù)據(jù),冒泡排序?qū)?shù)值大的數(shù)據(jù)往后交換。進(jìn)行前3輪的升序排序,然后分別輸出第一輪的第一項,第二輪的第二項,第三輪的第三項。第一輪排序后結(jié)果:3,6,8,4,9,輸出第一項3;第二輪排序后結(jié)果:3,6,4,8,9,輸出第二項6;第三輪排序后結(jié)果:3,4,6,8,9,輸出第三項6,故答案選D。【分析】本題主要考查冒泡排序算法。7.某對分查找算法的VB程序段如下:i=1:j=8:s=""key=Text1.TextDoWhilei<=j?m=(i+j)\2?Ifkey=a(m)Then??s=s+"M"??ExitDo?ElseIfkey>a(m)Then??j=m-1:s=s+"L"?Else??i=m+1:s=s+"R"?EndIfLoopText1.Text=s數(shù)組元素a(1)到a(8)的值依次為“4,22,27,32,35,44,56,59”,該程序段執(zhí)行后,文本框Text1中顯示的內(nèi)容不可能是(?)A.?M???????????????????????????????B.?LR???????????????????????????????C.?RM???????????????????????????????D.?LM【答案】B【考點】常量、變量及變量的賦值,查找算法及程序?qū)崿F(xiàn)【解析】【解答】若key值能在a(1)到a(8)中找到,s中最后一個字符一定為“M”。若key值不能在a(1)到a(8)中找到,則需查找4次才能結(jié)束,s的字符串長度應(yīng)為4。故答案選B。【分析】本題考查的是對分查找算法。對分查找的基本思路:在有序的數(shù)據(jù)序列中(一般放在數(shù)組中),首先把查找的數(shù)據(jù)與數(shù)組中間位置的元素進(jìn)行比較,若相等,則查找成功并退出查找;否則,根據(jù)數(shù)組元素的有序性,確定數(shù)據(jù)應(yīng)在數(shù)組的前半部分還是在后半部分查找;在確定了新的查找范圍后,重復(fù)進(jìn)行以上比較,直到找到或未找到為止。8.某VB程序段如下:?s="HelloWorld"?s1=""?n=Len(s)?Fori=1Ton\2??IfMid(s,i,1)>Mid(s,n-i+1,1)Then????s1=s1+Mid(s,i,1)??Else????s1=Mid(s,n-i+1,1)+s1??EndIf?Nexti?Text1.Text=s1執(zhí)行該程序段后,在文本框Text1中顯示的是(?)A.?WlleH????????????????????????B.?oorld????????????????????????C.?dlroo????????????????????????D.?orldo【答案】D【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式,常量、變量及變量的賦值【解析】【解答】程序?qū)崿F(xiàn)第一個字符和最后一個字符進(jìn)行比較,若大于則取前面的字符,連接后按順序賦值給變量s1,反之則取后面的字符,但是要倒序連接并賦值給變量s1,第二個字符和倒數(shù)第二個字符進(jìn)行比較,……,以此類推,故答案選D。【分析】本題考查的是VB字符串的處理以及對Mid()函數(shù)的理解。9.有如下VB程序段:Fori=1To8???a(i)=Int(Rnd2)Nextisum=0Fori=1To8Step3???Forj=iTo8???????a(j)=1-a(j)???Nextj???sum=sum+a(i)NextiText1.Text=Str(sum)執(zhí)行該程序段后,文本框Text1中顯示的內(nèi)容不可能是(?)A.?0??????????????????????????????????B.?2??????????????????????????????????C.?3??????????????????????????????????D.?4【答案】D【考點】算法的控制結(jié)構(gòu),常量、變量及變量的賦值【解析】【解答】本題中a(i)的取值是0或1,循環(huán)只有3次(i=1、4、7),sum的值最多也只有3,只有D不可能。故答案選D。【分析】本題主要考查的是對循環(huán)語句的理解。10.有VB程序段如下:s="2019appreciate":sum=0Fori=1ToLen(s)?ch=Mid(s,i,1)?Ifch>="a"Andch<="z"Then???m=Asc(ch)-Asc("a")+1???a(m)=a(m)+1?EndIf?Nexti?Fori=1To10?Ifa(i)>0Thensum=sum+1?Nexti數(shù)組a各元素的初始值都為0,執(zhí)行該程序段后,變量sum的值為(?)A.?10??????????????????????????????????B.?7??????????????????????????????????C.?4??????????????????????????????????D.?3【答案】C【考點】常量、變量及變量的賦值【解析】【解答】代碼的作用是統(tǒng)計小寫英文字母中前10個字符(a~j)出現(xiàn)的次數(shù)并記錄到相應(yīng)的數(shù)組元素a(1)、a(2)、…、a(10)中,并最終統(tǒng)計共有幾個字母出現(xiàn)過,根據(jù)題意可知,有4個數(shù)組元素的值大于0,因此答案是4。故答案選C。【分析】本題考查的是VB的字符串處理。11.有VB序段如下:RandomizeFori=1To6??a(i)=Int(Rnd20)+1?Ifa(i)Mod2=iMod2Then???a(i)=a(i)-1?Else???a(i)=a(i)+2?EndIfNexti執(zhí)行該程序段后,a(1)~a(6)各元素可能的是(?)A.?13,2,7,12,5,18?????????????????????????B.?22,7,0,15,4,19C.?20,9,18,23,4,7?????????????????????????D.?6,0,4,21,18,17【答案】B【考點】常量、變量及變量的賦值【解析】【解答】代碼中“Ifa(i)Mod2=iMod2Thena(i)=a(i)-1”是核心,表示如果奇數(shù)位置是奇數(shù),或者偶數(shù)位置是偶數(shù),則該a(i)的值減去1,而a(i)范圍為[1,20],這樣操作后a(i)的奇偶性發(fā)生了互換,也就是奇數(shù)位置是偶數(shù),偶數(shù)位置是奇數(shù),另外的情況是a(i)的值加2,故范圍是[0,22],因此排除選項C,然后考慮位置和奇偶性,只有選項B符合。【分析】本題考查的是對程序代碼的理解。12.某排序算法的VB程序段如下:Fori=1To2Forj=1To6-2iIf?a(j)<a(j+2)Thent=a(j):a(j)=a(j+2):a(j+2)=tEndIfNextjNexti數(shù)組元素a(1)~a(6)的初始值依次為“15,13,44,38,26,7”,執(zhí)行該程序段后,數(shù)組a元素的值分別為(??)A.?44,38,26,13,15,7?????????????????????B.?44,7,26,13,15,38C.?15,38,26,13,44,7?????????????????????D.?44,38,26,15,13,7【答案】A【考點】常見數(shù)據(jù)類型、數(shù)組【解析】【解答】分析程序段運(yùn)行過程:i=1,j=1時,a(1)i=1,j=2時,a(2)i=1,j=3時,a(3)i=1,j=4時,a(4)i=2,j=1時,a(1)i=2,j=2時,a(2)循環(huán)結(jié)束。此時數(shù)組a元素的值分別為44,38,26,13,15,7。故答案選A。【分析】本題考查學(xué)生對嵌套循環(huán)語句的理解,做題過程中,應(yīng)時刻注意程序段中每個變量的變化情況。13.有VB程序段如下:Dima(1To5)AsIntegerDimiAsInteger,jAsInteger,sAsStrings=“”???Fori=2To5???????Forj=iTo5???????????IfjModi=0Thena(j)=a(j)+1???????Nextj???Nexti???Fori=1To5???????Ifa(i)<>1Thens=Str(i)+s???Nexti???Text1.Text=S若數(shù)組a的初始值都為0,則運(yùn)行該程序段后,Text1中顯示的內(nèi)容為(?)A.?14??????????????????????????????B.?235??????????????????????????????C.?532??????????????????????????????D.?41【答案】D【考點】算法的控制結(jié)構(gòu),常見數(shù)據(jù)類型、數(shù)組,常量、變量及變量的賦值【解析】【解答】計算完成后,a(1)=0,a(2)=1,a(3)=1,a(4)=2,a(5)=1,最后統(tǒng)計數(shù)組中值不為1的元素下標(biāo),只有1和4,且輸出時左邊更新,所以答案是41(數(shù)字4和1之間有空格)。故答案選D。【分析】本題主要考查雙重循環(huán)中數(shù)組的運(yùn)算。14.有如下VB程序段:Fori=1To5a(i)=Int(Rnd20)+1NextiFori=2To5IfiMod2=1Anda(i-1)<a(i)Then?t=a(i):a(i)=a(i-1):a(i-1)=tElsea(i)=a(i)-1EndIfNexti執(zhí)行該程序段后,a(1)~a(5)各元素不可能的值是(?)A.?730190?????????????B.?1816192?????????????C.?201781915?????????????D.?190784【答案】D【考點】常量、變量及變量的賦值【解析】【解答】由語句a(i)=Int(Rnd20)+1可知,數(shù)組a元素的初始值范圍是[1,21)。For循環(huán)的循環(huán)變量i初始值為2,且i=2時,不滿足iMod2=1Anda(i-1)<a(i),因此執(zhí)行語句a(i)=a(i)-1。所以執(zhí)行第一次循環(huán)后,a(1)范圍是[1,21),a(2)范圍是[0,20)。當(dāng)i=3時,iMod2=1,若a(2)<a(3),則交換兩個元素的位置,否則執(zhí)行a(i)=a(i)-1。所以第二次循環(huán)結(jié)束后,a(2)應(yīng)該大于a(3)或者a(2)+1>=a(3)。當(dāng)i=4時,不滿足iMod2=1Anda(i-1)<a(i),因此執(zhí)行語句a(i)=a(i)-1。所以執(zhí)行第三次循環(huán)后,a(4)范圍是[0,20)。當(dāng)i=5時,iMod2=1,若a(4)<a(5),則交換兩個元素的位置,否則執(zhí)行a(i)=a(i)-1。所以第四次循環(huán)結(jié)束后,a(4)應(yīng)該大于a(5)或者a(4)+1>=a(5)。根據(jù)以上分析,a(1)~a(5)各元素不可能的值是19,0,7,8,4。因為該數(shù)組元素a(2)故答案選D。【分析】本題考查學(xué)生對循環(huán)語句的理解,要求考生能讀懂程序代碼,了解各個變量在程序執(zhí)行過程中的變化。15.有如下VB程序段:Fori=1To10???b(i)=0NextiFori=1To5???Forj=1To10???????Ifb(i)Then?????????b(i)=a(j)?????????t=j???????EndIf???Nextj???a(t)=0???List1.AdditemStr(b(i))Nexti其中數(shù)組元素a(1)到a(10)的值依次為“25,42,53,66,77,83,98,14,38,99”,執(zhí)行程序后,在列表框List1中依次輸出的數(shù)據(jù)是(?)A.?2542536677?????????????????????????????????????B.?1425384253C.?9998837766?????????????????????????????????????D.?8398143899【答案】C【考點】算法的控制結(jié)構(gòu),常見數(shù)據(jù)類型、數(shù)組,常量、變量及變量的賦值【解析】【解答】b數(shù)組初值均為0,外層For循環(huán)5次,外層每循環(huán)一次,則內(nèi)層For循環(huán)10遍,將a數(shù)組中最大值分別賦給b(1)到b(5),在List1中輸出,并將當(dāng)次a數(shù)組的最大值賦值為0。最終降序輸出數(shù)組a中5個元素,為9998837766。故答案選C。【分析】本題主要考查循環(huán)與數(shù)組的綜合使用。16.下列程序段執(zhí)行后,文本框Text1中顯示的內(nèi)容是(?)s=“QUOTES:keepongoingnevergiveup!”flag=False:m=0Fori=1ToLen(s)???????ch=Mid(s,i,1)???????Ifch>=“a”Andch<=“z”Then?????????IfNotflagThen???????????m=m+1???????????flag=True???????EndIf???Else???????flag=False???EndIfNextiText1.Text=Str(m)A.?5??????????????????????????????????B.?6??????????????????????????????????C.?7??????????????????????????????????D.?21【答案】B【考點】常量、變量及變量的賦值【解析】【解答】當(dāng)選擇結(jié)構(gòu)比較出第一個小寫字母時,m值增加1,flag值變?yōu)門rue,接下來連續(xù)出現(xiàn)的小寫字母都不能使m值改變,直到比較出非小寫字母,flag值變?yōu)镕alse,然后繼續(xù)比較出第一個小寫字母,m值增加1,如此反復(fù),最終m值為6。故答案選B。【分析】本題考查的是對程序代碼的理解。17.下面程序的功能是:產(chǎn)生20個[1,100]范圍內(nèi)的隨機(jī)整數(shù),并統(tǒng)計這20個隨機(jī)數(shù)中的整數(shù)的個數(shù)(重復(fù)出現(xiàn)算1個),結(jié)果顯示在標(biāo)簽Label1中。例如:5個隨機(jī)數(shù)[10,20,20,31,32]中不重復(fù)數(shù)字個數(shù)為3。程序部分代碼如下:count=0Fori=1To20???a(i)=Int(Rnd100)+1NextiFori=1To20???①NextiFori=1To100???Ifb(i)<>0Thencount=count+1NextiLabel1.caption=“不重復(fù)數(shù)字個數(shù)”+Str(count)為實現(xiàn)上述功能,則程序①處應(yīng)填入的語句為(?)A.?b(i)=1?????????B.?b(a(i))=a(b(i))+1?????????C.?b(i)=b(i)+1?????????D.?b(a(i))=b(a(i))+1【答案】D【考點】常見數(shù)據(jù)類型、數(shù)組,常量、變量及變量的賦值【解析】【解答】本題將產(chǎn)生的隨機(jī)數(shù)存儲到數(shù)組a中,數(shù)組b的位置表示a數(shù)組中的某個數(shù),該位置的值表示這個數(shù)出現(xiàn)了幾次,例如a(1)=10,那么就執(zhí)行b(10)加1,得到b(10)=1,表示10這個數(shù)出現(xiàn)了1次,a(2)=20,得到b(20)=1,表示20這個數(shù)出現(xiàn)了1次,a(3)=20,那么b(20)的值再加1,得到b(20)=2,表示20這個數(shù)出現(xiàn)了2次,以此類推,出現(xiàn)一個a(i),只要將b(a(i))的值加1,即可統(tǒng)計出a數(shù)組中的數(shù)出現(xiàn)了幾次,程序的第二個循環(huán)就是統(tǒng)計a數(shù)組中的數(shù)值出現(xiàn)的次數(shù),并存儲在b數(shù)組,最終只要統(tǒng)計b數(shù)組中值不為0的位置的個數(shù),就可以知道a數(shù)組中的不重復(fù)數(shù)字的個數(shù)了。故答案選D。【分析】本題主要考查的是數(shù)組的應(yīng)用。18.有如下VB程序段:DimiAsInteger,sumAsIntegerDima(1To6)AsInteger,b(1To6)AsIntegersum=0a(6)=18:a(5)=7:b(6)=14:b(5)=16Fori=4To1Step-1?a(i)=a(i+2)-a(i+1)?b(i)=b(i+2)-a(i)?Ifb(i)Mod3=0Thensum=sum+b(i)NextiText1.Text=Str(sum)該程序段運(yùn)行后,文本框Text1中顯示的內(nèi)容是(?)A.?39????????????????????????????????B.?30????????????????????????????????C.?-9????????????????????????????????D.?12【答案】B【考點】常量、變量及變量的賦值,遞歸算法【解析】【解答】i=4時,a(4)=11,b(4)=3,sum=3;i=3時,a(3)=-4,b(3)=20;i=2時,a(2)=15,b(2)=-12,sum=-9;i=1時,a(1)=-19,b(1)=39,sum=30。故答案選B。【分析】本題考查的是對遞歸算法的理解。19.某VB程序段如下:Dima(1To6)AsIntegerRandomizea(1)=Int(Rnd2)+1Fori=2To6?a(j)=Int(Rndi)2+1?Ifa(i)<a(i-1)Then???a(i)=a(i)+a(i-1)?EndIfNexti執(zhí)行該程序段后,數(shù)組元素a(1)到a(6)的值可能是(?)A.?2,4,6,8,10,12???????????????????????????B.?1,1,3,7,12,23C.?2,5,9,11,10,15?????????????????????????D.?1,3,15,16,20,23【答案】B【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式,常量、變量及變量的賦值【解析】【解答】最初時,a(1)的范圍是1~2,a(2)的范圍是1~3,a(3)的范圍是1~5,a(4)的范圍是1~7,a(5)的范圍是1~9,a(6)的范圍是1~11。再根據(jù)if語句進(jìn)行調(diào)整,當(dāng)前元素小于前面一個元素時,將這兩個值相加后再賦值給當(dāng)前的元素a(i)。當(dāng)a(1)=2時,a(2)不可能超過3,因此可以排除AC。另外,當(dāng)a(2)=3時,a(3)的值絕對不可能是15(最大值只能是5),從而排除選項D。故答案選B。【分析】本題考查VB隨機(jī)數(shù)及邏輯判斷。20.如果數(shù)組a(下標(biāo)1到n)滿足a(1)≤a(2)≤…≤a(i-1)≤a(i)≥a(i+1)≥…≥a(n),則稱數(shù)組a是單峰的,并稱a(i)是數(shù)組a的“峰頂”。下列程序段用于查找數(shù)組a中的“峰頂”,并返回該“峰頂”值。Dima(1To10)AsIntegerFunctionSearch(LAsInteger,RAsInteger)AsInteger????M=(L+R)\2????Ifa(M)Anda(M)>a(M+1)Then????①????ElseIfa(M)>a(M-1)Anda(M)>a(M+1)Then????②????ElseIfa(M)>a(M-1)Anda(M)Then????③????EndIfEndFunctionPrivateSubCommand1click()????Label1.caption=““峰頂”值是:”+Str(Search(1,10))EndSub上述程序中劃線處可選語句為:①Search=Search(M+1,R)②Search=Search(L,M-1)③Search=a(M)則①②③處的語句依次是(?)A.?①②③???????????????????????B.?①③②???????????????????????C.?③①②???????????????????????D.?②③①【答案】D【考點】常量、變量及變量的賦值,查找算法及程序?qū)崿F(xiàn),遞歸算法【解析】【解答】如果a(M)>a(M-1)Anda(M)>a(M+1),則此時的M即為“峰頂”,因此(2)處填Search=a(M);當(dāng)a(M)a(M)>a(M+1)時,說明“峰頂”在左半?yún)^(qū),因此L不變,R=M-1,(1)處應(yīng)填Search=Search(L,M-1)。故答案選D。【分析】本題考查的是VB的遞歸算法及對分查找算法。21.有如下VB程序段,已知a數(shù)組各元素值為“7,5,6,3,1,8”,b數(shù)組各元素的初始值為“0”。則經(jīng)過以下程序段處理后,b數(shù)組各元素分別為(?)Fori=1To5?k=i?Forj=i+1To6?Ifa(k)>a(j)Thenk=j?Nextj?t=a(k):a(k)=a(i):a(i)=t?b((i+2)Mod6+1)=a(i)NextiA.?135678??????????????B.?701356??????????????C.?678135??????????????D.?670135【答案】D【考點】常量、變量及變量的賦值,排序算法及程序?qū)崿F(xiàn)【解析】【解答】這段程序首先基本實現(xiàn)了數(shù)組的升序排序,但新的位置把排序后的位置循環(huán)往右移動了3個位置,如元素“1”本來在第1個位置,但移動到了第4個位置,“6”本來在第4個位置,往右移3個位置,超出后到最左側(cè),變成在第1個位置,最后數(shù)字“8”原位置被占,但新位置沒有被賦值,所以第3個位置為“0”。故答案選D。【分析】本題考查的是對排序算法的理解。22.數(shù)組a中有n個正整數(shù),對該數(shù)組進(jìn)行排序,生成左右交替上升數(shù)據(jù)序列。實現(xiàn)該功能的VB程序段如下:Fori=1Ton\2??????k=i???????????Ifa(j)Thenk=j???Nextj???Ifi<>kThen???????t=a(i):a(i)=a(k):a(k)=t???EndIf???????If?Then???????t=a(j):a(j)=a(j+1):a(j+1)=t?????EndIf???NextjNexti上述程序中方框處可選語句或表達(dá)式有:①Forj=i+1Ton-i+1???②Forj=i+1Ton-i③a(j)④a(j)>a(j+1)則(1)、(2)、(3)處語句依次是(?)A.?①、②、③??????????????B.?①、②、④??????????????C.?②、①、③??????????????D.?②、①、④【答案】A【考點】常量、變量及變量的賦值,排序算法及程序?qū)崿F(xiàn)【解析】【解答】第1趟的排序結(jié)果是第1個和第n個數(shù)據(jù)有序,第2趟的排序結(jié)果是第2個和第n-1個數(shù)據(jù)有序,因此第2趟和第3趟的排序區(qū)間分別為[2,n-1]和[3,n-2],可以得到結(jié)論:第i趟排序,左邊排序區(qū)間的開始和結(jié)束位置分別是i和n-i+1,第i個數(shù)有序;右邊排序區(qū)間的開始和結(jié)束位置分別是i+1和n-i+1。左邊排序時,最值(所在位置k)和第i+1位置上的數(shù)開始比較,一直比較到位置n-i+1。右邊排序時,由于排序?qū)ο笫堑趈個位置上的數(shù)和第j+1位置上的數(shù)比較,因此j+1先達(dá)到終點n-i+1,此時j的值為n-i。由于右邊是降序排序,因此把前面的數(shù)要換到后面去,故a(j)【分析】本題主要考查冒泡排序和選擇排序的算法思想。從比較對象a(j)23.某二分查找算法的VB程序段如下:key=Va1(Text1.Text)i=1j=9Text2.Text=""DoWhilei<=j????Ifkey=a(m)ThenExitDo??IfkeyTheni=m+1Elsej=m-1??Text2.Text=Text2.Text+“”+Str(a(m))Loop數(shù)組元素a(1)到a(9)的值依次為88,75,70,68,61,58,55,50,43,文本框Text1中輸入的值是58,執(zhí)行該程序段,文本框Text2中顯示的是61,50,55,則方框處的代碼應(yīng)為(?)A.?m=(i+j+1)\2????????B.?m=(i+j)\2+1????????C.?m=(i+j)\2????????D.?m=(i+j-1)\2【答案】A【考點】常量、變量及變量的賦值,查找算法及程序?qū)崿F(xiàn)【解析】【解答】Text2中顯示的是每次查找的中值m,根據(jù)中值的順序,可得中值m的表達(dá)式為(i+j+1)\2。故答案選A。【分析】本題考查的是二分查找算法的VB程序。對分查找的基本思路:在有序的數(shù)據(jù)序列中(一般放在數(shù)組中),首先把查找的數(shù)據(jù)與數(shù)組中間位置的元素進(jìn)行比較,若相等,則查找成功并退出查找;否則,根據(jù)數(shù)組元素的有序性,確定數(shù)據(jù)應(yīng)在數(shù)組的前半部分還是在后半部分查找;在確定了新的查找范圍后,重復(fù)進(jìn)行以上比較,直到找到或未找到為止。24.有如下VB程序段:y=0n=Len(Text1.Text)Fori=1Ton???c=Mid(Text1.Text,i,1)???Ifc>=“0”Andc<=“9”Then???????x=Val(c):a(x)=a(x)+1???EndIfNextiFori=0To9???Ifa(i)>0Theny=y+1NextiLabel1.Caption=Str(y)a數(shù)組各元素的初值為0,程序運(yùn)行時,在文本框Text1中輸入內(nèi)容“pi=3.1415926535”,單擊按鈕Command1后,標(biāo)簽Label1中顯示的內(nèi)容是(?)A.?6??????????????????????????????????B.?7??????????????????????????????????C.?8??????????????????????????????????D.?9【答案】B【考點】常量、變量及變量的賦值【解析】【解答】第一個For循環(huán)的作用是統(tǒng)計每個數(shù)字出現(xiàn)的次數(shù),存入相對應(yīng)的數(shù)組元素里,第二個For循環(huán)的目的是統(tǒng)計出現(xiàn)過的數(shù)字個數(shù)。3.1415926535中0,7,8共3個數(shù)字沒有出現(xiàn)過,所以出現(xiàn)過的數(shù)字有10-3=7個。故答案選B。【分析】本題考查對VB程序代碼的理解。25.有如下VB程序段:s=Text1.Text:n=0:f=FalseFori=1ToLen(s)?ch=Mid(s,i,1)??Ifch>="0"Andch<="9"Then???IfNotfThen?????f=True:n=n+1???EndIf?Else???f=False?EndIfNexti運(yùn)行該程序段后,在文本框Text1中輸入“13+(123-23)2”則變量n的值為(?)A.?1??????????????????????????????????B.?4??????????????????????????????????C.?8??????????????????????????????????D.?13【答案】B【考點】常量、變量及變量的賦值【解析】【解答】分析該程序可得出其功能是:統(tǒng)計文本框Text1中輸入的字符串中包含的整數(shù)個數(shù),“13+(123-23)2”包含整數(shù)13,123,23,2,共4個。故答案選B。【分析】本題主要考查的是VB程序設(shè)計。1/1(…………○…………外…………○…………裝…………○…………訂…………○…………線…………○…………)(※※請※※不※※要※※在※※裝※※訂※※線※※內(nèi)※※答※※題※※)(…………○…………內(nèi)…………○…………裝…………○…………訂…………○…………線…………○…………)登陸二一教育在線組卷平臺助您教考全無憂浙江省金華市江南中學(xué)2020屆高三信息技術(shù)網(wǎng)課2月22日第二周測試卷一、選擇題(252=50分)(共25題;共50分)1.下列表達(dá)式的運(yùn)算結(jié)果與其他選項不同的是(?)A.?Len("123")+2^2??????????????????????????????B.?Abs(Int(-6.8))C.?Asc(Mid("789",1,1))???????????????????????????D.?Val("9")-Sqr(4)2.下列VB表達(dá)式中,隨機(jī)產(chǎn)生10到100之間奇數(shù)的是(?)A.?Int(Rnd45)2+10?????????????????????????????B.?Int(Rnd45)2+11C.?Int(Rnd90+10)???????????????????????????????????D.?Int(Rnd90+11)3.有如下VB程序段:Fori=1To9Step2??b(a(i)Mod10)=b(a(i)Mod10)+1Nextis=0Fori=0To9Step3??s=s+b(i)Nexti數(shù)組b各元素初始值為0,數(shù)組元素a(1)到a(9)的值依次為“29,74,12,38,16,45,21,57,33”,則執(zhí)行該程序段后,s的值為(?)A.?5??????????????????????????????????B.?4??????????????????????????????????C.?3??????????????????????????????????D.?24.有如下VB程序段:a(1)=1?Fori=2To6?Randomize?a(i)=a(i-1)+Int(Rnd5+1)?Ifa(i)Mod2=1Then??a(i)=a(i)\2+1?Else??a(i)=a(i)/2?EndIf?Nexti執(zhí)行程序后,a數(shù)組各元素可能是(?)A.?134679??????????????B.?120356??????????????C.?123454??????????????D.?1345115.有如下VB程序段:s="123456789"g=""Fori=1To3?n=Len(s)?x=Int(Rndn)+1?g=g+Mid(s,x,1)?s=Mid(s,1,x-1)+Mid(s,x+1,n-x)Nexti在程序執(zhí)行時,若變量x的值依次為3,3,6,則最終變量g的值為(?)A.?"336"???????????????????????????B.?"346"???????????????????????????C.?"348"???????????????????????????D.?156.有如下VB程序段:Fori=1To3Forj=1To5-i????Ifa(j)>a(j+1)Then????????t=a(j):a(j)=a(j+1):a(j+1)=t????End?If????Nextj????Text1.Text=Text1.Text+str(a(i))Nexti數(shù)組元素a(1)到a(5)的值依次為“3,9,6,8,4”。該程序段執(zhí)行后,文本框Text1顯示的內(nèi)容是(?)A.?346?????????????????????????????B.?689?????????????????????????????C.?364?????????????????????????????D.?3667.某對分查找算法的VB程序段如下:i=1:j=8:s=""key=Text1.TextDoWhilei<=j?m=(i+j)\2?Ifkey=a(m)Then??s=s+"M"??ExitDo?ElseIfkey>a(m)Then??j=m-1:s=s+"L"?Else??i=m+1:s=s+"R"?EndIfLoopText1.Text=s數(shù)組元素a(1)到a(8)的值依次為“4,22,27,32,35,44,56,59”,該程序段執(zhí)行后,文本框Text1中顯示的內(nèi)容不可能是(?)A.?M???????????????????????????????B.?LR???????????????????????????????C.?RM???????????????????????????????D.?LM8.某VB程序段如下:?s="HelloWorld"?s1=""?n=Len(s)?Fori=1Ton\2??IfMid(s,i,1)>Mid(s,n-i+1,1)Then????s1=s1+Mid(s,i,1)??Else????s1=Mid(s,n-i+1,1)+s1??EndIf?Nexti?Text1.Text=s1執(zhí)行該程序段后,在文本框Text1中顯示的是(?)A.?WlleH????????????????????????B.?oorld????????????????????????C.?dlroo????????????????????????D.?orldo9.有如下VB程序段:Fori=1To8???a(i)=Int(Rnd2)Nextisum=0Fori=1To8Step3???Forj=iTo8???????a(j)=1-a(j)???Nextj???sum=sum+a(i)NextiText1.Text=Str(sum)執(zhí)行該程序段后,文本框Text1中顯示的內(nèi)容不可能是(?)A.?0??????????????????????????????????B.?2??????????????????????????????????C.?3??????????????????????????????????D.?410.有VB程序段如下:s="2019appreciate":sum=0Fori=1ToLen(s)?ch=Mid(s,i,1)?Ifch>="a"Andch<="z"Then???m=Asc(ch)-Asc("a")+1???a(m)=a(m)+1?EndIf?Nexti?Fori=1To10?Ifa(i)>0Thensum=sum+1?Nexti數(shù)組a各元素的初始值都為0,執(zhí)行該程序段后,變量sum的值為(?)A.?10??????????????????????????????????B.?7??????????????????????????????????C.?4??????????????????????????????????D.?311.有VB序段如下:RandomizeFori=1To6??a(i)=Int(Rnd20)+1?Ifa(i)Mod2=iMod2Then???a(i)=a(i)-1?Else???a(i)=a(i)+2?EndIfNexti執(zhí)行該程序段后,a(1)~a(6)各元素可能的是(?)A.?13,2,7,12,5,18?????????????????????????B.?22,7,0,15,4,19C.?20,9,18,23,4,7?????????????????????????D.?6,0,4,21,18,1712.某排序算法的VB程序段如下:Fori=1To2Forj=1To6-2iIf?a(j)<a(j+2)Thent=a(j):a(j)=a(j+2):a(j+2)=tEndIfNextjNexti數(shù)組元素a(1)~a(6)的初始值依次為“15,13,44,38,26,7”,執(zhí)行該程序段后,數(shù)組a元素的值分別為(??)A.?44,38,26,13,15,7?????????????????????B.?44,7,26,13,15,38C.?15,38,26,13,44,7?????????????????????D.?44,38,26,15,13,713.有VB程序段如下:Dima(1To5)AsIntegerDimiAsInteger,jAsInteger,sAsStrings=“”???Fori=2To5???????Forj=iTo5???????????IfjModi=0Thena(j)=a(j)+1???????Nextj???Nexti???Fori=1To5???????Ifa(i)<>1Thens=Str(i)+s???Nexti???Text1.Text=S若數(shù)組a的初始值都為0,則運(yùn)行該程序段后,Text1中顯示的內(nèi)容為(?)A.?14??????????????????????????????B.?235??????????????????????????????C.?532??????????????????????????????D.?4114.有如下VB程序段:Fori=1To5a(i)=Int(Rnd20)+1NextiFori=2To5IfiMod2=1Anda(i-1)<a(i)Then?t=a(i):a(i)=a(i-1):a(i-1)=tElsea(i)=a(i)-1EndIfNexti執(zhí)行該程序段后,a(1)~a(5)各元素不可能的值是(?)A.?730190?????????????B.?1816192?????????????C.?201781915?????????????D.?19078415.有如下VB程序段:Fori=1To10???b(i)=0NextiFori=1To5???Forj=1To10???????Ifb(i)Then?????????b(i)=a(j)?????????t=j???????EndIf???Nextj???a(t)=0???List1.AdditemStr(b(i))Nexti其中數(shù)組元素a(1)到a(10)的值依次為“25,42,53,66,77,83,98,14,38,99”,執(zhí)行程序后,在列表框List1中依次輸出的數(shù)據(jù)是(?)A.?2542536677?????????????????????????????????????B.?1425384253C.?9998837766?????????????????????????????????????D.?839814389916.下列程序段執(zhí)行后,文本框Text1中顯示的內(nèi)容是(?)s=“QUOTES:keepongoingnevergiveup!”flag=False:m=0Fori=1ToLen(s)???????ch=Mid(s,i,1)???????Ifch>=“a”Andch<=“z”Then?????????IfNotflagThen???????????m=m+1???????????flag=True???????EndIf???Else???????flag=False???EndIfNextiText1.Text=Str(m)A.?5??????????????????????????????????B.?6??????????????????????????????????C.?7??????????????????????????????????D.?2117.下面程序的功能是:產(chǎn)生20個[1,100]范圍內(nèi)的隨機(jī)整數(shù),并統(tǒng)計這20個隨機(jī)數(shù)中的整數(shù)的個數(shù)(重復(fù)出現(xiàn)算1個),結(jié)果顯示在標(biāo)簽Label1中。例如:5個隨機(jī)數(shù)[10,20,20,31,32]中不重復(fù)數(shù)字個數(shù)為3。程序部分代碼如下:count=0Fori=1To20???a(i)=Int(Rnd100)+1NextiFori=1To20???①NextiFori=1To100???Ifb(i)<>0Thencount=count+1NextiLabel1.caption=“不重復(fù)數(shù)字個數(shù)”+Str(count)為實現(xiàn)上述功能,則程序①處應(yīng)填入的語句為(?)A.?b(i)=1?????????B.?b(a(i))=a(b(i))+1?????????C.?b(i)=b(i)+1?????????D.?b(a(i))=b(a(i))+118.有如下VB程序段:DimiAsInteger,sumAsIntegerDima(1To6)AsInteger,b(1To6)AsIntegersum=0a(6)=18:a(5)=7:b(6)=14:b(5)=16Fori=4To1Step-1?a(i)=a(i+2)-a(i+1)?b(i)=b(i+2)-a(i)?Ifb(i)Mod3=0Thensum=sum+b(i)NextiText1.Text=Str(sum)該程序段運(yùn)行后,文本框Text1中顯示的內(nèi)容是(?)A.?39????????????????????????????????B.?30????????????????????????????????C.?-9????????????????????????????????D.?1219.某VB程序段如下:Dima(1To6)AsIntegerRandomizea(1)=Int(Rnd2)+1Fori=2To6?a(j)=Int(Rndi)2+1?Ifa(i)<a(i-1)Then???a(i)=a(i)+a(i-1)?EndIfNexti執(zhí)行該程序段后,數(shù)組元素a(1)到a(6)的值可能是(?)A.?2,4,6,8,10,12???????????????????????????B.?1,1,3,7,12,23C.?2,5,9,11,10,15?????????????????????????D.?1,3,15,16,20,2320.如果數(shù)組a(下標(biāo)1到n)滿足a(1)≤a(2)≤…≤a(i-1)≤a(i)≥a(i+1)≥…≥a(n),則稱數(shù)組a是單峰的,并稱a(i)是數(shù)組a的“峰頂”。下列程序段用于查找數(shù)組a中的“峰頂”,并返回該“峰頂”值。Dima(1To10)AsIntegerFunctionSearch(LAsInteger,RAsInteger)AsInteger????M=(L+R)\2????Ifa(M)Anda(M)>a(M+1)Then????①????ElseIfa(M)>a(M-1)Anda(M)>a(M+1)Then????②????ElseIfa(M)>a(M-1)Anda(M)Then????③????EndIfEndFunctionPrivateSubCommand1click()????Label1.caption=““峰頂”值是:”+Str(Search(1,10))EndSub上述程序中劃線處可選語句為:①Search=Search(M+1,R)②Search=Search(L,M-1)③Search=a(M)則①②③處的語句依次是(?)A.?①②③???????????????????????B.?①③②???????????????????????C.?③①②???????????????????????D.?②③①21.有如下VB程序段,已知a數(shù)組各元素值為“7,5,6,3,1,8”,b數(shù)組各元素的初始值為“0”。則經(jīng)過以下程序段處理后,b數(shù)組各元素分別為(?)Fori=1To5?k=i?Forj=i+1To6?Ifa(k)>a(j)Thenk=j?Nextj?t=a(k):a(k)=a(i):a(i)=t?b((i+2)Mod6+1)=a(i)NextiA.?135678??????????????B.?701356??????????????C.?678135??????????????D.?67013522.數(shù)組a中有n個正整數(shù),對該數(shù)組進(jìn)行排序,生成左右交替上升數(shù)據(jù)序列。實現(xiàn)該功能的VB程序段如下:Fori=1Ton\2??????k=i???????????Ifa(j)Thenk=j???Nextj???Ifi<>kThen???????t=a(i):a(i)=a(k):a(k)=t???EndIf???????If?Then???????t=a(j):a(j)=a(j+1):a(j+1)=t?????EndIf???NextjNexti上述程序中方框處可選語句或表達(dá)式有:①Forj=i+1Ton-i+1???②Forj=i+1Ton-i③a(j)④a(j)>a(j+1)則(1)、(2)、(3)處語句依次是(?)A.?①、②、③??????????????B.?①、②、④??????????????C.?②、①、③??????????????D.?②、①、④23.某二分查找算法的VB程序段如下:key=Va1(Text1.Text)i=1j=9Text2.Text=""DoWhilei<=j????Ifkey=a(m)ThenExitDo??IfkeyTheni=m+1Elsej=m-1??Text2.Text=Text2.Text+“”+Str(a(m))Loop數(shù)組元素a(1)到a(9)的值依次為88,75,70,68,61,58,55,50,43,文本框Text1中輸入的值是58,執(zhí)行該程序段,文本框Text2中顯示的是61,50,55,則方框處的代碼應(yīng)為(?)A.?m=(i+j+1)\2????????B.?m=(i+j)\2+1????????C.?m=(i+j)\2????????D.?m=(i+j-1)\224.有如下VB程序段:y=0n=Len(Text1.Text)Fori=1Ton???c=Mid(Text1.Text,i,1)???Ifc>=“0”Andc<=“9”Then???????x=Val(c):a(x)=a(x)+1???EndIfNextiFori=0To9???Ifa(i)>0Theny=y+1NextiLabel1.Caption=Str(y)a數(shù)組各元素的初值為0,程序運(yùn)行時,在文本框Text1中輸入內(nèi)容“pi=3.1415926535”,單擊按鈕Command1后,標(biāo)簽Label1中顯示的內(nèi)容是(?)A.?6??????????????????????????????????B.?7??????????????????????????????????C.?8??????????????????????????????????D.?925.有如下VB程序段:s=Text1.Text:n=0:f=FalseFori=1ToLen(s)?ch=Mid(s,i,1)??Ifch>="0"Andch<="9"Then???IfNotfThen?????f=True:n=n+1???EndIf?Else???f=False?EndIfNexti運(yùn)行該程序段后,在文本框Text1中輸入“13+(123-23)2”則變量n的值為(?)A.?1??????????????????????????????????B.?4??????????????????????????????????C.?8??????????????????????????????????D.?13答案解析部分一、選擇題(252=50分)1.【答案】C【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式【解析】【解答】選項A:Len("123")+2^2=3+4=7。選項B:Abs(Int(-6.8))=Abs(-7)=7。選項C:Asc(Mid("789",1,1))=Asc(“7”)=55。選項D:Val("9")-Sqr(4)=9-2=7。故答案選C。【分析】本題考查的是len()、abs()、int()、mid()、asc()、val()和sqr()函數(shù)的功能。len函數(shù)是求字符串的長度,abs函數(shù)是求參數(shù)的絕對值,int是求不大于參數(shù)的整數(shù),mid中按指定位置指定長度從字符串中取出一個子串,asc是求某個字符的ASCII碼,val是將參數(shù)轉(zhuǎn)為數(shù)值型,sqr是求參數(shù)的算術(shù)平方根。2.【答案】B【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式【解析】【解答】隨機(jī)產(chǎn)生奇數(shù)的形式是類似于“2n+奇數(shù)”的VB表達(dá)式,該數(shù)的區(qū)間范圍是10到100的奇數(shù),即11到99的奇數(shù),故答案是B。【分析】本題考查的是隨機(jī)產(chǎn)生奇數(shù)的VB表達(dá)式。3.【答案】C【考點】常見數(shù)據(jù)類型、數(shù)組,常量、變量及變量的賦值【解析】【解答】數(shù)組元素的個位數(shù)按照桶排序進(jìn)行計數(shù),步長為2,故統(tǒng)計a(1)Mod10,a(3)Mod10,a(5)Mod10,a(7)Mod10,a(9)Mod10的結(jié)果,因此1、2、3、6、9的值數(shù)組加1,而累加時的步長是3,b(3)、b(6)和b(9)的值被累加,故答案是3。故答案選C。【分析】本題考查的是數(shù)組和統(tǒng)計。4.【答案】C【考點】常見數(shù)據(jù)類型、數(shù)組,運(yùn)算符、基本運(yùn)算與表達(dá)式【解析】【解答】題中a(2)的范圍是1~3,a(3)~a(5)的范圍都是1~5,排除A、B,選項D中a(4)=5,可推知a(5)為3~5,不可能是1,只有C都符合。故答案選C。【分析】本題考查的是數(shù)組的運(yùn)用以及對常用函數(shù)的理解。5.【答案】C【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式,常量、變量及變量的賦值【解析】【解答】變量值的變化如下:i123x336g"3""34""348"s"12456789""1256789""125679"故答案選C。【分析】本題考查的是對基本函數(shù)功能以及程序語句的理解。Mid()函數(shù)是從文本字符串中指定的開始位置起返回指定長度的字符。Rnd()函數(shù)是產(chǎn)生隨機(jī)數(shù)。6.【答案】D【考點】常量、變量及變量的賦值,排序算法及程序?qū)崿F(xiàn)【解析】【解答】對這5個數(shù)據(jù),冒泡排序?qū)?shù)值大的數(shù)據(jù)往后交換。進(jìn)行前3輪的升序排序,然后分別輸出第一輪的第一項,第二輪的第二項,第三輪的第三項。第一輪排序后結(jié)果:3,6,8,4,9,輸出第一項3;第二輪排序后結(jié)果:3,6,4,8,9,輸出第二項6;第三輪排序后結(jié)果:3,4,6,8,9,輸出第三項6,故答案選D。【分析】本題主要考查冒泡排序算法。7.【答案】B【考點】常量、變量及變量的賦值,查找算法及程序?qū)崿F(xiàn)【解析】【解答】若key值能在a(1)到a(8)中找到,s中最后一個字符一定為“M”。若key值不能在a(1)到a(8)中找到,則需查找4次才能結(jié)束,s的字符串長度應(yīng)為4。故答案選B。【分析】本題考查的是對分查找算法。對分查找的基本思路:在有序的數(shù)據(jù)序列中(一般放在數(shù)組中),首先把查找的數(shù)據(jù)與數(shù)組中間位置的元素進(jìn)行比較,若相等,則查找成功并退出查找;否則,根據(jù)數(shù)組元素的有序性,確定數(shù)據(jù)應(yīng)在數(shù)組的前半部分還是在后半部分查找;在確定了新的查找范圍后,重復(fù)進(jìn)行以上比較,直到找到或未找到為止。8.【答案】D【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式,常量、變量及變量的賦值【解析】【解答】程序?qū)崿F(xiàn)第一個字符和最后一個字符進(jìn)行比較,若大于則取前面的字符,連接后按順序賦值給變量s1,反之則取后面的字符,但是要倒序連接并賦值給變量s1,第二個字符和倒數(shù)第二個字符進(jìn)行比較,……,以此類推,故答案選D。【分析】本題考查的是VB字符串的處理以及對Mid()函數(shù)的理解。9.【答案】D【考點】算法的控制結(jié)構(gòu),常量、變量及變量的賦值【解析】【解答】本題中a(i)的取值是0或1,循環(huán)只有3次(i=1、4、7),sum的值最多也只有3,只有D不可能。故答案選D。【分析】本題主要考查的是對循環(huán)語句的理解。10.【答案】C【考點】常量、變量及變量的賦值【解析】【解答】代碼的作用是統(tǒng)計小寫英文字母中前10個字符(a~j)出現(xiàn)的次數(shù)并記錄到相應(yīng)的數(shù)組元素a(1)、a(2)、…、a(10)中,并最終統(tǒng)計共有幾個字母出現(xiàn)過,根據(jù)題意可知,有4個數(shù)組元素的值大于0,因此答案是4。故答案選C。【分析】本題考查的是VB的字符串處理。11.【答案】B【考點】常量、變量及變量的賦值【解析】【解答】代碼中“Ifa(i)Mod2=iMod2Thena(i)=a(i)-1”是核心,表示如果奇數(shù)位置是奇數(shù),或者偶數(shù)位置是偶數(shù),則該a(i)的值減去1,而a(i)范圍為[1,20],這樣操作后a(i)的奇偶性發(fā)生了互換,也就是奇數(shù)位置是偶數(shù),偶數(shù)位置是奇數(shù),另外的情況是a(i)的值加2,故范圍是[0,22],因此排除選項C,然后考慮位置和奇偶性,只有選項B符合。【分析】本題考查的是對程序代碼的理解。12.【答案】A【考點】常見數(shù)據(jù)類型、數(shù)組【解析】【解答】分析程序段運(yùn)行過程:i=1,j=1時,a(1)i=1,j=2時,a(2)i=1,j=3時,a(3)i=1,j=4時,a(4)i=2,j=1時,a(1)i=2,j=2時,a(2)循環(huán)結(jié)束。此時數(shù)組a元素的值分別為44,38,26,13,15,7。故答案選A。【分析】本題考查學(xué)生對嵌套循環(huán)語句的理解,做題過程中,應(yīng)時刻注意程序段中每個變量的變化情況。13.【答案】D【考點】算法的控制結(jié)構(gòu),常見數(shù)據(jù)類型、數(shù)組,常量、變量及變量的賦值【解析】【解答】計算完成后,a(1)=0,a(2)=1,a(3)=1,a(4)=2,a(5)=1,最后統(tǒng)計數(shù)組中值不為1的元素下標(biāo),只有1和4,且輸出時左邊更新,所以答案是41(數(shù)字4和1之間有空格)。故答案選D。【分析】本題主要考查雙重循環(huán)中數(shù)組的運(yùn)算。14.【答案】D【考點】常量、變量及變量的賦值【解析】【解答】由語句a(i)=Int(Rnd20)+1可知,數(shù)組a元素的初始值范圍是[1,21)。For循環(huán)的循環(huán)變量i初始值為2,且i=2時,不滿足iMod2=1Anda(i-1)<a(i),因此執(zhí)行語句a(i)=a(i)-1。所以執(zhí)行第一次循環(huán)后,a(1)范圍是[1,21),a(2)范圍是[0,20)。當(dāng)i=3時,iMod2=1,若a(2)<a(3),則交換兩個元素的位置,否則執(zhí)行a(i)=a(i)-1。所以第二次循環(huán)結(jié)束后,a(2)應(yīng)該大于a(3)或者a(2)+1>=a(3)。當(dāng)i=4時,不滿足iMod2=1Anda(i-1)<a(i),因此執(zhí)行語句a(i)=a(i)-1。所以執(zhí)行第三次循環(huán)后,a(4)范圍是[0,20)。當(dāng)i=5時,iMod2=1,若a(4)<a(5),則交換兩個元素的位置,否則執(zhí)行a(i)=a(i)-1。所以第四次循環(huán)結(jié)束后,a(4)應(yīng)該大于a(5)或者a(4)+1>=a(5)。根據(jù)以上分析,a(1)~a(5)各元素不可能的值是19,0,7,8,4。因為該數(shù)組元素a(2)故答案選D。【分析】本題考查學(xué)生對循環(huán)語句的理解,要求考生能讀懂程序代碼,了解各個變量在程序執(zhí)行過程中的變化。15.【答案】C【考點】算法的控制結(jié)構(gòu),常見數(shù)據(jù)類型、數(shù)組,常量、變量及變量的賦值【解析】【解答】b數(shù)組初值均為0,外層For循環(huán)5次,外層每循環(huán)一次,則內(nèi)層For循環(huán)10遍,將a數(shù)組中最大值分別賦給b(1)到b(5),在List1中輸出,并將當(dāng)次a數(shù)組的最大值賦值為0。最終降序輸出數(shù)組a中5個元素,為9998837766。故答案選C。【分析】本題主要考查循環(huán)與數(shù)組的綜合使用。16.【答案】B【考點】常量、變量及變量的賦值【解析】【解答】當(dāng)選擇結(jié)構(gòu)比較出第一個小寫字母時,m值增加1,flag值變?yōu)門rue,接下來連續(xù)出現(xiàn)的小寫字母都不能使m值改變,直到比較出非小寫字母,flag值變?yōu)镕alse,然后繼續(xù)比較出第一個小寫字母,m值增加1,如此反復(fù),最終m值為6。故答案選B。【分析】本題考查的是對程序代碼的理解。17.【答案】D【考點】常見數(shù)據(jù)類型、數(shù)組,常量、變量及變量的賦值【解析】【解答】本題將產(chǎn)生的隨機(jī)數(shù)存儲到數(shù)組a中,數(shù)組b的位置表示a數(shù)組中的某個數(shù),該位置的值表示這個數(shù)出現(xiàn)了幾次,例如a(1)=10,那么就執(zhí)行b(10)加1,得到b(10)=1,表示10這個數(shù)出現(xiàn)了1次,a(2)=20,得到b(20)=1,表示20這個數(shù)出現(xiàn)了1次,a(3)=20,那么b(20)的值再加1,得到b(20)=2,表示20這個數(shù)出現(xiàn)了2次,以此類推,出現(xiàn)一個a(i),只要將b(a(i))的值加1,即可統(tǒng)計出a數(shù)組中的數(shù)出現(xiàn)了幾次,程序的第二個循環(huán)就是統(tǒng)計a數(shù)組中的數(shù)值出現(xiàn)的次數(shù),并存儲在b數(shù)組,最終只要統(tǒng)計b數(shù)組中值不為0的位置的個數(shù),就可以知道a數(shù)組中的不重復(fù)數(shù)字的個數(shù)了。故答案選D。【分析】本題主要考查的是數(shù)組的應(yīng)用。18.【答案】B【考點】常量、變量及變量的賦值,遞歸算法【解析】【解答】i=4時,a(4)=11,b(4)=3,sum=3;i=3時,a(3)=-4,b(3)=20;i=2時,a(2)=15,b(2)=-12,sum=-9;i=1時,a(1)=-19,b(1)=39,sum=30。故答案選B。【分析】本題考查的是對遞歸算法的理解。19.【答案】B【考點】運(yùn)算符、基本運(yùn)算與表達(dá)式,常量、變量及變量的賦值【解析】【解答】最初時,a(1)的范圍是1~2,a(2)的范圍是1~3,a(3)的范圍是1~5,a(4)的范圍是1~7,a(5)的范圍是1~9,a(6)的范圍是1~11。再根據(jù)if語句進(jìn)行調(diào)整,當(dāng)前元素小于前面一個元素時,將這兩個值相加后再賦值給當(dāng)前的元素a(i)。當(dāng)a(1)=2時,a(2)不可能超過3,因此可以排除AC。另外,當(dāng)a(2)=3時,a(3)的值絕對不可能是15(最大值只能是5),從而排除選項D。故答案選B。【分析】本題考查VB隨機(jī)數(shù)及邏輯判斷。20.【答案】D【考點】常量、變量及變量的賦值,查找算法及程序?qū)崿F(xiàn),遞歸算法【解析】【解答】如果a(M)>a(M-1)Anda(M)>a(M+1),則此時的M即為“峰頂”,因此(2)處填Search=a(M);當(dāng)a(M)a(M)>a(M+1)時,說明“峰頂”在左半?yún)^(qū),因此L不變,R=M-1,(1)處應(yīng)填Search=Search(L,M-1)。故答案選D。【分析】本題考查的是VB的遞歸算法及對分查找算法。21.【答案】D【考點】常量、變量及變量的賦值,排序算法及程序?qū)崿F(xiàn)【解析】【解答】這段程序首先基本實現(xiàn)了數(shù)組的升序排序,但新的位置把排序后的位置循環(huán)往右移動了3個位置,如元素“1”本來在第1個位置,但移動到了第4個位置,“6”本來在第4個位置,往右移3個位置,超出后到最左側(cè),變成在第1個位置,最后數(shù)字“8”原位置被占,但新位置沒有被賦值,所以第3個位置為“0”。故答案選D。【分析】本題考查的是對排序算法的理解。22.【答案】A【考點】常量、變量及變量的賦值,排序算法及程序?qū)崿F(xiàn)【解析】【解答】第1趟的排序結(jié)果是第1個和第n個數(shù)據(jù)有序,第2趟的排序結(jié)果是第2個和第n-1個數(shù)據(jù)有序,因此第2趟和第3趟的排序區(qū)間分別為[2,n-1]和[3,n-2],可以得到結(jié)論:第i趟排序,左邊排序區(qū)間的開始和結(jié)束位置分別是i和n-i+1,第i個數(shù)有序;右邊排序區(qū)間的開始和結(jié)束位置分別是i+1和n-i+1。左邊排序時,最值(所在位置k)和第i+1位置上的數(shù)開始比較,一直比較到位置n-i+1。右邊排序時,由于排序?qū)ο笫堑趈個位置上的數(shù)和第j+1位置上的數(shù)比較,因此j+1先達(dá)到終點n-i+1,此時j的值為n-i。由于右邊是降序排序,因此把前面的數(shù)要換到后面去,故a(j)【分析】本題主要考查冒泡排序和選擇排序的算法思想。從比較對象a(j)23.【答案】A【考點】常量、變量及變量的賦值,查找算法及程序?qū)崿F(xiàn)【解析】【解答】Text2中顯示的是每次查找的中值m,根據(jù)中值的順序,可得中值m的表達(dá)式為(i+j+1)\2。故答案選A。【分析】本題考查的是二分查找算法的VB程序。對分查找的基本思路:在有序的數(shù)據(jù)序列中(一般放在數(shù)組中),首先把查找的數(shù)據(jù)與數(shù)組中間位置的元素進(jìn)行比較,若相等,則查找成功并退出查找;否則,根據(jù)數(shù)組元素的有序性,確定數(shù)據(jù)應(yīng)在數(shù)組的前半部分還是在后半部分查找;在確定了新的查找范圍后,重復(fù)進(jìn)行以上比較,直到找到或未找到為止。24.【答案】B【考點】常量、變量及變量的賦值【解析】【解答】第一個For循環(huán)的作用是統(tǒng)計每個數(shù)字出現(xiàn)的次數(shù),存入相對應(yīng)的數(shù)組元素里,第二個For循環(huán)的目的是統(tǒng)計出現(xiàn)過的數(shù)字個數(shù)。3.1415926535中0,7,8共3個數(shù)字沒有出現(xiàn)過,所以出現(xiàn)過的數(shù)字有10-3=7個。故答案選B。【分析】本題考查對VB程序代碼的理解。25.【答案】B【考點】常量、變量及變量的賦值【解析】【解答】分析該程序可得出其功能是:統(tǒng)計文本框Text1中輸入的字符串中包含的整數(shù)個數(shù),“13+(123-23)2”包含整數(shù)13,123,23,2,共4個。故答案選B。【分析】本題主要考查的是VB程序設(shè)計。1/1 展開更多...... 收起↑ 資源列表 浙江省金華市江南中學(xué)2020屆高三信息技術(shù)網(wǎng)課2月22日第二周測試卷(學(xué)生版).docx 浙江省金華市江南中學(xué)2020屆高三信息技術(shù)網(wǎng)課2月22日第二周測試卷(教師版).docx 縮略圖、資源來源于二一教育資源庫