資源簡介 浙江省諸暨市2020屆高三上學期信息技術診斷性考試試卷一、選擇題(本大題共12小題,每小題2分,共24分。每小題列出的四個備選項中只有一個是符合題目要求的,不選、多選、錯選均不得分)1.(2020高三上·諸暨月考)下列有關信息與信息技術的說法,正確的是( ?。?br/>A.書籍、廣播、電視是常見的信息表達方式B.文本、圖像、聲音、動畫、視頻均可以作為信息的載體C.不聯網的計算機沒有信息安全隱患,故不需要對數據進行備份D.安裝并及時更新殺毒軟件的計算機可以防御所有計算機病毒2.(2020高三上·諸暨月考)下列有關網頁和電子郵件的說法,正確的是( )A.HTTP協議用于瀏覽器與Web服務器之間的信息傳輸B.執行“添加到收藏夾”,實際是保存了當前網頁的內容C.發送電子郵件時,郵件主題和正文內容缺失將導致郵件發送失敗D.通過網頁收發電子郵件不需要使用SMTP和POP3協議3.(2020高三上·諸暨月考)下列關于Access數據庫和數據表的說法,正確的是( )A.在數據表視圖下,不能修改字段名稱和數據類型B.新建“自動編號”類型的字段后,原有記錄的“自動編號”字段值缺失C.數據表中某字段數據類型為“是/否”,可以輸入“是”作為有效字段值D.Access數據表的數據導出到Excel后,Excel中顯示的字段值可能發生變化4.(2020高三上·諸暨月考)使用UltraEdit軟件觀察字符“字母a~z”內碼,部分界面如圖所示.下列說法正確的是( ?。?br/>A.圖中共有3個ASCII碼字符B.字符“j”的十六進制編碼值為70C.字符“z”內碼值的十進制表示為122D.字符“母”內碼值的二進制表示為“1100010010101000”5.(2020高三上·諸暨月考)使用photoshop軟件制作作品,部分界面如圖所示。下列說法正確的是( )A.可以直接使用油漆桶工具修改“放飛夢想”圖層中的文字顏色B.使用移動工具移動“飛機”圖層中飛機圖像位置,文字“放飛夢想”不受影響C.“風車”圖層被鎖定,故不能移動“風車”圖層至“飛機”圖層上方D.隱藏“背景”圖層,該作品呈現效果不會變化6.(2020高三上·諸暨月考)一段1024×768像素、24位色、NTSC制式(30幀/秒)的無聲AVI格式視頻文件,經壓縮比為10:1的技術壓縮后其容量為675MB,時長約為( ?。?br/>A.10秒 B.50秒 C.100秒 D.150秒7.(2020高三上·諸暨月考)某算法的部分流程圖如圖所示。執行這部分流程,輸出s的值是( )A.-10 B.10 C.190 D.2108.(2020高三上·諸暨月考)下列VB表達式的值等于35的是( )A.Abs(Int(-34.3)) B.Val(Str(30)+"5")C.Len("xue")+5 D.Int(sqr(50))*11\29.(2020高三上·諸暨月考)有如下VB程序段:Private Sub Command1_Click()Dim d(1 To 8) As IntegerDim i As Integer, s As Integerd(1)=1For i=2 To 10d(i)=d(i-1)*iNext iFor i=1 To 5s=s+d(i)Next iText1.Text = Str(s)End Sub程序運行時,單擊命令按鈕Command1后,將會出現的提示信息是( )A.溢出 B.下標越界C.要求對象 D.無效的過程調用或參數10.(2020高三上·諸暨月考)有如下VB程序段:Dim a(1 To 10) As Integera(1)=2: a(2)=18: a(3)=10: a(4)=34: a(5)=16a(6)=7: a(7)=37: a(8)=6: a(9)=15: a(10)=15c=0: x=0: t= 1For i=1 To 10a(i)=a(i)*tc=c+a(i)If c>0 Then x=x+1t=-tNext iText1.Text=Str(x)則程序運行后Text1中顯示( ?。?br/>A.1 B.3 C.5 D.1011.(2020高三上·諸暨月考)有如下VB程序段:For i=1 To 8d(i)= In(Rnd*10)Next iFor i= 2 To 8If i Mod 2=0 And d(i)> d(i-1)Thend(i)=d(i-1)+1ElseIf i Mod 2= 1 ThenIf d(i)>d(i-2) Thent=d(i): d(i)=d(i-2): d(i-2)=tEnd IfNext i( ?。?br/>A.8 8 7 1 3 5 0 1 B.9 0 8 3 5 6 0 1C.6 2 5 4 7 8 2 3 D.9 10 6 7 5 3 2 212.(2020高三上·諸暨月考)以下VB程序段用以實現10個數組元素升序排序。Dim a(1 To 10) As IntegerDim flag As BooleanDim i As Integer, j As Integer, tmp As Integer隨機生成10個不重復的數據存入數組A中,代碼略For i=2To 10tmp= a(i)j=iflag=FalseDo While ① And Not flaga(j)=a(j-1)j=j-1②Loopa(j)=tmpNext i要實現上述功能,方框①②中的語句分別是( ?。?br/>A.①tmpB.①tmp>a(j-1) ②If j=1 Then flag=TrueC.①tmpD.①tmp>a(j) ②If j=0 Then flag=True二、非選擇題(本大題共5小題,4+8+7+7,共26分)13.(2020高三上·諸暨月考)小段收集了2018年浙江省各地區農業總產值相關數據,并使用Excel軟件進行數據處理,如第圖a所示,其他單元格中均無數據。(1)區域G3:G14的數據是通過公式計算得到的:先在G3單元格中輸入公式,再利用自動填充功能完成區域G4:G14的計算。G3單元格中的公式可能是 (多選,填字母)。A.=F3/F14*100B.=F3/$F$14*100C.=F3/F$14*100D.=F3/$F14*100E.=F3/SUM($F$3:$F$13)*100(2)根據第圖a中的相關數據制作了圖表,如圖b所示,創建該圖表的數據區域是 。(3)將區域A2:F13的數據復制到新工作表,在新工作表中對數據進行篩選操作,篩選設置如圖第圖c所示,則按此設置篩選出的地區有 個。14.(2020高三上·諸暨月考)小段使用Flash軟件創作主題為“旋轉的風車”的多媒體作品,部分界面如圖a所示。圖 a請回答下列問題:(1)編寫腳本是設計多媒體作品的重頭戲,腳本編寫的一般步驟有:①編寫腳本大綱②媒體元素分解③編寫文字腳本④編寫制作腳本,則正確的腳本編寫順序為 (單選,填字母:A .①②④③ B .②①③④ C .①④③② D .①③④②)。(2)圖中“文字”圖層第1幀到第36幀實現了文字“放飛夢想”漸變為“超越自我”的動畫,則第36幀中的“超越自我”為 (填文字:形狀/實例)。(3)如圖所示,在不影響其他動畫效果的前提下,為使“音樂”圖層中的聲音從本場景第1幀開始播放,正確的操作是 。(4)圖中“風車”圖層應用了影片剪輯元件“風車”,修改“風車”元件的幀頻為6fps,則當前場景的播放速度 (填文字:變快/變慢/不變)。(5)“播放”按鈕的編輯界面如圖b所示,該按鈕 (填文字:能/不能)正常響應鼠標事件。圖 b(6)測試影片時,單擊“播放”按鈕,停止所有聲音的播放,并使影片跳轉到“scene2”場景的第1幀并繼續播放,則“播放”按鈕的動作腳本為 。15.(2020高三上·諸暨月考)數組元素a(1)~a(100)用以存儲某班級50位學生的信息技術和通用技術成績,奇數位置存儲信息技術成績,偶數位置存儲對應學生的通用技術成績。該數組已經按照兩科總成績升序排序。依據對分查找思想,設計一個在數組a中查找總成績為key的程序,統計輸出兩科總成績大于等于key的人數。部分運行界面如圖所示:實現該功能的VB程序如下:Private Sub Command1_Click()Dim a(1 To 100) As IntegerDim sum As IntcgerConst t= 50‘將50個學生的信息技術和通用技術成績依次存儲在數組a(1)~a(100),代碼略Key = Val(Text2.Text)i= 1j= 100m=(i+j)\2Do While ① And m>1If m Mod 2=1 Then m= m- 1sum = a(m)+ a(m- 1)If ② Thenj=m-2ElseEnd Ifm=(i+j)\2LoopLabel2.Caption "大于等于"& Key & "分的人數為: "+ Str(t-j\2)End Sub(1)代碼"Private Sub Command1_Click()"中的Command1_Click()是 (單選,填字母:A .對象名/B .屬性名/C .事件名/D .事件處理過程明)。(2)請在①②劃線處填入合適代碼。① ?、凇? (3)加框出代碼有錯,請改正。16.(2020高三上·諸暨月考)二叉樹是每個結點最多有兩個子樹的樹結構,如值為9的結點有兩個子樹6和8,值為6的結點有兩個子樹5和3。若設二叉樹的深度為h,則除第h層外,其它各層(1~h-1)的結點數都達到最大個數,第h層所有的結點都連續集中在最左邊,這就是完全二叉樹?,F要構造大根堆,堆是一棵順序存儲的完全二叉樹,大根堆又是一種特殊的堆,它的特征是每個雙親結點的值都不小于其孩子結點的值。如下圖所示,值為9的結點是6和8的雙親結點,而6和8分別是9的左孩子和右孩子;同理,6是5和3的雙親結點,而5和3分別是6的左孩子和右孩子……假如我們用數組表示上述大根堆:a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9)9 6 8 5 3 4 7 2 1現有一算法把一個無序數組改造成大根堆。例如:我們在上圖的大根堆中再增加一個值為8的新元素,如下圖所示。數組存儲為:a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10)6 8 5 3 4 7 2 1 8具體操作方法如下:第一步:因為a(10)大于它的雙親結點a(5),故需交換a(10)和a(5)的值;數組存儲為:第二步:因為a(5)大于它的雙親結點a(2),故需交換a(5)和a(2)(t)值;數組存儲為:a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10)9 8 8 5 6 4 7 2 1 3第3步:因為a(2)不大于它的雙親結點a(1),故無需做交換操作。此時新元素已經放到了正確的位置,新的大根堆構造完成,上移行動結束。(1)若在圖中增加值為4的新元素,則元素4將被存儲在數組元素 中。(2)小段為此編制一VB程序:在文本框Tcxt1中輸入結點個數n,單擊命令按鈕Command1,隨機產生n個[1,99]的整數作為結點值,并由此構造大根堆,結果顯示在列表框List1中,程序運行界面如圖所示。實現上述功能的程序代碼如下請在劃線處填入合適的代碼。Dim a(1 To 100) As Integer‘該函數功能為實現數據的對齊輸出Function pout(x As Integer, y As Integer) As String代碼略End FunctionPrivate Sub Command1_Click()Dim tmp As Integer, Dim m As IntegerDim n As Integer, Dim s As Stringn = Val(Text1.Text)For i=1 To na(i) = Int(Rnd()*99)+ 1Next iFor i= 2 To np=if=p\2Do While ①tmp = a(p): a(p)= a(f): a(f) = tmpp=ff=p\2If f= 0 Then Exit DoLoopNext ik= nDo While k >=1m=m+1②Loopk= 1For i=0 To m- 1s=""For j= 1 To ③If k> n Then Exit Fors=s+ pout(a(k), (2^(m-1)-2^i)/2^i)k=k+ 1Next jList1.AddItem sNext i① ② ?、邸? 答案解析部分1.【答案】B【知識點】信息及其特征;信息技術的概念與關鍵技術;信息技術的影響及合理使用【解析】【解答】選項A: 書籍、廣播、電視是常見的信息表達手段(技術)而不是信息表達方式,本項錯。選項B:文本、圖像、聲音、動畫、視頻都是承載信息的載體,本項對。選項C: 不聯網的計算機也可以通過軟盤、U盤等移動設置感染病毒,也可能數據被其他人盜取或刪除,所以數據也需要備份,本項錯。選項D:殺毒軟件是落后于病毒開發的,先有病毒再有針對該病毒的殺毒軟件,所以 安裝并及時更新殺毒軟件的計算機并不能防御所有計算機病毒 ,本項錯。故答案選B。【分析】本題考查的是信息表達方式和表達技術、信息的載體及信息安全知識。同一種信息內容可以采用不同的表達方式,以滿足信息接收者的實際需要.最常用的信息表達方式有:文字、語言、圖形、圖像、聲音和形體動作等。常用的信息表達技術有:廣播電視、報刊書籍、多媒體技術和網絡技術等。載體是指能夠運送其他物體或傳遞信息和能量的物體。信息必須依附于某種載體,載體不是信息,同一信息可以依附于不同的載體。常用的信息安全防護方法有:1、禁用不必要的服務;2、按照補丁程序;3、安裝安全防護產品;4、提高安全意識;5、養成良好的習慣;6、及時備份數據。2.【答案】A【知識點】電子郵件,電子公告板等信息交流方式;網頁、網站的概念與聯系【解析】【解答】選項A:HTTP協議又叫超文本傳輸協議,是用于在用戶的計算機和Web服務器上相互傳輸網頁文件的協議,本項對。選項B: 執行“添加到收藏夾”,實際是保存了當前網頁的網址而不是網頁內容,本項錯。選項C:發送電子郵件時對方的電子郵件地址是必須的,郵件主題和正文不是必須的,本項錯。選項D:發送電子郵件使用SMTP協議,接收電子郵件使用POP3協議,本項錯。故答案選A。【分析】本題考查的是傳輸網頁文件和發送、接收電子郵件使用的協議以及“添加收藏夾”操作。HTTP協議又叫超文本傳輸協議是用于傳輸網頁文件的協議,而“添加收藏夾”是將該網頁的網址收藏到收藏夾中,SMTP協議又稱為簡單郵件傳輸協議。POP3協議又稱為郵局協議,發送電子郵件使用SMTP協議,接收電子郵件使用POP3協議。3.【答案】D【知識點】數據表、字段、記錄的概念;數據表、字段、記錄的編輯【解析】【解答】選項A:在Access 2007后在數據表視圖下可以修改字段的名稱的數據類型,本項錯。選項B:可以給一個表建立多個“自動編號”字段且兩個字段不互相影響,本項錯。選項C:如果字段類型為“是/否”則只能組字段值打對勾或去掉對勾不能輸入“是”或“否”,本項錯。選項D:Access和Excel可以相互轉換,在導出到Excel時,“是/否”字段值自動變為“true”或“false”,本項對。故答案選D。【分析】本題考查的是Access的視圖方式、“自動編號”字段類型、“是/否”字段類型及Access的導出。數據表的視圖方式共有四種:設計視圖、數據表視圖、數據透視表視圖和數據透視圖視圖。在設計視圖中可以對表格的結構進行設置,比如有哪些字段,每個字段的類型等。在數據表視圖中可能瀏覽、修改、增減每條記錄的內容, 是最常見也是系統默認的視圖。數據透視表視圖和數據透視圖視圖中,我們可以根據數據字段,設置交叉統計表格的行字段、列字段等,將數據以分類的方式顯示成表格或統計圖。設置為自動編號時每次向表格添加新記錄時,Access會自動插入唯一順序或者隨機編號,即在自動編號字段中指定某一數值。是/否字段是針對于某一字段中只包含兩個不同的可選值而設立的字段,通過是/否數據類型的格式特性,用戶可以對是/否字段進行選擇。Access和Excel可以相互轉換,在導出到Excel時,“是/否”字段值自動變為“true”或“false”。4.【答案】C【知識點】信息的編碼【解析】【解答】選項A:由圖可知,圖中共有“a”和“z”兩個ASCII碼字符,本項錯。選項B:由圖中“a”的內碼“61”知“j”的內碼為“6A”而不是“70”,本項錯。選項C:由圖知字符“z”的內碼為“7A”轉為十進制為:7*16+10=112+10=122,本項對。選項D:由圖知,字符“母”的內碼為“C4 B8”轉為二進制為“1100 0010 1011 1000”,本項錯。故答案選C。【分析】本題考查的是中英文字符的內碼表示、由已知字母的內碼和字母表來推斷未知字母的內碼、十六進制轉為十進制的方法及十六進制轉為二進制的方法。一個中文字符或標點在內存中占二個字節、十六個二進制數或4位十六進制數,一個英文字符或英文符號在內存中占用一個字節、8位二進制數及2個十六進進制,可由已知字母的內碼和字母表來推斷未知字母的內碼,在使用內碼推斷時注意是十時制還是十六進制,十六進制數轉為十進制數時使用公式法,十六進制數轉為二進制數時一位十六進制轉為四位二進制數。5.【答案】D【知識點】圖片加工常用工具的使用;圖層及圖層的基本操作【解析】【解答】選項A:由圖可知,“放飛夢想”圖層為文字圖層不能使用油漆桶工具,本項錯。選項B:由圖可知“放飛夢想”在上層,“飛機”圖層在下層,但“放飛夢想”圖層與“飛機”是連接圖層,移動“飛機”圖層中的圖像“放飛夢想”圖層也會受到影響。本項錯。選項C:“風車”圖層被鎖定只是不能修改圖層中圖像的位置而對圖層順序無影響,本項錯。選項D:“背景”圖層是空白的,所以隱藏“背景”圖層,該作品呈現效果不會變化,本項對。故答案選D。【分析】本題考查的是文字圖層、背景圖層、鎖定圖層的特點。通過文字工具創建。文字層不可以進行濾鏡,可以使用圖層樣式等的操作,不能使用油漆桶工具等進行填充。背景圖層不可以調節圖層順序,永遠在最下邊,不可以調節不透明度和加圖層樣式,以及蒙版。可以使用畫筆,漸變,濾鏡,圖章和修飾工具。為了有效的保護圖層中的信息不被破壞,可以對圖層進行鎖定。鎖定后的圖層不能進行剪切、填充、移動等很多操作。但可以對圖層進行復制圖層、調整圖層順序、刪除圖層等操作。6.【答案】C【知識點】聲音、圖像、視頻編碼【解析】【解答】24位色點用的字節數為:24/8=3B,未經壓縮之前的播放時長為:675*1024*1024*10/(1024*768*3*30)=675*1024*10/(768*30*3)=6912000/69120=100(秒)。故答案選C【分析】本題考查的是視頻文件的存儲容量計算公式。視頻文件存儲容量=(水平像素×垂直像素×每個像素所需位數/8)*幀頻*時長(字節),在本題已經知道視頻文件的存儲容量、水平像素、垂直像素、每個像素所需位數,幀頻,只有時長未知,可使用該公式計算出來。7.【答案】A【知識點】算法的常用表示方法【解析】【解答】由流程圖可知本題求將20內的奇數相加減去20內的偶數,s的數學公式為s=1-2+3-4+5-6+7-8+9-10+11-12+13-14+15-16+17-18+19-20=(1-2)*10=-10。故答案選A。【分析】本題考查的是看流程圖分析算法。由圖可知,先將t、s、i的值分別賦為1、0、1,然后判斷i值是否小于等于20,如果小于等于20則執行循環體,否則輸出s值,第一次循環,i值為1,小于20,執行循環體,在循環體中將i*t的值累加到變量s中,即s=s+i*t=0+1*1=1,然后將t取其相反數賦給t,將i值增1重新賦給i值。執行完循環體后再次判斷i值是否小于等20,此時i=2小于等于20仍成立,故執行循環體:s=s+i*t=1+2*(-1)=-1,再將t值取反賦給和值,將i值增1,再去判斷i值是否小于等于20,如果條件成立繼續執行循環體直到i值超過20為止。8.【答案】A【知識點】運算符、基本運算與表達式【解析】【解答】選項A:abs(int(-34.3))=abs(-35)=35。選項B: Val(Str(30)+"5") =val("30"+"5")=val("305")=305,選項C: Len("xue")+5 =3+5=8。選項D: Int(sqr(50))*11\2 =int(7.071)*11\2=7*11\2=38。故答案選A。【分析】本題考查的是VB常用函數的功能。在本題中用到的函數有:abs()函數,該函數的功能是求參數的絕對值。int()函數,該函數的功能是求不大于參數的整數。val()函數的功能是將字符型數據轉為數值型數據。str()函數的功能是將數值型數據轉為文本型。len()函數是求字符串的長度。sqr()函數是求參數的算術平方根。9.【答案】A【知識點】程序的調試及運行【解析】【解答】本程序分析如下:Private Sub Command1_Click() ‘命令按鈕1單擊事件過程Dim d(1 To 8) As Integer ‘定義整型數組d,d共有8個元素Dim i As Integer, s As Integer ‘定義整型變量i和sd(1)=1 ‘將d的第一個元素賦值為1For i=2 To 10 ‘使用i來控制循環,i的初值為2,終值為10,步長為1,該循環用于為數組d的第2個元素到第10個元素進行賦值,但d只有8個元素d(i)=d(i-1)*i ‘給數組d的第二個元素到第10個元素進行賦值,d的元素從第二個開始是前一個元素的i倍Next i ‘結束循環For i=1 To 5 ‘使用i來控制循環,i的初值為1,終值為5,步長為1,該循環用于累加數組d的前5個元素的值到變量s中s=s+d(i) ‘累加數組d的前5個元素的值到變量s中Next i ‘結束循環Text1.Text = Str(s) ‘在文本框中輸出變量s的值End Sub ‘結束事件過程由以上知,d的每一個元素從第二個元素開始為前一個元素的i倍,故d(1)=1,d(2)=1*2=2,d(3)=2*3=6,d(4)=6*4=24,d(5)=24*5=120,d(6)=120*6=720,d(7)=720*7=5040,d(8)=40320,而數組d定義的為整型數組,其數據范圍為-32768到32767,故對第8個元素(為合法元素)賦值時其值超出定義范圍,報”溢出“錯誤而停止運行,由于沒有對第9個元素賦值故不會報下標越界錯誤。故答案選A。【分析】本題考查的是VB的常見錯誤信息?!毕聵嗽浇纭笆鞘褂玫臄到M元素的下標超過了定義的數組元素的下標(大于了上限或小于了下限)。”溢出“是使用的數值型變量的值超過了其類型表示的數的范圍?!鳖愋筒黄ヅ洹敖o變量賦值的類型不是其定義的數據類型或標準函數的參數使用的類型不是其要求的類型。在本題中有兩處錯誤哪個先執行先報哪個錯誤。10.【答案】B【知識點】算法的控制結構;常見數據類型、數組【解析】【解答】本題程序分析如下:Dim a(1 To 10) As Integer ‘定義整型數組a,該元素共有10個元素a(1)=2: a(2)=18: a(3)=10: a(4)=34: a(5)=16a(6)=7: a(7)=37: a(8)=6: a(9)=15: a(10)=15 ‘給數組a的10個元素分別進行賦值c=0: x=0: t= 1 ‘初始化變量c的值為0,x的值為0,t的值為1For i=1 To 10 ‘使用i來控制循環,i的初值為1,終值為10,步長為1,該循環用于處理數組a的各個元素,故i代表了數組a的下標值a(i)=a(i)*t ‘將數組i的值乘以t值后仍賦給數組元素,而t實際代表了正負號c=c+a(i) ‘將數組a的每個元素累加到變量c中If c>0 Then x=x+1 ‘如果c值大于0時,將x值增1,x為計數器t=-t ‘將t值取反Next i ‘結束循環Text1.Text=Str(x) ‘使用文本框1輸出x的值由以上程序分析知,c=2-18+10-34+16-7+37-6+15-15,在計算過程中c值如果有大于0的情況就將x值增1,故本一步一步運算c值:c=2,c=2-18=-16,c=-16+10=-6,c=-6-34=-40,c=-40+16=-24,c=-24-7=-31,c=-31+37=6,c=6-6=0,c=0+15=15,c=15-15=0,由以上可以看出c=2,c=6和c=15時將x值增1,x=1+1+1=3。故答案選B。【分析】本題考查的是使用循環變量來處理數組的元素以及累加器、計數器的使用。數組由于元素較多,可以使用循環變量來代表數組的下標值從而簡化數組的運算,累加器是將某個變量或表達式的值通過循環累加到某個變量中,本題的累加器為:C=C+a(i)是將數組a的每個元素值累加到變量c中。計數器用于統計某個符合條件的數據個數,常與條件語句配合使用,本題計數器語句為: If c>0 Then x=x+1 ,即使用x統計c值大于0的次數。11.【答案】B【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值【解析】【解答】本程序分析如下:For i=1 To 8 ‘使用i來控制循環,i的初值為1,終值為8,步長為1,該循環用于給數組d的每個元素進行賦值,數組d共有8個元素d(i)= In(Rnd*10) ‘給數組d的每個元素進行賦值,數組d的元素值范圍為0-9Next i ‘結束循環For i= 2 To 8 ‘使用i來控制循環,i的初值為2,終值為8,步長為1,該循環用于調整數組元素d(2)到d(8)的值,i代表數組的下標If i Mod 2=0 And d(i)> d(i-1)Then ‘如查i值為偶數時且數組元素大于前一個元素值時進行如下處理d(i)=d(i-1)+1 ‘將該數組元素的值調整為前一個元素值多1ElseIf i Mod 2= 1 Then ‘否則如果i為奇數時進行如下處理If d(i)>d(i-2) Then ‘如果數值元素值比前兩個的元素值大時進行如下處理t=d(i): d(i)=d(i-2): d(i-2)=t ‘借助第三變量t交換前后兩個奇數元素的值End If ‘結束條件判斷,通過該循環執行了一次冒泡算法,保證了奇數位元素的最左邊元素(d(1))的值在奇數位上最大Next i ‘結束循環選項A:第六個元素5其值比第五個元素值大,此時d(6)的值應為d(5)+1=3+1=4,故選項A不可能。選項B:第一個元素值最大,偶數位比前面奇數位元素大時,只比前面奇數位元素多1,符合要求。選項C:第一個元素不是奇數位最大的值,錯。選項D:數組元素值超過了范圍。故答案選B。【分析】本題考查的是生成指定范圍的隨機整數公式及使用循環來處理數組元素的方法。由于數組元素較多,一個一個處理較麻煩可以使用循環變量來代替數組的下標從而簡化數組元素的處理。產生指定范圍內的隨機數公式為:int((上限-下限+1)*rnd)+下限。12.【答案】A【知識點】排序算法及程序實現【解析】【解答】本程序分析如下:Dim a(1 To 10) As Integer ‘定義整型數組a,a共有10個元素Dim flag As Boolean ‘定義布爾型變量flagDim i As Integer, j As Integer, tmp As Integer ‘定義整型變量i、j和tem隨機生成10個不重復的數據存入數組A中,代碼略For i=2To 10 ‘使用i來控制循環,i的初值為2,終值為10,步長為1,i代表數組a的下標tmp= a(i) ‘將數組在本輪最右側的元素值賦給變量tmpj=i ‘將本輪最右側的數組元素的下標賦給變量i,即給j賦初值iflag=False ‘設置標記變量flag的值為falseDo While ① And Not flag ‘如果tmp的值小于數組元素a(j-1)的值且標記變量值為false時執行循環,故本處答案應填寫:tmpa(j)=a(j-1) ‘將數組元素的值賦為前面的元素的值j=j-1 ‘將j值減少1② ‘如果j的值為1,即j為最數組的第一個元素時不用再向前比較,將標記變量值設為true,終止內層循環,故本處答案填寫:if j=1 then flag=trueLoop ‘結束內層循環,該內層循環的目的是由后向前查找本輪最右側的元素應放的位置a(j)=tmp ‘將本輪最右側的值放于a(j)處Next i ‘結束外層循環由以上程序分析知, ①處為如果tmp的值小于數組元素a(j-1)的值且標記變量值為false時執行循環,故本處答案應填寫:tmp②處為如果j的值為1,即j為最數組的第一個元素時不用再向前比較,將標記變量值設為true,終止內層循環,故本處答案填寫:if j=1 then flag=true。故答案選A。【分析】本題考查的是插入排序算法。插入排序算法的原理在一個有序數組中插入一個數使用原有序數組成為一新的有序數組。在本題中從第二個元素開始將其與前面的元素一個一個比較從而找到其位置并插入到該位置使從第1個元素到第i個元素成為有序數組,當i為最左邊一個元素時則整個數組成為一個有序數組。13.【答案】(1)B;C;E(2)A2:E2,A8:E9(3)2【知識點】表格數據的基本操作;數據分析【解析】【解答】(1)由G2的字段名知該列字段為農林牧漁占各地區合計的百分比,而每個城市的農林漁牧合計數在F列對應的單元格中,而總的合計數在F14中,在求各城市的占比時F14不變應為絕對引用($F$14)或混合引用(F$14),而各城市的農林牧漁數要隨單元格的變化而變化應使用相對引用。選項A中F14沒有使用絕對引用或混合引用錯誤,選項B、選項C使用了絕對引用和混合引用正確,而選項D混合引用使用了絕對列相對行,由于公式在同一列中變化故列號在復制時不會改變,而行號沒有使用絕對引用,本項錯。選項E:盡管沒有使用F14中的合計數但使用F3到F13之和(sum函數)也是可以的,本項對。故本小題答案選BCE。(2)由圖知圖表簇狀柱形圖,圖表為紹興市和金華市的農、林、牧、漁業的對比數據,x軸為農、林、牧、漁的名稱為字段名在第二行的A列到E列,縱軸為紹興市、金華市的農、林、牧、漁業數據在 A8:E9 區域中。故本題答案填寫: A2:E2,A8:E9 。(3)由于是自動篩選所以兩個篩選的關系為”且“的關系,即篩選出地區包含”州“字且農業產值大于150(不含150)的城市,由第一個包含州的城市可篩選出”杭州、溫州、湖州、衢州、臺州“共五條數據,再從五個城市 中選出農業產值大于150的,可選出”杭州、臺州“兩個城市。故本題答案填寫:2。【分析】本題考查的是公式的填充及公式中單元格地址引用方式、圖表數據區域選擇及自動篩選操作。填寫公式時要根據題義使用正確函數或運算符,而公式中的地址引用有相對地址引用和絕對地址引用及混合地址引用3種方式,相對地址引用就是單元格地址前不加任何東西,單元格地址會隨單元格的變化而變化,絕對單元格地址引用就是在單元格地址前加$號,不會隨單元格的變化而變化。混合引用是在行號或列標前加$號,另一個不加,在復制公式時加$號的不變,不加$號的變化。圖表數據區域的選擇是看其橫軸和縱軸的數據,篩選可以根據條件進行手工選擇,自動篩選如果為多字段則字段之間為”且“的關系。14.【答案】(1)D(2)形狀(3)“音樂”圖層第1幀清楚關鍵幀或“音樂”圖層第13幀移動到第1幀或其他等價答案(4)變慢(5)能(6)on(press){stopAllSounds():goto AndPlay("scene2, 1");}或on(release){stopAllSounds():goto AndPlay("scene2, 1");}【知識點】多媒體作品的規劃和設計;動畫的類型;時間軸、幀、圖層、庫的概念及基本操作;常用影片控制函數的應用【解析】【解答】(1)腳本編寫包括:制定腳本大綱、編寫文字腳本、編寫制作腳本、媒體元素分解等四步驟,且四個步驟是按制作的順序的。故答案選D。(2)由圖中的 “文字”圖層第1幀到第36幀知該圖層由一綠色底紋加上一個黑色箭頭且實現了文字的變化,故其動畫補間為形狀補間,而實現形狀補間的第36幀的圖形只能為形狀而不能為實例(將文字打散變為了形狀,而實例為一體的不能打散),故本小題答案選填:形狀。(3)由圖可知“音樂”圖層的第1幀為空白關鍵幀,而第一個關鍵幀在第13幀,若想音樂從頭開始播放需將第13幀移動到第1幀,故本小題答案填寫: “音樂”圖層第1幀清楚關鍵幀或“音樂”圖層第13幀移動到第1幀或其他等價答案 。(4)由圖a知該動畫的幀頻為12fps,即每秒播放12幀,現在修改 “風車”元件的幀頻為6fps ,而元件的幀步與場景的幀頻是相同的,故動畫幀頻變為了6fps,即每秒播放6幀,故本小題答案選填:變慢。(5)“播放”按鈕能正常響應鼠標事件,故本小題答案選填:能。(6)由題義知,當按下或釋放“播放”按鈕時 停止所有聲音的播放,并使影片跳轉到“scene2”場景的第1幀并繼續播放 ,故本小題答案應填寫: on(press){stopAllSounds():goto AndPlay("scene2, 1");}或on(release){stopAllSounds():goto AndPlay("scene2, 1");} 。【分析】本題考查的是腳本編寫步驟、形狀補間、清除關鍵幀、幀頻、點擊幀的作用及動作腳本。多媒體分析與策劃包括應用需求分析和創作需求及腳本編寫三部分,腳本編寫包括:制定腳本大綱、編寫文字腳本、編寫制作腳本、媒體元素分解等四步驟。形狀補間是由一個物體到另一個物體間的變化過程,像由三角形變成四方形等。時間軸上形狀補間是淡綠色底加一個黑色箭頭組成的,對于文字實現形狀補間需要將文字打散。幀頻就是每秒播放動畫的幀數,代表了動畫的播放速率。點擊幀表示按鈕響應鼠標事件的范圍或稱區域面積,此狀態的畫面內容、顏色在動畫播放時不可見。多媒體作品加入動作腳本可以增加人機交互功能。15.【答案】(1)D(2)i<=j;sum>=key(3)i=m+2【知識點】類、對象、屬性、方法、事件和事件處理的概念及應用;查找算法及程序實現【解析】【解答】(1)在代碼 "Private Sub Command1_Click()"中 ,Private為事件過程的類型,sub為子程序或過程的關鍵字,command1為對象名,click為事件名, Command1_Click() 為事件過程名。故本小題答案選填:D。(2)本題程序分析如下:Private Sub Command1_Click() ‘命令按鈕1單擊事件過程開始Dim a(1 To 100) As Integer ‘定義整型數組a,a為100個元素Dim sum As Intcger ‘定義整型變量sumConst t= 50 ‘定義符號常t,并將t賦值為50‘將50個學生的信息技術和通用技術成績依次存儲在數組a(1)~a(100),代碼略Key = Val(Text2.Text) ‘交從文本框中輸入要查找的數key轉為數值型并賦給變量keyi= 1 ‘初始化變量i的值為1,i代表要查找數組元素的下標下限j= 100 ‘初始化變量j的值為100,j代表要查找數組元素的下標上限m=(i+j)\2 ‘計算中值元素的下標值并賦給變量mDo While ① And m>1 ‘在要查找數組元素的下標下限小于等于上限且中值下標m的值大于1時進行循環,故本處答案應填寫:i<=jIf m Mod 2=1 Then m= m- 1 ‘如果m的值不為偶數則將m值減少1sum = a(m)+ a(m- 1) ‘計算中值數組元素代表的學生的信息技術和通用技術成績總分If ② Then ‘如果總分sum大于等于要查找的分數key時進行如下處理,故本處答案應填寫: sum>=keyj=m-2 ‘因為中值大于等于要查找的分數應在前半個數組中繼續查找,故將要查找數組元素的下標的上限設為中值少2Else ‘否則即要查找的分數比中值大時進行如下處理‘因為中值小于要查找的分數應在后半個數組中繼續查找,故將要查找數組元素的下標的下限設為中值多2,故本處應將i=m-2改為:i=m+2End If ‘結束條件判斷m=(i+j)\2 ‘繼續求中值Loop ‘結束循環Label2.Caption "大于等于"& Key & "分的人數為: "+ Str(t-j\2) ‘使用標簽2將大于要查找分數的人數輸出End Sub ‘結束事件過程由以上程序分析知, ①處為在要查找數組元素的下標下限小于等于上限且中值下標m的值大于1時進行循環,故本處答案應填寫:i<=j。②處為如果總分sum大于等于要查找的分數key時進行如下處理,故本處答案應填寫:sum>=key。(3)由加框處代碼知,因為中值小于要查找的分數應在后半個數組中繼續查找,故將要查找數組元素的下標的下限設為中值多2,故本處應將i=m-2改為:i=m+2。【分析】本題考查的是對分法查找數據的方法,對分法查找過程是先將一個數列放于一個有序數組中,然后比較中間數組元素的值與要查找的值,或中間數組的值比要查找的值大,則在前半個數組中查找,若中間數組的值比要查找的值小則在后半個數組中查找。查找方法仍是比較中間數組元素的值和要查找的值。以此類推直到查到或下限大于了上限(沒查找)為止。16.【答案】(1)a(5)(2)a(p)>a(f);k=int(k/2)或k=k\2;2^i【知識點】過程與自定義函數;排序算法及程序實現【解析】【解答】(1)由題給出的算法知,先將新加入的元素放于最低層的盡可能的左側,即將a(10)的值賦為4,其雙親為數組元素a(5),其值為3,由于4大于3交換子結點和雙新結點的值,即a(5)的值為4,a(10)的值為3,此時a(5)的值4小于其雙親結點a(2)的值6,新的大根堆構造完成,故本小題答案填寫:a(5)。(2)本程序分析如下:Dim a(1 To 100) As Integer‘該函數功能為實現數據的對齊輸出Function pout(x As Integer, y As Integer) As String代碼略End Function ‘自定義函數pout結束Private Sub Command1_Click() ‘命令按鈕1單擊事件過程開始Dim tmp As Integer, Dim m As Integer ‘定義整型變量tmp和mDim n As Integer, Dim s As String ‘定義整型變量n和字符串變量sn = Val(Text1.Text) ‘將從文本框1中輸入的數轉為數值型并賦給變量n,n為大堆根的結點個數For i=1 To n ‘使用i來控制循環,i的初值為1,終值為n,步長為1,該循環用于產生n個隨機數并存儲在數組a中a(i) = Int(Rnd()*99)+ 1 ‘產生一個【1,99】之間的隨機整數并存儲在數組a的第i個元素中Next i ‘結束循環For i= 2 To n ‘使用變量i來控制循環,i的初值為2,終值為n,i代表數組A的下標,i每增加一個值代表處理完一個元素,即將該元素放置在大堆根中p=i ‘將i值賦給變量p,p代表子結點元素的下標f=p\2 ‘將p值除整除以2賦給變量f,f為數組p的雙親結點所在的元素的下標Do While ① ‘在子結點元素值大于雙親結點元素值時進行循環,故本處答案應填寫: a(p)>a(f)tmp = a(p): a(p)= a(f): a(f) = tmp ‘借助第三變量t交換雙親結點和子結點元素的值p=f ‘將原雙親結點的元素的下標f賦給代表子結點的元素下標pf=p\2 ‘計算其雙親結束元素的下標并賦給變量fIf f= 0 Then Exit Do ‘如果f的值為0時則證明其上級無結點則提前退出內層循環Loop ‘結束內層循環Next i ‘結束外層循環k= n ‘將n值賦給變量kDo While k >=1 ‘在k值大于等于1時進行循環,本循環用于計算輸出的次數,即大堆根的層數m=m+1 ‘將m值增1,m值用于統計大堆根的層數② ‘將k值的一半賦給k,故本處答案應填寫: k=int(k/2)或k=k\2Loop ‘結束循環k= 1 ‘將k值設為1For i=0 To m- 1 ‘使用i來控制循環,i的初值為0,終值為m-1,i代表輸出大堆根的層數(從第0層到第m-1層,輸出次數仍為m)s="" ‘初始化字符串變量s的值為空字符串,s代表本層輸出的結點For j= 1 To ③ ‘ 使用j來控制循環,j的初值為1,終值為2的i次方,步長為1,j代表輸出本層的數據個數,故本處答案應填寫: 2^iIf k> n Then Exit For ‘如果k值大于n值時提前退出內層循環s=s+ pout(a(k), (2^(m-1)-2^i)/2^i) 將該層的元素值轉為字符串并合并到字符串s的右側k=k+ 1 ‘將k值增1,代表處理了一個元素Next j ‘結束內層循環List1.AddItem s ‘在列表框1中輸出一行數據Next i ‘結束外層循環由以上程序分析知: ①處為在子結點元素值大于雙親結點元素值時進行循環,故本處答案應填寫: a(p)>a(f)。②處為將k值的一半賦給k,故本處答案應填寫:k=int(k/2)或k=k\2。③處為使用j來控制循環,j的初值為1,終值為2的i次方,步長為1,j代表輸出本層的數據個數,故本處答案應填寫: 2^i。【分析】本題的算法為插入排序算法。插入排序法是選擇排序法的一種特例它是在一個有序數列的基礎上,通過要插入的數與數列中的數相比較,找到其位置,然后由后向前將數組元素向后移一位然后在適當位置插入這個數從而仍形成一個有序數列。在本題中比較的元素不是相鄰的元素而是子結點和雙親結點,能過在一個大堆根數組中插入一個元素形成另一個大堆根數組,將要插入的元素處理過完則大推根就形成了。1 / 1浙江省諸暨市2020屆高三上學期信息技術診斷性考試試卷一、選擇題(本大題共12小題,每小題2分,共24分。每小題列出的四個備選項中只有一個是符合題目要求的,不選、多選、錯選均不得分)1.(2020高三上·諸暨月考)下列有關信息與信息技術的說法,正確的是( )A.書籍、廣播、電視是常見的信息表達方式B.文本、圖像、聲音、動畫、視頻均可以作為信息的載體C.不聯網的計算機沒有信息安全隱患,故不需要對數據進行備份D.安裝并及時更新殺毒軟件的計算機可以防御所有計算機病毒【答案】B【知識點】信息及其特征;信息技術的概念與關鍵技術;信息技術的影響及合理使用【解析】【解答】選項A: 書籍、廣播、電視是常見的信息表達手段(技術)而不是信息表達方式,本項錯。選項B:文本、圖像、聲音、動畫、視頻都是承載信息的載體,本項對。選項C: 不聯網的計算機也可以通過軟盤、U盤等移動設置感染病毒,也可能數據被其他人盜取或刪除,所以數據也需要備份,本項錯。選項D:殺毒軟件是落后于病毒開發的,先有病毒再有針對該病毒的殺毒軟件,所以 安裝并及時更新殺毒軟件的計算機并不能防御所有計算機病毒 ,本項錯。故答案選B。【分析】本題考查的是信息表達方式和表達技術、信息的載體及信息安全知識。同一種信息內容可以采用不同的表達方式,以滿足信息接收者的實際需要.最常用的信息表達方式有:文字、語言、圖形、圖像、聲音和形體動作等。常用的信息表達技術有:廣播電視、報刊書籍、多媒體技術和網絡技術等。載體是指能夠運送其他物體或傳遞信息和能量的物體。信息必須依附于某種載體,載體不是信息,同一信息可以依附于不同的載體。常用的信息安全防護方法有:1、禁用不必要的服務;2、按照補丁程序;3、安裝安全防護產品;4、提高安全意識;5、養成良好的習慣;6、及時備份數據。2.(2020高三上·諸暨月考)下列有關網頁和電子郵件的說法,正確的是( ?。?br/>A.HTTP協議用于瀏覽器與Web服務器之間的信息傳輸B.執行“添加到收藏夾”,實際是保存了當前網頁的內容C.發送電子郵件時,郵件主題和正文內容缺失將導致郵件發送失敗D.通過網頁收發電子郵件不需要使用SMTP和POP3協議【答案】A【知識點】電子郵件,電子公告板等信息交流方式;網頁、網站的概念與聯系【解析】【解答】選項A:HTTP協議又叫超文本傳輸協議,是用于在用戶的計算機和Web服務器上相互傳輸網頁文件的協議,本項對。選項B: 執行“添加到收藏夾”,實際是保存了當前網頁的網址而不是網頁內容,本項錯。選項C:發送電子郵件時對方的電子郵件地址是必須的,郵件主題和正文不是必須的,本項錯。選項D:發送電子郵件使用SMTP協議,接收電子郵件使用POP3協議,本項錯。故答案選A。【分析】本題考查的是傳輸網頁文件和發送、接收電子郵件使用的協議以及“添加收藏夾”操作。HTTP協議又叫超文本傳輸協議是用于傳輸網頁文件的協議,而“添加收藏夾”是將該網頁的網址收藏到收藏夾中,SMTP協議又稱為簡單郵件傳輸協議。POP3協議又稱為郵局協議,發送電子郵件使用SMTP協議,接收電子郵件使用POP3協議。3.(2020高三上·諸暨月考)下列關于Access數據庫和數據表的說法,正確的是( ?。?br/>A.在數據表視圖下,不能修改字段名稱和數據類型B.新建“自動編號”類型的字段后,原有記錄的“自動編號”字段值缺失C.數據表中某字段數據類型為“是/否”,可以輸入“是”作為有效字段值D.Access數據表的數據導出到Excel后,Excel中顯示的字段值可能發生變化【答案】D【知識點】數據表、字段、記錄的概念;數據表、字段、記錄的編輯【解析】【解答】選項A:在Access 2007后在數據表視圖下可以修改字段的名稱的數據類型,本項錯。選項B:可以給一個表建立多個“自動編號”字段且兩個字段不互相影響,本項錯。選項C:如果字段類型為“是/否”則只能組字段值打對勾或去掉對勾不能輸入“是”或“否”,本項錯。選項D:Access和Excel可以相互轉換,在導出到Excel時,“是/否”字段值自動變為“true”或“false”,本項對。故答案選D。【分析】本題考查的是Access的視圖方式、“自動編號”字段類型、“是/否”字段類型及Access的導出。數據表的視圖方式共有四種:設計視圖、數據表視圖、數據透視表視圖和數據透視圖視圖。在設計視圖中可以對表格的結構進行設置,比如有哪些字段,每個字段的類型等。在數據表視圖中可能瀏覽、修改、增減每條記錄的內容, 是最常見也是系統默認的視圖。數據透視表視圖和數據透視圖視圖中,我們可以根據數據字段,設置交叉統計表格的行字段、列字段等,將數據以分類的方式顯示成表格或統計圖。設置為自動編號時每次向表格添加新記錄時,Access會自動插入唯一順序或者隨機編號,即在自動編號字段中指定某一數值。是/否字段是針對于某一字段中只包含兩個不同的可選值而設立的字段,通過是/否數據類型的格式特性,用戶可以對是/否字段進行選擇。Access和Excel可以相互轉換,在導出到Excel時,“是/否”字段值自動變為“true”或“false”。4.(2020高三上·諸暨月考)使用UltraEdit軟件觀察字符“字母a~z”內碼,部分界面如圖所示.下列說法正確的是( ?。?br/>A.圖中共有3個ASCII碼字符B.字符“j”的十六進制編碼值為70C.字符“z”內碼值的十進制表示為122D.字符“母”內碼值的二進制表示為“1100010010101000”【答案】C【知識點】信息的編碼【解析】【解答】選項A:由圖可知,圖中共有“a”和“z”兩個ASCII碼字符,本項錯。選項B:由圖中“a”的內碼“61”知“j”的內碼為“6A”而不是“70”,本項錯。選項C:由圖知字符“z”的內碼為“7A”轉為十進制為:7*16+10=112+10=122,本項對。選項D:由圖知,字符“母”的內碼為“C4 B8”轉為二進制為“1100 0010 1011 1000”,本項錯。故答案選C。【分析】本題考查的是中英文字符的內碼表示、由已知字母的內碼和字母表來推斷未知字母的內碼、十六進制轉為十進制的方法及十六進制轉為二進制的方法。一個中文字符或標點在內存中占二個字節、十六個二進制數或4位十六進制數,一個英文字符或英文符號在內存中占用一個字節、8位二進制數及2個十六進進制,可由已知字母的內碼和字母表來推斷未知字母的內碼,在使用內碼推斷時注意是十時制還是十六進制,十六進制數轉為十進制數時使用公式法,十六進制數轉為二進制數時一位十六進制轉為四位二進制數。5.(2020高三上·諸暨月考)使用photoshop軟件制作作品,部分界面如圖所示。下列說法正確的是( ?。?br/>A.可以直接使用油漆桶工具修改“放飛夢想”圖層中的文字顏色B.使用移動工具移動“飛機”圖層中飛機圖像位置,文字“放飛夢想”不受影響C.“風車”圖層被鎖定,故不能移動“風車”圖層至“飛機”圖層上方D.隱藏“背景”圖層,該作品呈現效果不會變化【答案】D【知識點】圖片加工常用工具的使用;圖層及圖層的基本操作【解析】【解答】選項A:由圖可知,“放飛夢想”圖層為文字圖層不能使用油漆桶工具,本項錯。選項B:由圖可知“放飛夢想”在上層,“飛機”圖層在下層,但“放飛夢想”圖層與“飛機”是連接圖層,移動“飛機”圖層中的圖像“放飛夢想”圖層也會受到影響。本項錯。選項C:“風車”圖層被鎖定只是不能修改圖層中圖像的位置而對圖層順序無影響,本項錯。選項D:“背景”圖層是空白的,所以隱藏“背景”圖層,該作品呈現效果不會變化,本項對。故答案選D。【分析】本題考查的是文字圖層、背景圖層、鎖定圖層的特點。通過文字工具創建。文字層不可以進行濾鏡,可以使用圖層樣式等的操作,不能使用油漆桶工具等進行填充。背景圖層不可以調節圖層順序,永遠在最下邊,不可以調節不透明度和加圖層樣式,以及蒙版??梢允褂卯嫻P,漸變,濾鏡,圖章和修飾工具。為了有效的保護圖層中的信息不被破壞,可以對圖層進行鎖定。鎖定后的圖層不能進行剪切、填充、移動等很多操作。但可以對圖層進行復制圖層、調整圖層順序、刪除圖層等操作。6.(2020高三上·諸暨月考)一段1024×768像素、24位色、NTSC制式(30幀/秒)的無聲AVI格式視頻文件,經壓縮比為10:1的技術壓縮后其容量為675MB,時長約為( ?。?br/>A.10秒 B.50秒 C.100秒 D.150秒【答案】C【知識點】聲音、圖像、視頻編碼【解析】【解答】24位色點用的字節數為:24/8=3B,未經壓縮之前的播放時長為:675*1024*1024*10/(1024*768*3*30)=675*1024*10/(768*30*3)=6912000/69120=100(秒)。故答案選C【分析】本題考查的是視頻文件的存儲容量計算公式。視頻文件存儲容量=(水平像素×垂直像素×每個像素所需位數/8)*幀頻*時長(字節),在本題已經知道視頻文件的存儲容量、水平像素、垂直像素、每個像素所需位數,幀頻,只有時長未知,可使用該公式計算出來。7.(2020高三上·諸暨月考)某算法的部分流程圖如圖所示。執行這部分流程,輸出s的值是( ?。?br/>A.-10 B.10 C.190 D.210【答案】A【知識點】算法的常用表示方法【解析】【解答】由流程圖可知本題求將20內的奇數相加減去20內的偶數,s的數學公式為s=1-2+3-4+5-6+7-8+9-10+11-12+13-14+15-16+17-18+19-20=(1-2)*10=-10。故答案選A。【分析】本題考查的是看流程圖分析算法。由圖可知,先將t、s、i的值分別賦為1、0、1,然后判斷i值是否小于等于20,如果小于等于20則執行循環體,否則輸出s值,第一次循環,i值為1,小于20,執行循環體,在循環體中將i*t的值累加到變量s中,即s=s+i*t=0+1*1=1,然后將t取其相反數賦給t,將i值增1重新賦給i值。執行完循環體后再次判斷i值是否小于等20,此時i=2小于等于20仍成立,故執行循環體:s=s+i*t=1+2*(-1)=-1,再將t值取反賦給和值,將i值增1,再去判斷i值是否小于等于20,如果條件成立繼續執行循環體直到i值超過20為止。8.(2020高三上·諸暨月考)下列VB表達式的值等于35的是( ?。?br/>A.Abs(Int(-34.3)) B.Val(Str(30)+"5")C.Len("xue")+5 D.Int(sqr(50))*11\2【答案】A【知識點】運算符、基本運算與表達式【解析】【解答】選項A:abs(int(-34.3))=abs(-35)=35。選項B: Val(Str(30)+"5") =val("30"+"5")=val("305")=305,選項C: Len("xue")+5 =3+5=8。選項D: Int(sqr(50))*11\2 =int(7.071)*11\2=7*11\2=38。故答案選A。【分析】本題考查的是VB常用函數的功能。在本題中用到的函數有:abs()函數,該函數的功能是求參數的絕對值。int()函數,該函數的功能是求不大于參數的整數。val()函數的功能是將字符型數據轉為數值型數據。str()函數的功能是將數值型數據轉為文本型。len()函數是求字符串的長度。sqr()函數是求參數的算術平方根。9.(2020高三上·諸暨月考)有如下VB程序段:Private Sub Command1_Click()Dim d(1 To 8) As IntegerDim i As Integer, s As Integerd(1)=1For i=2 To 10d(i)=d(i-1)*iNext iFor i=1 To 5s=s+d(i)Next iText1.Text = Str(s)End Sub程序運行時,單擊命令按鈕Command1后,將會出現的提示信息是( ?。?br/>A.溢出 B.下標越界C.要求對象 D.無效的過程調用或參數【答案】A【知識點】程序的調試及運行【解析】【解答】本程序分析如下:Private Sub Command1_Click() ‘命令按鈕1單擊事件過程Dim d(1 To 8) As Integer ‘定義整型數組d,d共有8個元素Dim i As Integer, s As Integer ‘定義整型變量i和sd(1)=1 ‘將d的第一個元素賦值為1For i=2 To 10 ‘使用i來控制循環,i的初值為2,終值為10,步長為1,該循環用于為數組d的第2個元素到第10個元素進行賦值,但d只有8個元素d(i)=d(i-1)*i ‘給數組d的第二個元素到第10個元素進行賦值,d的元素從第二個開始是前一個元素的i倍Next i ‘結束循環For i=1 To 5 ‘使用i來控制循環,i的初值為1,終值為5,步長為1,該循環用于累加數組d的前5個元素的值到變量s中s=s+d(i) ‘累加數組d的前5個元素的值到變量s中Next i ‘結束循環Text1.Text = Str(s) ‘在文本框中輸出變量s的值End Sub ‘結束事件過程由以上知,d的每一個元素從第二個元素開始為前一個元素的i倍,故d(1)=1,d(2)=1*2=2,d(3)=2*3=6,d(4)=6*4=24,d(5)=24*5=120,d(6)=120*6=720,d(7)=720*7=5040,d(8)=40320,而數組d定義的為整型數組,其數據范圍為-32768到32767,故對第8個元素(為合法元素)賦值時其值超出定義范圍,報”溢出“錯誤而停止運行,由于沒有對第9個元素賦值故不會報下標越界錯誤。故答案選A。【分析】本題考查的是VB的常見錯誤信息。”下標越界“是使用的數組元素的下標超過了定義的數組元素的下標(大于了上限或小于了下限)?!币绯觥笆鞘褂玫臄抵敌妥兞康闹党^了其類型表示的數的范圍?!鳖愋筒黄ヅ洹敖o變量賦值的類型不是其定義的數據類型或標準函數的參數使用的類型不是其要求的類型。在本題中有兩處錯誤哪個先執行先報哪個錯誤。10.(2020高三上·諸暨月考)有如下VB程序段:Dim a(1 To 10) As Integera(1)=2: a(2)=18: a(3)=10: a(4)=34: a(5)=16a(6)=7: a(7)=37: a(8)=6: a(9)=15: a(10)=15c=0: x=0: t= 1For i=1 To 10a(i)=a(i)*tc=c+a(i)If c>0 Then x=x+1t=-tNext iText1.Text=Str(x)則程序運行后Text1中顯示( )A.1 B.3 C.5 D.10【答案】B【知識點】算法的控制結構;常見數據類型、數組【解析】【解答】本題程序分析如下:Dim a(1 To 10) As Integer ‘定義整型數組a,該元素共有10個元素a(1)=2: a(2)=18: a(3)=10: a(4)=34: a(5)=16a(6)=7: a(7)=37: a(8)=6: a(9)=15: a(10)=15 ‘給數組a的10個元素分別進行賦值c=0: x=0: t= 1 ‘初始化變量c的值為0,x的值為0,t的值為1For i=1 To 10 ‘使用i來控制循環,i的初值為1,終值為10,步長為1,該循環用于處理數組a的各個元素,故i代表了數組a的下標值a(i)=a(i)*t ‘將數組i的值乘以t值后仍賦給數組元素,而t實際代表了正負號c=c+a(i) ‘將數組a的每個元素累加到變量c中If c>0 Then x=x+1 ‘如果c值大于0時,將x值增1,x為計數器t=-t ‘將t值取反Next i ‘結束循環Text1.Text=Str(x) ‘使用文本框1輸出x的值由以上程序分析知,c=2-18+10-34+16-7+37-6+15-15,在計算過程中c值如果有大于0的情況就將x值增1,故本一步一步運算c值:c=2,c=2-18=-16,c=-16+10=-6,c=-6-34=-40,c=-40+16=-24,c=-24-7=-31,c=-31+37=6,c=6-6=0,c=0+15=15,c=15-15=0,由以上可以看出c=2,c=6和c=15時將x值增1,x=1+1+1=3。故答案選B。【分析】本題考查的是使用循環變量來處理數組的元素以及累加器、計數器的使用。數組由于元素較多,可以使用循環變量來代表數組的下標值從而簡化數組的運算,累加器是將某個變量或表達式的值通過循環累加到某個變量中,本題的累加器為:C=C+a(i)是將數組a的每個元素值累加到變量c中。計數器用于統計某個符合條件的數據個數,常與條件語句配合使用,本題計數器語句為: If c>0 Then x=x+1 ,即使用x統計c值大于0的次數。11.(2020高三上·諸暨月考)有如下VB程序段:For i=1 To 8d(i)= In(Rnd*10)Next iFor i= 2 To 8If i Mod 2=0 And d(i)> d(i-1)Thend(i)=d(i-1)+1ElseIf i Mod 2= 1 ThenIf d(i)>d(i-2) Thent=d(i): d(i)=d(i-2): d(i-2)=tEnd IfNext i( )A.8 8 7 1 3 5 0 1 B.9 0 8 3 5 6 0 1C.6 2 5 4 7 8 2 3 D.9 10 6 7 5 3 2 2【答案】B【知識點】運算符、基本運算與表達式;常量、變量及變量的賦值【解析】【解答】本程序分析如下:For i=1 To 8 ‘使用i來控制循環,i的初值為1,終值為8,步長為1,該循環用于給數組d的每個元素進行賦值,數組d共有8個元素d(i)= In(Rnd*10) ‘給數組d的每個元素進行賦值,數組d的元素值范圍為0-9Next i ‘結束循環For i= 2 To 8 ‘使用i來控制循環,i的初值為2,終值為8,步長為1,該循環用于調整數組元素d(2)到d(8)的值,i代表數組的下標If i Mod 2=0 And d(i)> d(i-1)Then ‘如查i值為偶數時且數組元素大于前一個元素值時進行如下處理d(i)=d(i-1)+1 ‘將該數組元素的值調整為前一個元素值多1ElseIf i Mod 2= 1 Then ‘否則如果i為奇數時進行如下處理If d(i)>d(i-2) Then ‘如果數值元素值比前兩個的元素值大時進行如下處理t=d(i): d(i)=d(i-2): d(i-2)=t ‘借助第三變量t交換前后兩個奇數元素的值End If ‘結束條件判斷,通過該循環執行了一次冒泡算法,保證了奇數位元素的最左邊元素(d(1))的值在奇數位上最大Next i ‘結束循環選項A:第六個元素5其值比第五個元素值大,此時d(6)的值應為d(5)+1=3+1=4,故選項A不可能。選項B:第一個元素值最大,偶數位比前面奇數位元素大時,只比前面奇數位元素多1,符合要求。選項C:第一個元素不是奇數位最大的值,錯。選項D:數組元素值超過了范圍。故答案選B。【分析】本題考查的是生成指定范圍的隨機整數公式及使用循環來處理數組元素的方法。由于數組元素較多,一個一個處理較麻煩可以使用循環變量來代替數組的下標從而簡化數組元素的處理。產生指定范圍內的隨機數公式為:int((上限-下限+1)*rnd)+下限。12.(2020高三上·諸暨月考)以下VB程序段用以實現10個數組元素升序排序。Dim a(1 To 10) As IntegerDim flag As BooleanDim i As Integer, j As Integer, tmp As Integer隨機生成10個不重復的數據存入數組A中,代碼略For i=2To 10tmp= a(i)j=iflag=FalseDo While ① And Not flaga(j)=a(j-1)j=j-1②Loopa(j)=tmpNext i要實現上述功能,方框①②中的語句分別是( )A.①tmpB.①tmp>a(j-1) ②If j=1 Then flag=TrueC.①tmpD.①tmp>a(j) ②If j=0 Then flag=True【答案】A【知識點】排序算法及程序實現【解析】【解答】本程序分析如下:Dim a(1 To 10) As Integer ‘定義整型數組a,a共有10個元素Dim flag As Boolean ‘定義布爾型變量flagDim i As Integer, j As Integer, tmp As Integer ‘定義整型變量i、j和tem隨機生成10個不重復的數據存入數組A中,代碼略For i=2To 10 ‘使用i來控制循環,i的初值為2,終值為10,步長為1,i代表數組a的下標tmp= a(i) ‘將數組在本輪最右側的元素值賦給變量tmpj=i ‘將本輪最右側的數組元素的下標賦給變量i,即給j賦初值iflag=False ‘設置標記變量flag的值為falseDo While ① And Not flag ‘如果tmp的值小于數組元素a(j-1)的值且標記變量值為false時執行循環,故本處答案應填寫:tmpa(j)=a(j-1) ‘將數組元素的值賦為前面的元素的值j=j-1 ‘將j值減少1② ‘如果j的值為1,即j為最數組的第一個元素時不用再向前比較,將標記變量值設為true,終止內層循環,故本處答案填寫:if j=1 then flag=trueLoop ‘結束內層循環,該內層循環的目的是由后向前查找本輪最右側的元素應放的位置a(j)=tmp ‘將本輪最右側的值放于a(j)處Next i ‘結束外層循環由以上程序分析知, ①處為如果tmp的值小于數組元素a(j-1)的值且標記變量值為false時執行循環,故本處答案應填寫:tmp②處為如果j的值為1,即j為最數組的第一個元素時不用再向前比較,將標記變量值設為true,終止內層循環,故本處答案填寫:if j=1 then flag=true。故答案選A。【分析】本題考查的是插入排序算法。插入排序算法的原理在一個有序數組中插入一個數使用原有序數組成為一新的有序數組。在本題中從第二個元素開始將其與前面的元素一個一個比較從而找到其位置并插入到該位置使從第1個元素到第i個元素成為有序數組,當i為最左邊一個元素時則整個數組成為一個有序數組。二、非選擇題(本大題共5小題,4+8+7+7,共26分)13.(2020高三上·諸暨月考)小段收集了2018年浙江省各地區農業總產值相關數據,并使用Excel軟件進行數據處理,如第圖a所示,其他單元格中均無數據。(1)區域G3:G14的數據是通過公式計算得到的:先在G3單元格中輸入公式,再利用自動填充功能完成區域G4:G14的計算。G3單元格中的公式可能是 (多選,填字母)。A.=F3/F14*100B.=F3/$F$14*100C.=F3/F$14*100D.=F3/$F14*100E.=F3/SUM($F$3:$F$13)*100(2)根據第圖a中的相關數據制作了圖表,如圖b所示,創建該圖表的數據區域是 。(3)將區域A2:F13的數據復制到新工作表,在新工作表中對數據進行篩選操作,篩選設置如圖第圖c所示,則按此設置篩選出的地區有 個。【答案】(1)B;C;E(2)A2:E2,A8:E9(3)2【知識點】表格數據的基本操作;數據分析【解析】【解答】(1)由G2的字段名知該列字段為農林牧漁占各地區合計的百分比,而每個城市的農林漁牧合計數在F列對應的單元格中,而總的合計數在F14中,在求各城市的占比時F14不變應為絕對引用($F$14)或混合引用(F$14),而各城市的農林牧漁數要隨單元格的變化而變化應使用相對引用。選項A中F14沒有使用絕對引用或混合引用錯誤,選項B、選項C使用了絕對引用和混合引用正確,而選項D混合引用使用了絕對列相對行,由于公式在同一列中變化故列號在復制時不會改變,而行號沒有使用絕對引用,本項錯。選項E:盡管沒有使用F14中的合計數但使用F3到F13之和(sum函數)也是可以的,本項對。故本小題答案選BCE。(2)由圖知圖表簇狀柱形圖,圖表為紹興市和金華市的農、林、牧、漁業的對比數據,x軸為農、林、牧、漁的名稱為字段名在第二行的A列到E列,縱軸為紹興市、金華市的農、林、牧、漁業數據在 A8:E9 區域中。故本題答案填寫: A2:E2,A8:E9 。(3)由于是自動篩選所以兩個篩選的關系為”且“的關系,即篩選出地區包含”州“字且農業產值大于150(不含150)的城市,由第一個包含州的城市可篩選出”杭州、溫州、湖州、衢州、臺州“共五條數據,再從五個城市 中選出農業產值大于150的,可選出”杭州、臺州“兩個城市。故本題答案填寫:2。【分析】本題考查的是公式的填充及公式中單元格地址引用方式、圖表數據區域選擇及自動篩選操作。填寫公式時要根據題義使用正確函數或運算符,而公式中的地址引用有相對地址引用和絕對地址引用及混合地址引用3種方式,相對地址引用就是單元格地址前不加任何東西,單元格地址會隨單元格的變化而變化,絕對單元格地址引用就是在單元格地址前加$號,不會隨單元格的變化而變化?;旌弦檬窃谛刑柣蛄袠饲凹?號,另一個不加,在復制公式時加$號的不變,不加$號的變化。圖表數據區域的選擇是看其橫軸和縱軸的數據,篩選可以根據條件進行手工選擇,自動篩選如果為多字段則字段之間為”且“的關系。14.(2020高三上·諸暨月考)小段使用Flash軟件創作主題為“旋轉的風車”的多媒體作品,部分界面如圖a所示。圖 a請回答下列問題:(1)編寫腳本是設計多媒體作品的重頭戲,腳本編寫的一般步驟有:①編寫腳本大綱②媒體元素分解③編寫文字腳本④編寫制作腳本,則正確的腳本編寫順序為 (單選,填字母:A .①②④③ B .②①③④ C .①④③② D .①③④②)。(2)圖中“文字”圖層第1幀到第36幀實現了文字“放飛夢想”漸變為“超越自我”的動畫,則第36幀中的“超越自我”為 (填文字:形狀/實例)。(3)如圖所示,在不影響其他動畫效果的前提下,為使“音樂”圖層中的聲音從本場景第1幀開始播放,正確的操作是 。(4)圖中“風車”圖層應用了影片剪輯元件“風車”,修改“風車”元件的幀頻為6fps,則當前場景的播放速度 (填文字:變快/變慢/不變)。(5)“播放”按鈕的編輯界面如圖b所示,該按鈕 (填文字:能/不能)正常響應鼠標事件。圖 b(6)測試影片時,單擊“播放”按鈕,停止所有聲音的播放,并使影片跳轉到“scene2”場景的第1幀并繼續播放,則“播放”按鈕的動作腳本為 。【答案】(1)D(2)形狀(3)“音樂”圖層第1幀清楚關鍵幀或“音樂”圖層第13幀移動到第1幀或其他等價答案(4)變慢(5)能(6)on(press){stopAllSounds():goto AndPlay("scene2, 1");}或on(release){stopAllSounds():goto AndPlay("scene2, 1");}【知識點】多媒體作品的規劃和設計;動畫的類型;時間軸、幀、圖層、庫的概念及基本操作;常用影片控制函數的應用【解析】【解答】(1)腳本編寫包括:制定腳本大綱、編寫文字腳本、編寫制作腳本、媒體元素分解等四步驟,且四個步驟是按制作的順序的。故答案選D。(2)由圖中的 “文字”圖層第1幀到第36幀知該圖層由一綠色底紋加上一個黑色箭頭且實現了文字的變化,故其動畫補間為形狀補間,而實現形狀補間的第36幀的圖形只能為形狀而不能為實例(將文字打散變為了形狀,而實例為一體的不能打散),故本小題答案選填:形狀。(3)由圖可知“音樂”圖層的第1幀為空白關鍵幀,而第一個關鍵幀在第13幀,若想音樂從頭開始播放需將第13幀移動到第1幀,故本小題答案填寫: “音樂”圖層第1幀清楚關鍵幀或“音樂”圖層第13幀移動到第1幀或其他等價答案 。(4)由圖a知該動畫的幀頻為12fps,即每秒播放12幀,現在修改 “風車”元件的幀頻為6fps ,而元件的幀步與場景的幀頻是相同的,故動畫幀頻變為了6fps,即每秒播放6幀,故本小題答案選填:變慢。(5)“播放”按鈕能正常響應鼠標事件,故本小題答案選填:能。(6)由題義知,當按下或釋放“播放”按鈕時 停止所有聲音的播放,并使影片跳轉到“scene2”場景的第1幀并繼續播放 ,故本小題答案應填寫: on(press){stopAllSounds():goto AndPlay("scene2, 1");}或on(release){stopAllSounds():goto AndPlay("scene2, 1");} 。【分析】本題考查的是腳本編寫步驟、形狀補間、清除關鍵幀、幀頻、點擊幀的作用及動作腳本。多媒體分析與策劃包括應用需求分析和創作需求及腳本編寫三部分,腳本編寫包括:制定腳本大綱、編寫文字腳本、編寫制作腳本、媒體元素分解等四步驟。形狀補間是由一個物體到另一個物體間的變化過程,像由三角形變成四方形等。時間軸上形狀補間是淡綠色底加一個黑色箭頭組成的,對于文字實現形狀補間需要將文字打散。幀頻就是每秒播放動畫的幀數,代表了動畫的播放速率。點擊幀表示按鈕響應鼠標事件的范圍或稱區域面積,此狀態的畫面內容、顏色在動畫播放時不可見。多媒體作品加入動作腳本可以增加人機交互功能。15.(2020高三上·諸暨月考)數組元素a(1)~a(100)用以存儲某班級50位學生的信息技術和通用技術成績,奇數位置存儲信息技術成績,偶數位置存儲對應學生的通用技術成績。該數組已經按照兩科總成績升序排序。依據對分查找思想,設計一個在數組a中查找總成績為key的程序,統計輸出兩科總成績大于等于key的人數。部分運行界面如圖所示:實現該功能的VB程序如下:Private Sub Command1_Click()Dim a(1 To 100) As IntegerDim sum As IntcgerConst t= 50‘將50個學生的信息技術和通用技術成績依次存儲在數組a(1)~a(100),代碼略Key = Val(Text2.Text)i= 1j= 100m=(i+j)\2Do While ① And m>1If m Mod 2=1 Then m= m- 1sum = a(m)+ a(m- 1)If ② Thenj=m-2ElseEnd Ifm=(i+j)\2LoopLabel2.Caption "大于等于"& Key & "分的人數為: "+ Str(t-j\2)End Sub(1)代碼"Private Sub Command1_Click()"中的Command1_Click()是 (單選,填字母:A .對象名/B .屬性名/C .事件名/D .事件處理過程明)。(2)請在①②劃線處填入合適代碼。① ② (3)加框出代碼有錯,請改正。【答案】(1)D(2)i<=j;sum>=key(3)i=m+2【知識點】類、對象、屬性、方法、事件和事件處理的概念及應用;查找算法及程序實現【解析】【解答】(1)在代碼 "Private Sub Command1_Click()"中 ,Private為事件過程的類型,sub為子程序或過程的關鍵字,command1為對象名,click為事件名, Command1_Click() 為事件過程名。故本小題答案選填:D。(2)本題程序分析如下:Private Sub Command1_Click() ‘命令按鈕1單擊事件過程開始Dim a(1 To 100) As Integer ‘定義整型數組a,a為100個元素Dim sum As Intcger ‘定義整型變量sumConst t= 50 ‘定義符號常t,并將t賦值為50‘將50個學生的信息技術和通用技術成績依次存儲在數組a(1)~a(100),代碼略Key = Val(Text2.Text) ‘交從文本框中輸入要查找的數key轉為數值型并賦給變量keyi= 1 ‘初始化變量i的值為1,i代表要查找數組元素的下標下限j= 100 ‘初始化變量j的值為100,j代表要查找數組元素的下標上限m=(i+j)\2 ‘計算中值元素的下標值并賦給變量mDo While ① And m>1 ‘在要查找數組元素的下標下限小于等于上限且中值下標m的值大于1時進行循環,故本處答案應填寫:i<=jIf m Mod 2=1 Then m= m- 1 ‘如果m的值不為偶數則將m值減少1sum = a(m)+ a(m- 1) ‘計算中值數組元素代表的學生的信息技術和通用技術成績總分If ② Then ‘如果總分sum大于等于要查找的分數key時進行如下處理,故本處答案應填寫: sum>=keyj=m-2 ‘因為中值大于等于要查找的分數應在前半個數組中繼續查找,故將要查找數組元素的下標的上限設為中值少2Else ‘否則即要查找的分數比中值大時進行如下處理‘因為中值小于要查找的分數應在后半個數組中繼續查找,故將要查找數組元素的下標的下限設為中值多2,故本處應將i=m-2改為:i=m+2End If ‘結束條件判斷m=(i+j)\2 ‘繼續求中值Loop ‘結束循環Label2.Caption "大于等于"& Key & "分的人數為: "+ Str(t-j\2) ‘使用標簽2將大于要查找分數的人數輸出End Sub ‘結束事件過程由以上程序分析知, ①處為在要查找數組元素的下標下限小于等于上限且中值下標m的值大于1時進行循環,故本處答案應填寫:i<=j。②處為如果總分sum大于等于要查找的分數key時進行如下處理,故本處答案應填寫:sum>=key。(3)由加框處代碼知,因為中值小于要查找的分數應在后半個數組中繼續查找,故將要查找數組元素的下標的下限設為中值多2,故本處應將i=m-2改為:i=m+2。【分析】本題考查的是對分法查找數據的方法,對分法查找過程是先將一個數列放于一個有序數組中,然后比較中間數組元素的值與要查找的值,或中間數組的值比要查找的值大,則在前半個數組中查找,若中間數組的值比要查找的值小則在后半個數組中查找。查找方法仍是比較中間數組元素的值和要查找的值。以此類推直到查到或下限大于了上限(沒查找)為止。16.(2020高三上·諸暨月考)二叉樹是每個結點最多有兩個子樹的樹結構,如值為9的結點有兩個子樹6和8,值為6的結點有兩個子樹5和3。若設二叉樹的深度為h,則除第h層外,其它各層(1~h-1)的結點數都達到最大個數,第h層所有的結點都連續集中在最左邊,這就是完全二叉樹?,F要構造大根堆,堆是一棵順序存儲的完全二叉樹,大根堆又是一種特殊的堆,它的特征是每個雙親結點的值都不小于其孩子結點的值。如下圖所示,值為9的結點是6和8的雙親結點,而6和8分別是9的左孩子和右孩子;同理,6是5和3的雙親結點,而5和3分別是6的左孩子和右孩子……假如我們用數組表示上述大根堆:a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9)9 6 8 5 3 4 7 2 1現有一算法把一個無序數組改造成大根堆。例如:我們在上圖的大根堆中再增加一個值為8的新元素,如下圖所示。數組存儲為:a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10)6 8 5 3 4 7 2 1 8具體操作方法如下:第一步:因為a(10)大于它的雙親結點a(5),故需交換a(10)和a(5)的值;數組存儲為:第二步:因為a(5)大于它的雙親結點a(2),故需交換a(5)和a(2)(t)值;數組存儲為:a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10)9 8 8 5 6 4 7 2 1 3第3步:因為a(2)不大于它的雙親結點a(1),故無需做交換操作。此時新元素已經放到了正確的位置,新的大根堆構造完成,上移行動結束。(1)若在圖中增加值為4的新元素,則元素4將被存儲在數組元素 中。(2)小段為此編制一VB程序:在文本框Tcxt1中輸入結點個數n,單擊命令按鈕Command1,隨機產生n個[1,99]的整數作為結點值,并由此構造大根堆,結果顯示在列表框List1中,程序運行界面如圖所示。實現上述功能的程序代碼如下請在劃線處填入合適的代碼。Dim a(1 To 100) As Integer‘該函數功能為實現數據的對齊輸出Function pout(x As Integer, y As Integer) As String代碼略End FunctionPrivate Sub Command1_Click()Dim tmp As Integer, Dim m As IntegerDim n As Integer, Dim s As Stringn = Val(Text1.Text)For i=1 To na(i) = Int(Rnd()*99)+ 1Next iFor i= 2 To np=if=p\2Do While ①tmp = a(p): a(p)= a(f): a(f) = tmpp=ff=p\2If f= 0 Then Exit DoLoopNext ik= nDo While k >=1m=m+1②Loopk= 1For i=0 To m- 1s=""For j= 1 To ③If k> n Then Exit Fors=s+ pout(a(k), (2^(m-1)-2^i)/2^i)k=k+ 1Next jList1.AddItem sNext i① ② ③ 【答案】(1)a(5)(2)a(p)>a(f);k=int(k/2)或k=k\2;2^i【知識點】過程與自定義函數;排序算法及程序實現【解析】【解答】(1)由題給出的算法知,先將新加入的元素放于最低層的盡可能的左側,即將a(10)的值賦為4,其雙親為數組元素a(5),其值為3,由于4大于3交換子結點和雙新結點的值,即a(5)的值為4,a(10)的值為3,此時a(5)的值4小于其雙親結點a(2)的值6,新的大根堆構造完成,故本小題答案填寫:a(5)。(2)本程序分析如下:Dim a(1 To 100) As Integer‘該函數功能為實現數據的對齊輸出Function pout(x As Integer, y As Integer) As String代碼略End Function ‘自定義函數pout結束Private Sub Command1_Click() ‘命令按鈕1單擊事件過程開始Dim tmp As Integer, Dim m As Integer ‘定義整型變量tmp和mDim n As Integer, Dim s As String ‘定義整型變量n和字符串變量sn = Val(Text1.Text) ‘將從文本框1中輸入的數轉為數值型并賦給變量n,n為大堆根的結點個數For i=1 To n ‘使用i來控制循環,i的初值為1,終值為n,步長為1,該循環用于產生n個隨機數并存儲在數組a中a(i) = Int(Rnd()*99)+ 1 ‘產生一個【1,99】之間的隨機整數并存儲在數組a的第i個元素中Next i ‘結束循環For i= 2 To n ‘使用變量i來控制循環,i的初值為2,終值為n,i代表數組A的下標,i每增加一個值代表處理完一個元素,即將該元素放置在大堆根中p=i ‘將i值賦給變量p,p代表子結點元素的下標f=p\2 ‘將p值除整除以2賦給變量f,f為數組p的雙親結點所在的元素的下標Do While ① ‘在子結點元素值大于雙親結點元素值時進行循環,故本處答案應填寫: a(p)>a(f)tmp = a(p): a(p)= a(f): a(f) = tmp ‘借助第三變量t交換雙親結點和子結點元素的值p=f ‘將原雙親結點的元素的下標f賦給代表子結點的元素下標pf=p\2 ‘計算其雙親結束元素的下標并賦給變量fIf f= 0 Then Exit Do ‘如果f的值為0時則證明其上級無結點則提前退出內層循環Loop ‘結束內層循環Next i ‘結束外層循環k= n ‘將n值賦給變量kDo While k >=1 ‘在k值大于等于1時進行循環,本循環用于計算輸出的次數,即大堆根的層數m=m+1 ‘將m值增1,m值用于統計大堆根的層數② ‘將k值的一半賦給k,故本處答案應填寫: k=int(k/2)或k=k\2Loop ‘結束循環k= 1 ‘將k值設為1For i=0 To m- 1 ‘使用i來控制循環,i的初值為0,終值為m-1,i代表輸出大堆根的層數(從第0層到第m-1層,輸出次數仍為m)s="" ‘初始化字符串變量s的值為空字符串,s代表本層輸出的結點For j= 1 To ③ ‘ 使用j來控制循環,j的初值為1,終值為2的i次方,步長為1,j代表輸出本層的數據個數,故本處答案應填寫: 2^iIf k> n Then Exit For ‘如果k值大于n值時提前退出內層循環s=s+ pout(a(k), (2^(m-1)-2^i)/2^i) 將該層的元素值轉為字符串并合并到字符串s的右側k=k+ 1 ‘將k值增1,代表處理了一個元素Next j ‘結束內層循環List1.AddItem s ‘在列表框1中輸出一行數據Next i ‘結束外層循環由以上程序分析知: ①處為在子結點元素值大于雙親結點元素值時進行循環,故本處答案應填寫: a(p)>a(f)。②處為將k值的一半賦給k,故本處答案應填寫:k=int(k/2)或k=k\2。③處為使用j來控制循環,j的初值為1,終值為2的i次方,步長為1,j代表輸出本層的數據個數,故本處答案應填寫: 2^i。【分析】本題的算法為插入排序算法。插入排序法是選擇排序法的一種特例它是在一個有序數列的基礎上,通過要插入的數與數列中的數相比較,找到其位置,然后由后向前將數組元素向后移一位然后在適當位置插入這個數從而仍形成一個有序數列。在本題中比較的元素不是相鄰的元素而是子結點和雙親結點,能過在一個大堆根數組中插入一個元素形成另一個大堆根數組,將要插入的元素處理過完則大推根就形成了。1 / 1 展開更多...... 收起↑ 資源列表 浙江省諸暨市2020屆高三上學期信息技術診斷性考試試卷(學生版).docx 浙江省諸暨市2020屆高三上學期信息技術診斷性考試試卷(教師版).docx 縮略圖、資源來源于二一教育資源庫