資源簡介 高三選考提升訓(xùn)練一 1. 下列表達(dá)式成立的是( ) A. Abs(-4.1) < Int(Abs(-4.1)) B. Val("4") <> Len("zjsx") C. Sqr(256) = 4 ^ 2 D. Mid("307408", 1, 3) = Str(3007) 2. 有如下 VB 程序段: Dim f(1 To 128) As Integer Dim t As String Dim i As Integer , j As Integer , y As Integer , max As Integer t = Text1.Text For i = 1 To Len(t) c = Mid(t, i, 1) If Asc(c) >= 97 And Asc(c) <= 122 Then f(Asc(c)) = f(Asc(c)) + 1 Next i max = f(97) For j = 98 To 122 If f(j) > max Then max = f(j) Next j 文本框 Text1 的內(nèi)容為“Hard work, good luck!”,執(zhí)行程序后,變量 max 的值為 A. 3 B. 4 C. 5 D. 6 3. 小王要從表示年月日時(shí)分秒的字符串,如"2018-6-1 11:44:27"、"2018-8-30 07:54:54"、 "2018-11-25 17:21:34"等中提取表示小時(shí)的數(shù)據(jù)(如 11、07、17),因數(shù)據(jù)量很大,他計(jì)劃 通過編程來快速提取,以下是他調(diào)試的代碼: Dim d As String Dim p As Integer, kg As Integer, mh As Integer p = 1 : d = "2018-6-1 11:44:27" Do While (1) If (2) Then kg = p If (3) Then mh = p : Exit Do End If p = p + 1 Loop xfh = Trim(Mid(d, kg + 1, mh - kg - 1)) 上述程序中劃線處可選語句為:①M(fèi)id(d, p, 1) = " " ②Mid(d, p, 1) = ":" ③p <= Len(d), 則(1)、(2)、(3)處語句依次是 A. ①②③ B. ②③① C. ①③② D. ③①② 4. 有如下 VB 程序段: Dim a(1 To 6) As Integer Dim i As Integer, j As Integer, k As Integer a(1) = 27: a(2) = 94: a(3) = 32: a(4) = 68: a(5) = 51: a(6) = 13 For i = 1 To 3 For j = 1 To 5 If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next j Next i 該程序運(yùn)行后,數(shù)組元素 a(4)、a(5)、a(6)的值分別是 A. 32 27 13 B. 51 68 94 C. 32 68 94 D. 51 27 13 5. 有如下 VB 程序段: Dim a(1 To 20) As Integer, key As Integer a(1) = 1: a(2) = 4 For i = 3 To 10 a(i) = a(i - 1) + a(i - 2) Next i key = (a(1) + a(i - 1)) \ 2 i = 1: j = 10: c = 0 Do While i <= j m = Fix((i + j) / 2 - 0.5) c = c + 1 If key = a(m) Then Exit Do ElseIf key > a(m) Then i = m + 1 Else j = m - 1 End If Loop 執(zhí)行程序,語句 c=c+1 執(zhí)行的次數(shù)是( ) A. 1 B. 2 C. 3 D. 4 6. 小朱制作主題為“flash 之逐幀動(dòng)畫”的多媒體作品,首先使用 Photoshop 軟件處理圖片,然后用 Flash 軟件制作動(dòng)畫。請(qǐng)回答下列問題: 第 6 題圖 a (1)如第 6 題圖 a 所示,若要保存為不包含文字內(nèi)容、背景透明的格式文件,以下操作中合理的是__________。(多選,填字母:A.將“背景”圖層的不透明度設(shè)置為 0% B.刪除“找尋”圖層 C.設(shè)置“背景”圖層為隱藏 D.“存儲(chǔ)為”JPEG 格式文件 E.“存儲(chǔ)為”PNG 格式文件) 第 6 題圖 b (2)如第 6 題圖 b 所示,“文本說明”圖層第 12 幀至第 21 幀實(shí)現(xiàn)了順時(shí)針旋轉(zhuǎn) 2 次的動(dòng)畫效果,該圖層的補(bǔ)間類型是__________。 (3)測(cè)試影片時(shí),發(fā)現(xiàn)“文本說明”圖層在補(bǔ)間動(dòng)畫結(jié)束后就消失了,如果要使該文本說明文字一直呈現(xiàn)至該場(chǎng)景播放結(jié)束,應(yīng)進(jìn)行的操作是:__________。 (4)測(cè)試影片時(shí),單擊“片頭”場(chǎng)景中的“記錄人生”按鈕,影片跳轉(zhuǎn)至“記錄人生”場(chǎng)景的第 1 幀并播放,同時(shí)停止播放所有聲音,則該按鈕上應(yīng)添加的動(dòng)作腳本是:__________。 7. 在某次婚慶活動(dòng)中有一個(gè)“擲骰子贏獎(jiǎng)品”游戲,規(guī)則如下:每桌都有一位賓客可獲得一次擲骰子的機(jī)會(huì),每顆骰子最小一點(diǎn),最大六點(diǎn),共六顆,以六顆骰子的總點(diǎn)數(shù)作為評(píng)比依據(jù),點(diǎn)數(shù)超過 20 且排在前六的賓客最終可獲得相應(yīng)的獎(jiǎng)品。小俞據(jù)此編寫了 VB 模擬程序。點(diǎn)擊“生成隨機(jī)數(shù)”按鈕 Command1,即模擬進(jìn)行 9 次擲骰子動(dòng)作,將相應(yīng)的序號(hào)和點(diǎn)數(shù)顯示在列表框 List1 中,點(diǎn)擊“限定條件降序排序”按鈕 Command2,按限定之條件進(jìn)行降序排序,并將排序后的數(shù)據(jù)顯示在列表框 List2 中(如第 7 題圖)。代碼如下: Const n = 10 Dim xh(1 To n) As Integer Dim sz(1 To n) As Integer Private Sub Command1_Click() List1.AddItem "序號(hào) 點(diǎn)數(shù)" For i = 1 To n s = 0 For j = 1 To 6 Randomize _______________ s = s + t Next j xh(i) = i : sz(i) = s List1.AddItem Str(xh(i)) + " " + Str(sz(i)) Next i End Sub Private Sub Command2_Click() List2.AddItem "序號(hào) 點(diǎn)數(shù)" For k = 1 To n - 1 m = k For p = k + 1 To n If sz(p) > sz(m) Then m = p Next p If m <> k Then ‘## w = sz(m): sz(m) = sz(k): sz(k) = w w = xh(m): xh(m) = xh(k): xh(k) = w End If ‘## Next k For r = 1 To n List2.AddItem Str(xh(r)) + " " + Str(sz(r)) Next r End Sub (1)如果想實(shí)現(xiàn)清空列表框 List1 的全部內(nèi)容,可實(shí)現(xiàn)上述效果的語句是________(單選,填字母:A. List1.Text=”” B. List1.Caption=”” C. List1.Clear) (2)程序代碼中,加框處有錯(cuò),請(qǐng)改正。 (3)程序代碼中,將劃橫線處語句補(bǔ)充完整。 (4)程序代碼中,若刪除標(biāo)有“##”的兩行語句,能否實(shí)現(xiàn)與如圖那樣的排序效果:__________ (單選,填字母:A. 能 B. 不能) 參考答案 1-5 CADBD 6. (1)B C E (2 分) (2)動(dòng)畫補(bǔ)間 (2 分) (3)在“文本說明”圖層第 28 幀作“插入幀”操作 或其它等效答案 (2 分) (4)on ( press ) {gotoAndPlay("記錄人生", 1);stopAllSounds();} 或其它等效答案 (2 分) 7. (1)C (1 分) (2)sz(p) > sz(m) And sz(p) >20 或 sz(p) >= sz(m) And sz(p) >20 或 其它等效語句 (2 分) (3)t = Int(Rnd * 6) + 1 (2 分) (4)A (2 分) 高三選考提升訓(xùn)練三 1. 生成 6.0 到 12.0 之間隨機(jī)實(shí)數(shù)并保留一位小數(shù),如果用隨機(jī)函數(shù) Rnd 產(chǎn)生這個(gè)數(shù), 下列能夠符合要求的是( )A. (Rnd*61+60)/10 B. Int(Rnd*61)/10+6 C. Int(Rnd*60+60)/10 D. Int(Rnd(60))/10+62. 某算法流程圖如圖所示。執(zhí)行這部分流程后,輸出值為( ) A. 223 B. 224 C. 225 D. 2263. 有如下 VB 程序段:Private Sub Command1_Click()Dim s As Integers = Val(Text1.Text)Text1.Text = f(s)End SubFunction f(x As Integer) As StringIf x = 1 Then f = 1 Else f = f(x - 1) + 2End Function在 Text1 中輸入 3 后點(diǎn)擊按鈕 Command1,文本框 Text1 中顯示的內(nèi)容是( )A. 3 B. 5 C. 7 D. 94. 有如下 VB 程序段:For i = 1 To 5For j = 1 To 10 If j Mod i = 0 Then a(j) = (1 + a(j)) Mod 2 Next j Next i s = 0 For i = 1 To 10 s = s + a(i) Next i 已知數(shù)組 a 中的所有元素初值為 0,運(yùn)行上述程序段后,變量 s 的值是( ) A. 4 B. 5 C. 6 D. 75. 有如下 VB 程序段:n = 6For i = 2 To 4k = a(n - i + 1) j = n - i + 2 Do While a(j) < k a(j - 1) = a(j) j = j + 1 If j = n + 1 Then Exit Do Loop a(j - 1) = k Next i 數(shù)組元素 a(1)到 a(6)的值分別為“23,6,37,45,11,52”,程序運(yùn)行后,a(1)到 a(6)的值依次為( ) 第 2 題 A. 6,23,37,45,11,52 B. 23,6,11,37,45,52C. 6,11,23,37,45,52 D. 23,6,37,11,45,526. 某對(duì)分查找改進(jìn)算法 VB 程序段如下:i = 1: j = nDo While i <= jIf i + 1 = j Then If Abs(a(i)) < Abs(a(j)) Then Label1.Caption = a(i) Else Label1.Caption = a(j) Exit Do End If m = (i + j) \ 2 If a(i) * a(m) > 0 Then i = m If a(j) * a(m) > 0 Then j = m Loop 非零數(shù)組元素 a(1)到 a(8)的值依次是“-8,-5,-3,-2,1,4,7,9”,則以上程序段 執(zhí)行后,在 Label1 中顯示的內(nèi)容是( ) A. -8 B. -2 C. 1 D. 97. 小明使用 Flash 軟件創(chuàng)作了一個(gè)關(guān)于“江雪”的多媒體作品,請(qǐng)回答下列問題:(1)小明進(jìn)行了下列工作,其中屬于“腳本編寫”的是 (多選,填字母:A. 把多媒體作品取名為“江雪” /B. 列出作品需要的圖片、聲音 等素材清單 /C. 計(jì)劃將作品通過微博推廣 /D. 用文字詳細(xì)描述作品的展示過程/E. 要求使用 Flash 軟件進(jìn)行制作) (注:全部選對(duì)得 2 分,選對(duì)但不全的得 1 分,不選或者有錯(cuò)選的得 0 分) (2) 測(cè)試影片時(shí),鳥扇動(dòng)著翅膀從舞臺(tái)左側(cè)往右側(cè)飛行,飛至舞臺(tái)外消失,由此可知鳥是用元件庫中的 (單選,填字母:A.按鈕元件/B.影片剪輯元件/C.位圖圖片)產(chǎn)生的實(shí)例。 (3) 在“背景”圖層第 1 幀添加動(dòng)作腳本“stop();”,同時(shí)“music”圖層中音頻的 同步方式如下圖所示,請(qǐng)問測(cè)試影片剛開始能否聽見聲音? (選填:能/不能) (4) 測(cè)試影片時(shí),以下操作不會(huì)改變?cè)瓌?dòng)畫效果的有 (多選,填字母) A.對(duì)“背景”圖層第 1 幀復(fù)制粘貼至第 25幀 B.對(duì)鳥圖層的第 60 幀執(zhí)行插入幀操作C.刪除“music”圖層的最后 5 幀 D.對(duì)“按鈕”圖層第 60 幀執(zhí)行清除幀操作(5)單擊“退出”按鈕,實(shí)現(xiàn)關(guān)閉并退出動(dòng)畫,該按鈕添加的動(dòng)作腳本是 。8.冬天到了,室外運(yùn)動(dòng)顯然已經(jīng)不適合,因此效實(shí)中學(xué)準(zhǔn)備要舉辦室內(nèi)的乒乓球賽啦。現(xiàn)在有 2k 個(gè)同學(xué)參加,每天安排若干場(chǎng)比賽,且每位同學(xué)每天僅參加一場(chǎng)比賽,試給出一種賽程安排表,使得 2k-1天內(nèi)任意兩個(gè)同學(xué)都至少比賽過一場(chǎng)。 按照比賽要求,可以設(shè)置賽程表為 n行 n-1 列的二維表,其中第 i 行第 j 列的元素表示和第 i個(gè)選手在第 j天進(jìn)行比賽的同學(xué)編號(hào)。若 k=1,則賽程表如下:若 k=2,則賽程表如下: 觀察兩個(gè)表不難發(fā)現(xiàn): ①二個(gè)表的左上角和右下角與第一個(gè)表相同;②第二個(gè)表的左下角和右上角相同,恰好是第一個(gè)表各元素值加 2。 因此可以通過第一個(gè)表來構(gòu)造第二個(gè)表。同理可得,當(dāng) n=2k 個(gè)同學(xué)的比賽日程表,可以通過 n=2k-1 個(gè)同學(xué)的比賽日程表構(gòu)造得到。實(shí)現(xiàn)上述功能的 VB 程序如下:Private Sub Command1_Click() Dim a(1 To 10000) As IntegerDim n As Long, tmp As Long, i As Integer, j As Integer, t As Integer a(1) = 1 : n = 1k = Val(Text1.Text)For t = 1 To ktmp = ① n = n * 2 For i = tmp + 1 To n For j = 1 To tmp ② Next j Next i For i = tmp To n '改錯(cuò) For j = tmp + 1 To n a((i - 1) * 2 ^ k + j) = a((i + tmp - 1) * 2 ^ k + (j + tmp) Mod n) Next j Next i For i = tmp + 1 To n For j = tmp + 1 To n a((i - 1) * 2 ^ k + j) = a((i - tmp - 1) * 2 ^ k + j - tmp) Next j Next i Next t For i = 1 To n st = "" For j = 1 To n st = st + Str(a((i - 1) * 2 ^ k + j)) Next j List1.AddItem st Next i End Sub 請(qǐng)回答下列問題: (1)該按鈕事件的標(biāo)準(zhǔn)名為 。 (2)加框處代碼有誤,請(qǐng)改正。 (3)補(bǔ)充①、②處代碼實(shí)現(xiàn)上述功能。 9.效實(shí)中學(xué)的同學(xué)靜校時(shí)間經(jīng)常要被叫去過關(guān),今天又有 n 個(gè)同學(xué)要去過關(guān)啦~但這些同學(xué)很不幸,他們必須先過 A 老師的關(guān),再過 B 老師的關(guān),才能完成過關(guān)任務(wù)。 現(xiàn)在知道每個(gè)人過 A、B 關(guān)的時(shí)間,比如第 i個(gè)人,過關(guān)的時(shí)間分別為 A ,B 。求一個(gè)過關(guān)順序使得過關(guān)時(shí)間總用時(shí)最短,就是讓 A、B老師的總空閑時(shí)間最短。 很明顯第一個(gè)同學(xué)在 A 老師處過關(guān)時(shí),B 老師必須等待,最后一個(gè)同學(xué)在 B 老師處過關(guān)時(shí),A老師也在等待。因此將在 A處過關(guān)最短的放在最前面,將在 B處過關(guān)最短的放在最后面 假設(shè) M 是 A ,B 中較小的那一個(gè),例如 N = 3 時(shí),過關(guān)時(shí)間如下圖: 若 M = A ,則將他排在從頭開始過關(guān)者后面; 若 M = B ,則將他排在從尾開始過關(guān)者前面; 則最優(yōu)的過關(guān)順序?yàn)?同學(xué) 2,同學(xué) 3,同學(xué) 1),計(jì)算最短時(shí)間 = 3 + 19 + 22 +10 = 54, 計(jì)算時(shí)請(qǐng)注意,在過程中若 A 老師的過關(guān)時(shí)長較長,會(huì)增加 B老師的過關(guān)時(shí)長,最后還需要加上 B老師過關(guān)的最后一個(gè)同學(xué)的過關(guān)時(shí)長。 實(shí)現(xiàn)上述功能的 VB 程序如下: Private Sub Command1_Click() Dim a(1 To 100) As Integer, b(1 To 100) As Integer Dim m(1 To 100) As Integer, s(1 To 100) As Integer Dim ans(1 To 100) As Integer, n As Integer, tmp As Integer Dim k As Integer, i As Integer, j As Integer, t As Integer 排序后 '輸入略,將同學(xué)在 A 老師處的過關(guān)時(shí)間存在 a 數(shù)組 , 在 B 老師處的時(shí)間存在 b 數(shù)組 n = 5 For i = 1 To n If a(i) > b(i) Then m(i) = b(i) Else m(i) = a(i) s(i) = i Next i For i = 1 To n - 1 For j = i + 1 To n If ① Then tmp = m(i): m(i) = m(j): m(j) = tmp tmp = s(i): s(i) = s(j): s(j) = tmp End If Next j Next i k = 0: t = n + 1 For i = 1 To n If ② Then k = k + 1 ans(k) = s(i) Else t = t - 1 ans(t) = s(i) End If Next i k = 0: t = 0 For i = 1 To n k = k + a(ans(i)) If ③ Then t = k t = t + b(ans(i)) Next i Print t End Sub 請(qǐng)回答下列問題: (1)若在 A 老師處過關(guān)的 5 個(gè)同學(xué)的時(shí)間分別是:3 5 8 7 10,在 B 老師處過關(guān)的是 6 2 1 4 9,那么,最終過關(guān)的總時(shí)間是 ? (2)補(bǔ)充①、②、③處代碼實(shí)現(xiàn)上述功能。 參考答案 1 B 2 C 3 B 4 C 5 B 6 C 7.(1)BD (2 分) (2)B (1 分)(3)能 (1 分)(4)BC (2 分)(5)On (press){fscommand(“quit”);}或 On (release){fscommand(“quit”);} (2 分) 8.(1)Click (1 分) (2)1 To tmp (2 分)(3) ① n (2 分)② a((i - 1) * 2 ^ k + j) = a((i - tmp - 1) * 2 ^ k + j) + tmp(2 分) 9.(1)34 (1 分) (2)① m(i)>m(j) (2 分) ② m(i)=a(s(i)) (2 分)③ t高三選考提升訓(xùn)練四 1. 使用 Flash軟件制作多媒體作品,測(cè)試影片時(shí),動(dòng)畫播放到“上學(xué)去”場(chǎng)景第 45幀時(shí)自動(dòng)停止,點(diǎn)擊“按鈕”圖層第 45幀的按鈕后,影片繼續(xù)播放,部分界面如圖所示:下列說法不正確的是 A.“按鈕”圖層第 1幀執(zhí)行“清除關(guān)鍵幀”命令,按鈕將從第 1幀開始顯示 B.選中“太陽”圖層第 20幀到 30幀, 執(zhí)行“刪除幀”命令后,太陽圖層依然有兩段動(dòng)畫C.將“背景”圖層的第 12幀拖動(dòng)到第 6幀,“背景”圖層中的內(nèi)容約 1秒后在當(dāng)前場(chǎng)景中消失D.“音樂”圖層第 45幀設(shè)置的幀動(dòng)作是“stop();”2.有如下 VB程序段:Private Sub Text1_Change()Dim a As Integer, i As Integer a = Val(Text1.Text) For i = 1 To 7 Step 3 If a <= 1000 Then a = a + i Next i Text1.Text = Str(a) End Sub 執(zhí)行該程序段,在文本框 Text1 中分別輸入“1”、“2”、“3”、“4”,text1中的結(jié)果 A.輸入“1”時(shí)最大 B.輸入“2”時(shí)最大 C.輸入“3”時(shí)最大 D.輸入“4”時(shí)最大3. 有如下 VB 程序段:For i = 1 To 6a(i) = Int(Rnd * 10) + 1 Next i For i = 1 To 5 If i Mod 2 = 1 And a(i) < a(i + 1) Then t = a(i): a(i) = a(i + 1): a(i + 1) = t Else a(i) = a(i) - 1 End If Next i 執(zhí)行程序后, a 數(shù)組各元素可能是 A.9,9,8,7,5,3 B.2,6,10,8,9,5C.9,6,7,3,11,8 D.9,3,8,-1,7,24.某算法程序段如下:Dim a(1 To 10) As Integer Dim i As Integer, j As Integer Dim key As Integer i = 1: j = 10: n = 0 Randomize key = Int(Rnd * 10) * 2 + 1 Do While i <= j m = Int((i + j) / 2 + 0.5) If key = a(m) Then Exit Do ElseIf key > a(m) Then j = m - 1: n = n - 1 Else i = m + 1: n = n + 1 End If Loop Text1.Text = Str(n) 已知數(shù)組元素 a(1)至 a(10)的值依次為 20,19,17,16,14,11,8,5,2,0 若執(zhí)行該程序后,文本框 Text1中顯示的內(nèi)容不可能是 A.-3 B.-2 C.-1 D.1 5.有如下 VB 程序: Private Sub Command1_Click() Dim s As Integer, i As Integer, j As Integer s = 0: i = 5 Do While i >= 1 For j = 1 To i If i Mod j = 0 Then s = s + fx(j) Next j i = i - 2 Loop Text1.Text = Str(s) End Sub Function fx(n As Integer) As Integer If n = 1 Then fx = 2 If n = 2 Then fx = 7 If n > 2 Then fx = fx(n - 2) + fx(n - 1) End Function 該程序運(yùn)行后,文本框 Text1 中顯示的內(nèi)容是( ) A. 38 B.40 C.68 D.70 6.有如下程序段: Dim a(1 To 8) As String, s As String s = "AbAdAbyAbbeAcreAbbetAcketAbdey" p = 0 For i = 1 To Len(s) ch = Mid(s, i, 1) If ch = "A" Then If p > 0 Then List1.AddItem a(p) p = p + 1 a(p) = ch Else a(p) = a(p) & ch End If Next i i = p Do While i > 1 For j = p To p - i + 2 Step -1 If a(j) < a(j - 1) Then t = a(j): a(j) = a(j - 1): a(j - 1) = t Next j i = i - 1 Loop List1.AddItem a(i) & a(p) 執(zhí)行程序后,輸出 a(i)和 a(p)的值分別為( ) A.“Ab”和“Acket” B.“Ad”和“Ab” C.“Aby”和“Ad” D.“Ab”和“Ad” 7. 小張制作了主題為“垃圾分類”的多媒體作品。他首先用 Photoshop 軟件制作一張背景圖片,然后用 Flash 軟件制作相關(guān)動(dòng)畫,請(qǐng)回答下列問題:第 7 題圖 a (1)如第 7 題 a 所示,下列操作不可行的是 ____ ▲ ______(多選,填字母:A.用“文字”工具里的字體大小命令調(diào)整“垃圾分類”圖層的文字大小/B.對(duì)“廚余垃圾”圖層重命名/ C.用“自由變換”操作改變“有害垃圾”圖層的圖像大小/D.為“可回收物”圖層添加圖層樣式 /E.選中“背景”圖層設(shè)置“鏡頭光暈”濾鏡)/F.直接調(diào)整“背景”圖層的不透明度(2 分)第 7 題圖 b (2)當(dāng)前狀態(tài)下,將幀頻改為 24fps,其它場(chǎng)景的播放速度__▲ _(選填字母:A.變快/B.變慢)。 (3)“熱氣球”圖層實(shí)現(xiàn)的是熱氣球圖像變成“垃圾分類”文字的動(dòng)畫效果,則該圖層上的動(dòng)畫屬于 _ ▲__。(選填,填字母,A.逐幀動(dòng)畫/B.形狀補(bǔ)間動(dòng)畫/C.動(dòng)畫補(bǔ)間動(dòng)畫)(1 分) (4)為使“按鈕”圖層的內(nèi)容從動(dòng)畫開始就出現(xiàn)在舞臺(tái)上,正確的操作是 ____▲ ______。(1 分) (5)測(cè)試場(chǎng)景時(shí),在當(dāng)前文件夾中會(huì)產(chǎn)生一個(gè) ____▲ ______的文件(填寫完整的文件名)。(1 分) 此時(shí)單擊“了解更多”按鈕跳轉(zhuǎn)至百度首頁“www.baidu.com”,則“了解更多”按鈕上的動(dòng)作腳本為 ____▲ ______。(1 分) (6)測(cè)試影片時(shí),彈出如第 14 題圖 c 所示的錯(cuò)誤提示窗口,由圖中信息可知,該動(dòng)作腳本設(shè)置在 __▲ __上(選填字母,A.按鈕 / B.關(guān)鍵幀)。(1 分) 第 7 題圖 c 8.加工廠有一批鋼管,現(xiàn)在需要把這些鋼管切割成一些長度相等的小段(并不是所有鋼管都一定要用完,可以有剩余),你的任務(wù)是計(jì)算能夠得到的小段鋼管的最大長度。鋼管長度的單位是 cm,假定原始鋼管長度都是正整數(shù),我們要求切割得到的小段鋼管的長度也是正整數(shù)。 例如原始有 3 段鋼管,長度分別為{ 232、125、580 } ,需要將這 3 段鋼管加工成長度相等的 8 段,得到的最大值為 116。程序運(yùn)行時(shí),在 List1 中顯示原始 k 段鋼管長度,在文本框 Text1 中輸入需要加工的總段數(shù) t,單擊按鈕 Command1,在標(biāo)簽 Label1 中輸出切割后得到的小段鋼管的最大長度。運(yùn)行結(jié)果如下圖所示,實(shí)現(xiàn)上述功能的 VB 代碼如下: 第 8 題圖 Const n = 1000 Dim a(1 To n) As Integer '存儲(chǔ)原始鋼管的長度 Dim k As Integer 'k 存儲(chǔ)待加工鋼管總數(shù) Private Sub Form_Load() '讀取待加工鋼管數(shù),存儲(chǔ)在變量 k 中 '讀取每段鋼管的長度,依次存儲(chǔ)在數(shù)組 a 中 '將待加工鋼管總數(shù)和每段鋼管原始長度顯示在列表框 List1 中 '代碼略 End Sub Function cut(x As Integer, t As Integer) As Boolean Dim i As Integer, num As Integer num = 0: cut = False For i = 1 To k num = ____▲ ______ '② If num >= t Then cut = True: Exit Function Next i End Function Private Sub Command1_Click() Dim t As Integer, i As Integer Dim left1 As Integer, right1 As Integer, m As Integer t = Val(Text1.Text) 't 存儲(chǔ)加工后的鋼管總段數(shù) For i = 1 To k If a(i) > right1 Then right1 = a(i) Next i right1 = right1 + 1 left1 = 0 Do While left1 + 1 < right1 m = (left1 + right1) \ 2 If Not cut(m, t) Then right1 = ____▲ ______ '① Else left1 = m End If Loop Label1.Caption = Str( m ) '改錯(cuò) End Sub (1)上述代碼中有____▲ ___個(gè)事件處理過程。(2)如果原始 3 段鋼管長度分別為{ 232、125、580 },輸入需要加工的總段數(shù) t 是 6,則加工后的鋼管最大平均長度是____▲ ___。(3)加框處語句有錯(cuò),請(qǐng)改正。(4)請(qǐng)將程序①②劃線處代碼補(bǔ)充完整。9. 某種字符加密方法描述如下:①將明文字符串 s 中的每個(gè)字母字符根據(jù)它所在的位置往后移動(dòng)相應(yīng)的位置,并轉(zhuǎn)化為對(duì)應(yīng)的小寫字母或大寫字母(例如:大寫字母 A 往后移動(dòng) 5 位變成 F,轉(zhuǎn)化成小寫字母得到 f;小寫字母y 往后移動(dòng) 8 位得到 g,轉(zhuǎn)化成大寫字母得到 G),非字母字符不處理,得到新串 ss。②將①得到的新串 ss 從中切割成兩部分,再將后面一段字母依次逐個(gè)插入到前一段字符后邊,組成一段密文。例如:“ Good.Luck !”生成密文過程如下:①明文字符串 s 移位和大小寫轉(zhuǎn)換過程:②將①得到的密文 ss 切割成兩部分:假定 n 為明文字符串的長度n 為偶數(shù):[1?n\2]、[n\2+1?n]n 為奇數(shù):[1?n\2、n\2+1]、[n\2+2?n]例如將上述(1)得到的字符串 6~10 位置的字符依次、逐個(gè)連接在 1~5 字符后面,生成密文如下:(1)已知采用上述加密方法得到的密文是“iTCDS!”,則明文為:____▲ ___。(2)根據(jù)上述加密算法,小張?jiān)O(shè)計(jì)了一個(gè)字符串加密程序,運(yùn)行界面如圖所示,請(qǐng)?jiān)趧澗€處填入合適的代碼。第 9 題圖 Private Sub Command1_Click() Dim s As String, ss As String, mw As String, c As String Dim n As Integer, i As Integer, j As Integer s = Text1.Text: n = Len(s) For i = 1 To n c = Mid(s, i, 1) If iszm(c) Then ss = ____▲ ______ '① Else ss = ss + c End If Next i i = 1: j = n \ 2 + 1 If n Mod 2 = 1 Then j = j + 1 Do While i <= n \ 2 mw = ____▲ ______ '② i = i + 1: j = j + 1 Loop If n Mod 2 = 1 Then mw = ____▲ ______ '③ Text2.Text = mw End Sub Function iszm(c As String) As Boolean iszm = False If c >= "a" And c <= "z" Or c >= "A" And c <= "Z" Then iszm = True End Function Function movec(x As String, w As Integer) As String If x >= "a" And c <= "z" Then movec = Chr((Asc(x) - 97 + w) Mod 26 + 65) Else movec = ____▲ ______ '④ End If End Function 參考答案 1、D 2、C 3、A 4、A 5、B 6、D 7. (1)(2分)CF (2)(1分)A (3)(1分)B (4)(1分)選中“按鈕”圖層的最后一幀將其移動(dòng)到第 1幀。 或者,選中“按鈕”圖層的第 1幀右鍵清除關(guān)鍵幀。 或其他等價(jià)答案。 (5)(1分)垃圾分類_main.swf (1 分)on(release){geturl(“http://www.baidu.com”);} 或 on(press){geturl(“http://www.baidu.com”);} (6)(1分)B 8. (1)(1分)2 (2)(1分)125 (3)(2分)left1 (4)①(1分)m②(2分)num + a(i) \ x9.(1)(1分)Happy!(2) ①(1分)ss + movec(c, i)②(1分)mw + Mid(ss, i, 1) + Mid(ss, j, 1)③(2分)mw + Mid(ss, i, 1)④(2分)Chr((Asc(x) - 65 + w) Mod 26 + 97)高三選考提升訓(xùn)練五 1.有如下 VB 程序段:str1 = Text1.Text : len1 = Len(str1)i = 0Do While i <= len1m = 0 : c = Mid(str1, i, 1) Do While c <> "," m = m * 10 + Val(c) i = i + 1 c = Mid(str1, i, 1) Loop i = i + 1 If m Mod 3 = 0 Then n = n + 1 Loop Label1.Caption = Str(n) 在文本框 Text1 中輸入“123,35,43,23,56,78,132,”,單擊命令按鈕 Command1 運(yùn)行程序,則在 Label1 中顯示的結(jié)果為( ) A.2 B.3 C.4 D.5 2.有如下 VB 程序段: n = 8 For i = 1 To n d(i) = Int(Rnd * 10) + 1 Next i For i = 2 To n k = 1 For j = 1 To n - i If d(j) * k > d(j + 2) * k Then temp = d(j): d(j) = d(j + 2): d(j + 2) = temp End If k = -k Next j Next i 執(zhí)行該程序段后,d 數(shù)組各元素可能是( ) A.1,3,4,5,6,6,7,8 B.6,4,5,6,5,7,1,10 C.2,11,3,8,5,6,8,5 D.3,9,3,5,4,4,10,1 3.某對(duì)分査找算法的 VB 程序段如下: Private Sub Command1_Click() Dim d(10) As Integer, i As Integer, j As Integer, m As Integer Dim Key As Integer, s As String Key = Int(Rnd * 100) s = "": i = 1: j = 10 Do While i < j m = (i + j) \ 2 If Key = d(m) Then Exit Do 'Exit Do 表示退出循環(huán) If Key < d(m) Then j = m: s = s + "L" Else i = m + 1: s = s + "R" End If Loop Label1.Caption = s End Sub 若數(shù)組元素 d(1)到 d(10)的值依次為“3,7,9,13,16,18,19,30,45,57”,執(zhí)行該程序段后,標(biāo)簽 Label1 上顯示的字符串 s 出現(xiàn)字母“L”和“R”個(gè)數(shù)相同的情況有( ) A.1 種 B.2 種 C.3 種 D.4 種 4.邏輯運(yùn)算符 And 在計(jì)算數(shù)值時(shí)是轉(zhuǎn)換為二進(jìn)制數(shù)后按位進(jìn)行與運(yùn)算,計(jì)算規(guī)則是:1 And1 = 1,1 And 0 = 0,0 And 1 = 0,0 And 0 = 0, 例如 7 轉(zhuǎn)換為二進(jìn)制數(shù) 00000111,12 轉(zhuǎn)換為二進(jìn)制為 00001100,因此 7 And 12 的結(jié)果為 4。有如下 VB 程序段: Private Sub Command1_Click() n = 0 For i = 1 To 31 k = i t = 0 Do While k > 0 k = k And (k - 1) t = t + 1 Loop If t = 3 Then n = n + 1 Next i Label1.Caption = Str(n) End Sub 單擊命令按鈕 Command1,標(biāo)簽 Label1 中顯示的結(jié)果為( ) A.6 B.8 C.10 D.12 5.小李制作了主題為“杭州亞運(yùn)會(huì)“的多媒體作品,首先用 Photoshop 軟件處理了圖片,然后使用 Flash 軟件制作動(dòng)畫。請(qǐng)回答下列問題: (1)如圖所示,下列說法正確的是______(多選,填字母:A.可以通過“填充”命令更改圖層” Hangzhou2022”的文字顏色/B.“背景”圖層一定沒有添加了“高斯模糊”的濾鏡效果/C.調(diào)整“場(chǎng)館”和“背景”的圖層順序,場(chǎng)館圖像將不可見/D.將該圖像文件保存為“a.jpg”,則” Asian Games”文字上的“外發(fā)光”效果不可見/E.無法直接刪除“場(chǎng)館”圖層)(注:全部選對(duì) 2 分,選對(duì)但不全 1 分,不選或有錯(cuò)選 0 分)(2).將動(dòng)畫 GIF 文件“閃爍.gif”導(dǎo)入庫中產(chǎn)生一個(gè)影片剪輯元件,則該元件中動(dòng)畫的動(dòng)畫類型是__ _(單選,填字母:A.逐幀動(dòng)畫/B.形狀補(bǔ)間動(dòng)畫/C.動(dòng)畫補(bǔ)間動(dòng)畫)(3).影片剪輯元件“禮花”的編輯界面如圖 b所示。若在不改變其他動(dòng)畫效果的情況下,希望禮花的動(dòng)畫速度提高一倍,下列操作可行的是_________(單選,填字母:A.將幀頻改成 6fps/B.刪除第 11-20 幀/C.將 20 幀移動(dòng)至第 10 幀,并刪除 11-20 幀)圖 b 圖 c (4).如圖 c 所示,按鈕一開始就出現(xiàn),若要使按鈕直到最后才出現(xiàn),則應(yīng)如何操作 __________________________________________________________________ (5).測(cè)試影片時(shí),動(dòng)畫播放到最后,停止。按鈕出現(xiàn),單擊按鈕,將停止聲音(聲音設(shè)置如圖 d 所示),并打開 http://www.hangzhou.net 網(wǎng)頁。那么按鈕上的動(dòng)作命令是 __________________________________ 圖 d 6.小明用 VB 編寫了統(tǒng)計(jì)短文(不超過 500 字)中英語單詞頻次的程序。在文本框 Text1 中輸入短文,單擊“單詞統(tǒng)計(jì)”按鈕 Count 后,在列表框 List1 中按字典升序輸出單詞 (不區(qū)分大小寫)和出現(xiàn)頻次,程序運(yùn)行結(jié)果如第 6 題圖所示。 第 6 題圖 請(qǐng)回答下列問題: (1)觀察程序代碼,該事件處理過程名為 。(2)實(shí)現(xiàn)上述功能的 VB 程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。Private Sub Count_Click()Dim word(1 To 500) As String, num(1 To 500) As Integer Dim s As String, c As String, tmp As String, t As Integer Dim i As Integer, j As Integer, k As Integer, low As Integer, high As Integer Dim m As Integer, n As Integer, b As Integer For i = 1 To 500 num(i) = 0 Next i s = Text1.Text : n = Len(s) i = 1 : b = 1 : m = 0 : j = 0 Do While i <= n c = Mid(s, i, 1) If c >= "A" And c <= "Z" Or c >= "a" And c <= "z" Then j = j + 1 Else If j > 0 Then tmp = ① low = 1 high = m Do While low <= high t = (low + high) \ 2 If tmp = word(t) Then Exit Do If tmp < word(t) Then high = t - 1 Else low = t + 1 Loop If ② Then For k = m To low Step -1 word(k + 1) = word(k) num(k + 1) = num(k) Next ③num(low) = 1 m = m + 1 Else num(t) = num(t) + 1 End If j = 0 End If b = i + 1 End If i = i + 1 Loop List1.Clear For i = 1 To m List1.AddItem word(i) + ":" + Str(num(i)) + "次" Next i End Sub Function Lowcase(t As String) As String Dim c As String, s As String, i As Integer s = "" For i = 1 To Len(t) c = Mid(t, i, 1) If c >= "A" And c <= "Z" Then s = s + Chr(Asc(c) + 32) Else s = s + c Next i ④End Function 7.循環(huán)排序。任意生成 10個(gè)[1, 100]之間的整數(shù),編程實(shí)現(xiàn)將這 10個(gè)數(shù)進(jìn)行循環(huán)降序排序,即首尾相連后是一個(gè)降序序列。要求最大值位置不變,然后依次進(jìn)行排列。程序運(yùn)行界面如圖所示:(1)要使程序啟動(dòng)后,窗體的標(biāo)題欄顯示“循環(huán)排序”文字,可在 Form_ Load 事件過程中添加語句_ ▲ (單選, 填字母)A. Form1=" 循環(huán)排序” B. Form1. Name="循環(huán)排序”C. Form1. Caption="循環(huán)排序” D. Form. Capt ion="循環(huán)排序”(2)實(shí)現(xiàn)上述功能的 VB程序如下,加框處的代碼有誤,請(qǐng)改正,并將劃線處的代碼補(bǔ)充完整。Const n= 10Dim a(1 To n) As Integer, b(1 To n) As BooleanPrivate Sub Form_ Load()隨機(jī)生成 n個(gè)[1,100]之間的整數(shù),存儲(chǔ)在數(shù)組 a中,并初始化數(shù)組 b為 False,'按順序輸出在列表框 List1 中,代碼略。End SubPrivate Sub Command1_ _Click()Dim max As Integer, pMax As Integer, temp As Integer Dim i As Integer, j As Integer, k As Integer max= a(1): pMax= 1 For i=2 To n If a(i) >= max Then max= a(i) ① End If Next i b(pMax) = True: pMax = pMax+ 1 If pMax> n Then pMax= 1 For i= 1 To n-2 k = pMax For j= 1 To n If a(j) < a(k) Then k=j "② Nextj If k <> pMax Then temp = a(k): a(k) = a(pMax): a(pMax) = temp End If b(pMax) = True pMax=_ ③ Next i Fori= 1 To n List2.AddItem Str(a(i)) Next i End Sub8.酒店房間管理問題:某酒店房間(房間數(shù)小于 1000) 編號(hào)按 1、2、....連續(xù)編號(hào),客房經(jīng)理對(duì)沒有入住的房間使用如 7下方法來登記管理。連續(xù)的空房間,登記第一個(gè)房間的編號(hào)和連續(xù)的空房間數(shù),比如空房間 1, 2, 6, 7, 8, 10,則登記 3 條記錄,分別為 1_2, 6_ 3,10_1。某旅客如果退房,需要把這個(gè)房間號(hào)也登記進(jìn)去,共有 4中情況需要處理: (1)上靠:若退的房間號(hào)為 3,則原來登記的記錄變?yōu)?1_3, 6_3,10_1;(2)下靠:若退的房間號(hào)為 5,則原來登記的記錄變?yōu)?1_2,5_4,10_1;(3)上下靠:若退的房間號(hào)為 9,則原來登記的記錄變?yōu)?1_2,6_5;(4)上下都不靠:若退的房間號(hào)為 4,則原來登記的記錄變?yōu)?1_2, 4_1, 6_3,10_1根據(jù)上述規(guī)則,小明編寫了相應(yīng)的 VB程序,程序啟動(dòng)時(shí)讀入空房間數(shù)據(jù),并在列表框 List1 中顯示,在文本框 Text1中輸入退房號(hào),單擊“退房”按鈕后更新列表框 List1 中的數(shù)據(jù)。 程序界面如下圖所示,請(qǐng)回答下列問題: (1)當(dāng)前登記的記錄有 3條,分別為 2_3,6_2,9_4。某旅客退掉 8號(hào)房間,則登記的記錄將變?yōu)開▲_。(2)實(shí)現(xiàn)上述功能的 VB程序如下,請(qǐng)將劃線處的代碼補(bǔ)充完整。Constn = 1000Dim a(0 To n) As Integer 'a(i)保存 第 i條記錄的開始房間號(hào)Dim b(0 To n) As Integer 'b(i)保存 第 i條記錄的房間數(shù)Dim c As Integer, k As Integer, sp As Integer 'k 為原始記錄數(shù)Private Sub Form_Load()'程序啟動(dòng)時(shí)從數(shù)據(jù)庫中讀取原始 k條記錄,依次存入 a(1),b(1),a(2),b(2),...a(k),b(k),代碼略'為了程序處理方便?虛設(shè)下面兩條記錄a(0) = 0: b(0) = 0: sp = k + 1: a(sp) = 0: b(sp) = 0End SubPrivate Sub Command1_Click()Dim i As Integer, j As Integer c = Val(Textl.Text) i = 1 Do While a(i) < c i = i + 1 Loop i = i - 1 '以下處理退房登記問題 If a(i) + b(i) = c Then If a(i + 1) = c + 1 Then '處理第 3種情況 _ ①For j = i + 1 To sp - 1 a(j) = a(j + 1): b(j) = b(j + 1) Next j sp = sp - 1 Else '處理第 1種情況 b(i) = b(i) + 1 End If Elself c+1=a(i+1)Then '處理 第 2種情況 a(i+1) = c: b(i+1) = b(i+1) + 1 Else '處理第 4種情況 For j = _ ②a(j) = a(j - l): b(j) = b(j - 1) Nextj a(i+ l)=c : b(i+ 1)=1 :_ ③ End If List1.Clear For i = 1 To s - 1 List1.AddItem "第" & Ctr(i) & "條記錄" & CStr(a(i)) & "" & CStr(b(i)) 'CStr函數(shù)的作用是將數(shù)字轉(zhuǎn)成字符申 Next i End Sub 參考答案 1、B 2、D 3、B 4、C 5.(1)ADE (2 分) (2)A (1 分)(3)C (1 分)(4)在“按鈕”圖層第 50 幀插入關(guān)鍵幀,并刪除第 1 幀上的按鈕對(duì)象 (2 分)(5)on(press){stopallsounds();geturl(“http://www.hangzhou.net”);}6. (1)Count_Click() (1 分)(2) ① Lowcase(Mid(s, b, j)) (2 分)② low > high (1 分)③ word(low) = tmp 或 word(k+1)=tmp (2 分)④ Lowcase = s (1 分)7.(1)C 1 分 (2)①pMax = i 2 分② a(j)>a(k) And b(j)=False 或其他等價(jià)答案 2 分③pMax Mod n +1 2 分8. (1)2_3,6_7 1 分(2)①b(i) = b(i) + 1 + b(i + 1) 2 分②sp + 1 To i + 1 Step -1 2 分③sp=sp+1高三選考提升訓(xùn)練六 1.有 VB程序段如下:Const n =6Max = 0For i = 1 To nd(i)= 1 For j = 1 To i - 1 If a(j)< a(i) And d(j)+ 1 > d(i) Then d(i)= d(i)+ 1 Next j If d(i)> Max Then Max = d(i) Next i 數(shù)組元素 a(1)到 a(6)的值依次為“2,40,15,1,25,37”,執(zhí)行該程序段,變量 max 的值為( ) A.2 B.3 C.4 D.5 2.有如下程序段,程序運(yùn)行結(jié)束后,S的值為( )Private Sub Command1_ Click() Dim s1 As String Dim s As Integer, t As Integer s1=" 8+9+11+12" For i = 1 To Len(s1) If Mid(s1,i,1) = "+”Then s=s+t Else t = Va1(Mid(s1,i, 1)) End If Next i labell. Caption = str(s) End Sub A.40 B. 28 C. 18 D. 203.已知一無序數(shù)組 a中的元素為”90,15,40,72,65,32,81,6”,通過引入數(shù)組 b 存儲(chǔ) a中元素按升序排序時(shí)的下標(biāo),b數(shù)組元素為”8,2,6,3,5,4,7,1”,使得 a(b(1))<=a(b(2))<=……<=a(b(n)),從而對(duì)數(shù)組 a中的元素進(jìn)行對(duì)分查找。部分代碼如下: i = 1: j = 8: c = 0 key = 32 Do While i <= j m = (i + j) \ 2 t = b(m) c = c + 1 If a(t) = key Then p = t: Exit Do If a(t) < key Then i = m + 1 Else j = m - 1 Loop 程序運(yùn)行結(jié)束后變量 c的值為( ) A. 2 B. 3 C. 4 D. 54.有如下 VB程序段:Dim a(0 To 10) As Integer n= 10 For i = 1 To n\ 3 a(i)=3*i+1 Next i For i= n To 5 Step-1 a(i)=a(n-i) Next i text1. Text = Str(a(n - 2)) 執(zhí)行該程序段后,在文本框 text1中顯示的值為( ) A. 7 B. 8 C. 6 D. 55.下列 VB程序段的功能為:生成 n個(gè)不重復(fù)的隨機(jī)整數(shù),保存在數(shù)組 a中,并升序排列。Const n = 6 Dim a(1 To n) As Integer, f(1 To 10) As Boolean Dim tmp As Integer, i As Integer, j As Integer, t As Integer ′f數(shù)組各元素的初值置為 False,代碼略 For i = 1 To (1) t = Int(1 + Rnd * 10) If Not f(t) Then a(i) = t : f(t) = True For j = (2) If a(j) < a(j - 1) Then tmp = a(j): a(j) = a(j - 1): a(j - 1) = tmp End If Next j Else (3) End If Next i 上述程序段 3個(gè)方框處的表達(dá)式分別為( ) A.(1)n - 1 (2)2 to i (3) i = i - 1B.(1) n (2)i to 2 Step -1 (3) i = i - 1C.(1)n - 1 (2)2 to i (3) t = Int(1 + Rnd * 10)D.(1)n (2)i to 2 Step -1 (3) t = Int(1 + Rnd * 10)6.某對(duì)分查找的 VB程序段如下:Dim a(0 To 5) As Integer i = 0:j=5:n=0 Key = Val (Text1. Text) Do While i <= j and Not flag n=n+1 m=(i+j)\2 If Key = a(m) Then flag = true If Key < a(m) Then j=m-1 Else i=m+1 Loop 數(shù)組元素 a(0)到 a(5)的值依次為“21,27,49, 63,88,90”。 下列說法不正確的是( ) A.在文本框 Text1中輸入“26”后運(yùn)行該程序,變量 n的值為 3B.在文本框 Text1中輸入“63”后運(yùn)行該程序,變量 i的值為 4C.在文本框 Text1中輸入“26”后運(yùn)行該程序,變量 i的值為 2D.在文本框 Text1中輸入“63”后運(yùn)行該程序,變量 n的值為 37.小明編寫了一個(gè)字符串加密程序,功能如下:在文本框 Text1 中輸入明文,單擊“加密”按鈕Command1后,在文本框 Text2中顯示加密后的密文,運(yùn)行界面如圖所示。加密算法如下:1)將明文中每個(gè)字符用 8位二進(jìn)制 ASCII碼(不足八位的左端補(bǔ) 0,湊足八位)表示;如“A”的二進(jìn)制 ASCII碼值為 01000001;2)對(duì) 8位二進(jìn)制編碼進(jìn)行取反碼(0變 1,1變 0)操作,如 01000001的反碼是 10111110;3)將 8位二進(jìn)制反碼用 2位十六進(jìn)制表示,得到該字符的密文;4)將每個(gè)字符的密文按照明文的倒序連接。實(shí)現(xiàn)上述功能的 VB程序如下:Private Sub Command1_Click()Dim i As Integer, j As Integer, m As Integer, k As IntegerDim c As String, x As Integer, y As IntegerDim d(1 To 8) As Integer '數(shù)組 d存儲(chǔ)字符 ASCII 碼二進(jìn)制從左到右的各位數(shù)碼Dim mw As String 'mw存儲(chǔ)密文mw = ""For i = 1 To Len(Text1.Text) c = Mid(Text1.Text, i, 1) For j = 1 To 8 d(j)=1 ‘I處 Next j m = Asc(c) k = 8 Do While m > 0 ‘II處 d(k)= ① m = m \ 2 k = k - 1 Loop mw = btoh(d) + mw Next i Text2.Text = mw End Sub Function btoh(m() As Integer) As String ′自定義函數(shù)是將 m數(shù)組中的二進(jìn)制數(shù)轉(zhuǎn)換成對(duì)應(yīng)的十六進(jìn)制數(shù) Dim s As Integer, i As Integer Dim str As String, ch As String str = "0123456789ABCDEF" s = 0: ch = "" For i = 1 To 8 s = s * 2 + m(i) If ② Then btoh =btoh+ Mid(str, s + 1, 1) s = 0 End If Next i End Function 閱讀分析程序代碼,請(qǐng)回答下列問題: (1).按照加密算法,字符“Z”的密文是_________; (2).請(qǐng)?jiān)趧澗€處填入合適代碼。①_________;②_________; (3).若 I處方框內(nèi)代碼改成 d(j)=0,則 II處的方框內(nèi)代碼應(yīng)改為:_________。 8.小紅打算用 VB程序來查找數(shù)組 a中下降數(shù)列的方法,其算法思想描述如下: 1)用數(shù)組 b存儲(chǔ)最小下降數(shù)列中最小的元素(查找過程中的最小值)b(1)開始為數(shù)組 a第 1個(gè)元素; 2)加入方法:將 a(i)與數(shù)組 b中的每個(gè)元素依次逐個(gè)比較:若 a(i)比 b(j)小就用 a(i)替換 b(j)中的值;將 a(i)添加到第 j個(gè)下降數(shù)列中,并存儲(chǔ)在 c數(shù)組的 c(j)中;3)若數(shù)組 a 各元素的值為:34,54,3,76,2,3 時(shí),則 3 個(gè)下降數(shù)列分別為:“34,3,2”,“54,3”,“76”。依據(jù)上述描述設(shè)計(jì)了如下 VB程序。請(qǐng)回答下列問題:(1).若數(shù)組 a的值是:“145,34,2,134,12”,數(shù)組 b(1)的值是_______。(2).請(qǐng)?jiān)趧澗€處填入合適的代碼。Const n = 20Dim a(1 To n) As IntegerPrivate Sub Form_Load() '讀取 n個(gè)數(shù)據(jù),依次存儲(chǔ)到 a(1)、a(2)、……a(n)中,代碼略 End Sub Private Sub Command1_Click() Dim b(1 To n) As Integer '存儲(chǔ)數(shù)列最小的值 Dim c(1 To n) As String '存儲(chǔ)下降數(shù)列 Dim i As Integer Dim j As Integer Dim bn As Integer '存儲(chǔ)下降數(shù)列個(gè)數(shù) b(1) = a(1) bn = 1 c(1) = Str(a(1)) For i = ① For j = 1 To bn If a(i) < b(j) Then b(j) = a(i) ② Exit For End If Next j If j > bn Then bn = bn + 1 ③ c(bn) = Str(a(i)) End If Next i For i = 1 To bn List1.AddItem c(i) Next i Text2.Text = "數(shù)列中共有" + Str(bn) + "個(gè)下降序列" End Sub 9.已知數(shù)組 a有 n*n 個(gè)元素,將自然數(shù) 1~n*n (n<10)依次存儲(chǔ)到數(shù)組 a中。其存儲(chǔ)的算法如下:1.存儲(chǔ)方式從左下向右,上,平行于矩陣的對(duì)角線依次進(jìn)行存儲(chǔ),以 6*6 為例,數(shù)組 a 元素對(duì)應(yīng)的賦值情況如第 9題圖 a所示。2.輸出數(shù)組 a,按 1~n*n 依次在列表框中按數(shù)字矩陣輸出,以 6*6 為例,其輸出結(jié)果如第 9 題圖 b所示。第 9 題圖 a 第 9 題圖 b 小明依據(jù)上述描述設(shè)計(jì)了如下 VB 程序,單擊"存儲(chǔ)顯示"按鈕 Command1, 在 List1 中顯示 n*n的矩陣。請(qǐng)回答下列問題: (1)若 n=4,則數(shù)組元素 a (8)的值是_ 。(填數(shù)字) (2)請(qǐng)?jiān)趧澗€處填入合適的代碼。Const n = 6 Dim a(1 To n * n) As Integer Private Sub Command1_Click() Data = 1 i = 1 j = 1 Do While Data <= n * n a( ① ) = Data Data = Data + 1 i = i - 1 j = j + 1 If j = n + 1 Then ② i = 6 ElseIf i = 0 Then i = j j = 1 End If Loop For i = 1 To n * n s = ③ If i Mod n = 0 Then Listl.AddItem s s = "" End If Next i End Sub Function dy(x As Integer) As String '函數(shù) dy 將變量 x 轉(zhuǎn)換為字符串 If x < 10 Then dy = "" + Str(x) Else dy = Str(x) End If End Function 10.區(qū)間覆蓋問題。數(shù)軸上有 n 個(gè)閉區(qū)間[ai, bi] (閉區(qū)間含端點(diǎn)),其中 ai, bi 都是正整數(shù),選擇盡量少的區(qū)間,使其覆蓋一條指定的線段[s, t] (閉區(qū)間)。基本算法思想:先排序,然后貪心選擇。選擇區(qū)間的算法設(shè)計(jì)如下:例如有閉區(qū)間: [6, 13]、[8,17]、 [6,9]、 [12, 15]。(1)排序。把各區(qū)間按照 ai 從小到大排序,當(dāng) ai 相同時(shí),按照 bi 從大到小排序。排序結(jié)果: [6,13]、[6,9]、 [8, 17]、[12, 15](2)選擇。如果任意區(qū)間的起點(diǎn)不是 s,無解,否則選擇起點(diǎn)在 s 的最長區(qū)間。選擇[ai, bi]后,新的起點(diǎn)設(shè)置成 bi.反復(fù)操作,直至覆蓋整個(gè)線段。.挑選結(jié)果: [6, 13]、[8, 17]設(shè)計(jì)程序界面如下圖所示,在文本框 Text1 中按格式輸入原始區(qū)間,在文本框 text2 中按格式輸入要覆蓋的區(qū)間,點(diǎn)擊“計(jì)算”按鈕后,在文本框 Text3 中按順序輸出能覆蓋整個(gè)線段的區(qū)間。依據(jù)上述描述設(shè)計(jì)如下 VB 程序: Const m=10 ' 程序最多處理 10 個(gè)區(qū)間 Dim a(1 To 2 * m) As Integer ' a(1)、 a(2)存放第 1 區(qū)間的下限和上限,a(3)、 a(4)存放第 2 區(qū)間的下限和上限 Private Sub Commandl_ Click () Dim res As String, n As Integer, flag As Boolean Dim maxlen as integer ' 從文本框 text1 中獲取區(qū)間的數(shù)據(jù)分別存儲(chǔ)在 a 數(shù)組中,代碼略 n 表示輸入的區(qū)間個(gè)數(shù) For i = 1 To n-1 For j = n To i+1 Step-1 If a(2*j-1) < a(2*j-3) Then t=a(2*j-1) : a(2*j-1)=a(2*j-3) :a(2*j-3)=t t=a(2*j) : a(2*j)=a(2*j-2) : a(2*j-2)=t ElseIf ① t=a(2*j):a(2*j)=a(2*j-2):a(2*j-2)=t End If Next j Next i '從文本框 text2 中分別獲取 s、e 的值,代碼略。s 表示區(qū)間的起點(diǎn),e 表示區(qū)間的重點(diǎn) length = 0: news = s flag = True Do While length < e - s And flag maxlen = 0 For i= 1 To n '尋找當(dāng)前最適合的區(qū)間 If ② Then tmp=a(2*i)-news If tmp > maxlen Then maxlen = tmp j =i End If Else . Exit For End If Next i If maxlen = 0 Then flag = False Else res = res+" ["+ CStr(a(2 * j- 1)) +","+ CStr(a(2*j))+ "]" ③ news=a(2* j) End If Loop If flag Then Text3.Text = res Else Text3. Text = "無法覆蓋該區(qū)間! " End Sub (1)對(duì)于給定區(qū)間[3,9]、[6,13]、[2,8],需要覆蓋的區(qū)間[3,10]則輸出(2)請(qǐng)?jiān)趧澗€處填入合適的代碼。參考答案 1、C 2、C 3、B 4、A 5、B 6、C 7.共 7 分(1) A5 1 分 (2)①(m+1) mod 2 或 1-m mod 2 2 分 ②i mod 4=0 或 i=4 Or i=8 2 分(3) k>0 或 k>=1 2 分 8. 共 7 分(1)2 1 分 (2) ① 2 To n 2 分 ② c(j) = c(j) + Str(a(i)) 2 分 ③ b(bn) = a(i) 2 分 9.(1)13 (1 分)(2)(i-1)* n + j (2 分)(3)j=j+2 (2 分)(4)s+dy(i) (2 分)10.(1)[3,9] [6,13](1 分)(2)① a(2 * j - 1) = a(2 * j - 3) And a(2 * j) > a(2 * j - 2) Then(2 分)② a(2 * i - 1) <= news(2 分)③ length = length + maxlen(2 分)高三選考提升訓(xùn)練二 1. 下列 VB表達(dá)式的值等于 35的是( ) A. Abs(Int(-34.3)) B. Val(Str(30)+"5")C. Len("xue")+5 D. Int(sqr(50))*11\22. 有如下 VB程序段:Private Sub Commandl_Click()Dim d(1 To 8) As Integer Dim i As Integer, s As Integer d(1)= 1 For i=2 To 10 d(i)=d(i-1)*i Next i For i = 1 To 5 s= s + d(i) Next i Textl.Text = Str(s) End Sub 程序運(yùn)行時(shí),單擊命令按鈕 Commandl后,將會(huì)出現(xiàn)的提示信息是 A. 溢出 B.下標(biāo)越界 C. 要求對(duì)象 D. 無效的過程調(diào)用或參數(shù)3. 有如下 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)*t c=c + a(i) If c > 0 Then x = x + 1 t=-t Next i Textl.Text = Str(x) 則程序運(yùn)行后 Textl 中顯示 A. 1 B. 3 C.5 D.14. 有如下 VB程序段:For i= 1 To 8d(i)= Int(Rnd* 10) Next i For i= 2 To 8 If i Mod 2 = 0 And d(i) > d(i-1) Then d(i)=d(i- 1)+ 1 ElseIf i Mod 2 = 1 Then If d(i) > d(i- 2) Then t= d(i): d(i)= d(i-2):d(i-2)=t End If End If Next i 執(zhí)行該程序段后,d(1)~d(8)各元素值依次可能的是 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 25. 以下 VB程序段用以實(shí)現(xiàn) 10個(gè)數(shù)組元素升序排序。Dim a(1 To 10) As IntegerDim flag As BooleanDim i As Integer, j As Integer, tmp As Integer隨機(jī)生成 10個(gè)不重復(fù)的數(shù)據(jù)存入數(shù)組 a中,代碼略For i= 2 To 10tmp = a(i) j=i flag = False Do While ① And Not flaga(j)=a(j-1) j=j-l ② Loop a(j)= tmp Next i 要實(shí)現(xiàn)上述功能,方框①②中的語句分別是 A. ①tmp < a(j- 1) ②If j= 1 Then flag= TrueB. ①tmp > a(j- 1) ②If j= 1 Then flag= TrueC. ①tmp < a(j ) ②If j= 0 Then flag = TrueD. ①tmp > a(j) ②If j= 0 Then flag = True6.小段使用 Flash 軟件創(chuàng)作主題為"旋轉(zhuǎn)的風(fēng)車"的多媒體作品,部分界面如圖 a 所示。 請(qǐng)回答下列問題: (1)編寫腳本是設(shè)計(jì)多媒體作品的重頭戲,腳本編寫的一般步驟有:①編寫腳本大綱②媒體元素分解③編寫文字腳本④編寫制作腳本,則正確的腳本編寫順序 為____ (單選,填字母:A. ①②④③/ B. ②①③④/ C. ①④③②/ D. ①③④②)(2)圖中“文字”圖層第 1 幀到第 36 幀實(shí)現(xiàn)了文字“放飛夢(mèng)想”漸變?yōu)椤俺阶晕摇?br/>的動(dòng)畫,則第 36幀中的“超越自我”為 (填文字:形狀 / 實(shí)例)。(3)如圖所示,在不影響其他動(dòng)畫效果的前提下,為使“音樂”圖層中的聲音從本場(chǎng)景第 1幀開始播放,正確的操作是 。(4) 圖中“風(fēng)車”圖層應(yīng)用了影片剪輯元件“風(fēng)車”,修改“風(fēng)車”元件的幀頻為 6fps,則當(dāng)前場(chǎng)景的播放速度 (填文字:變快 / 變慢 / 不變)(5)“播放“按鈕的編輯界面如圖 b 所示,該按鈕 (填文字:能 / 不能)正常響應(yīng)鼠標(biāo)事件。(6)測(cè)試影片時(shí),單擊“播放”按鈕,停止所有聲音的播放,并使影片跳轉(zhuǎn)到“scene2” 場(chǎng)景的第 1幀并繼續(xù)播放,則“播放”按鈕的動(dòng)作腳本為 。 7. 數(shù)組元素 a(1)~a(100)用以存儲(chǔ)某班級(jí) 50 位學(xué)生的信息技術(shù)和通用技術(shù)成績,奇數(shù)位置存儲(chǔ)信息技術(shù)成績,偶數(shù)位置存儲(chǔ)對(duì)應(yīng)學(xué)生的通用技術(shù)成績。該數(shù)組已經(jīng)按照兩科總成績升序排序。依據(jù)對(duì)分查找思想,設(shè)計(jì)一個(gè)在數(shù)組 a 中查找總成績?yōu)?key 的程序,統(tǒng)計(jì)輸出兩科總成績大于等于 key的人數(shù)。部分運(yùn)行界面如圖所示:實(shí)現(xiàn)該功能的 VB程序如下: Private Sub Commandl_ClickO Dim a(1 To 100) As Integer Dim sum As Integer Const t = 50 '將 50個(gè)學(xué)生的信息技術(shù)和通用技術(shù)成績依次存儲(chǔ)在數(shù)組 a(1)~a(100),代碼略 Key = Val(Text2.Text) i= 1 j= 100 m=(i+j)\2 Do While ① And m > 1If m Mod 2= 1 Then m= m- 1 sum = a(m)+ a(m- 1) If ② Then j= m-2 Else i=m-2 End If m=(i+j)\2 Loop Label2.Caption="大于等于" & Key &"分的人數(shù)為:" +Str (t-j \ 2) End Sub (1) 代碼“Private Sub Commandl_Click0”中的 Commandl_Click是 (單選, 填字母:A.對(duì)象名/B.屬性名/C.事件名/D.事件處理過程名)。(2) 請(qǐng)?jiān)冖佗趧澗€處填入合適代碼。(3) 加框處代碼有錯(cuò),請(qǐng)改正。8. 二叉樹是每個(gè)結(jié)點(diǎn)最多有兩個(gè)子樹的樹結(jié)構(gòu),如值為 9的結(jié)點(diǎn)有兩個(gè)子樹 6和 8,值為 6的結(jié)點(diǎn)有兩個(gè)子樹 5和 3。若設(shè)二叉樹的深度為 h,則除第 h層外,其它各層(1~h-1)的結(jié)點(diǎn)數(shù)都達(dá)到最大個(gè)數(shù),第 h層所有的結(jié)點(diǎn)都連續(xù)集中在最左邊,這就是完全二叉樹。現(xiàn)要構(gòu)造大根堆,堆是一棵順序存儲(chǔ)的完全二叉樹,大根堆又是一種特殊的堆,它的特征是每個(gè)雙親結(jié)點(diǎn)的值都不小于其孩子結(jié)點(diǎn)的值。如下圖所示,值為 9 的結(jié)點(diǎn)是 6 和 8的雙親結(jié)點(diǎn),而 6和 8分別是 9的左孩子和右孩子;同理,6是 5和 3的雙親結(jié)點(diǎn),而 5和 3分別是 6的左孩子和右孩...... 假如我們用數(shù)組表示上述大根堆: 現(xiàn)有一算法把一個(gè)無序數(shù)組改造成大根堆。例如:我們?cè)谏蠄D的大根堆中再增加一個(gè)值為 8的新元素,如下圖所示。 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 題圖數(shù)組存儲(chǔ)為: 具體操作方法如下: 第 1步:因?yàn)?a(10)大于它的雙親結(jié)點(diǎn) a(5),故需交換 a(10)和 a(5)的值; 數(shù)組存儲(chǔ)為: 第 2步:因?yàn)?a(5)大于它的雙親結(jié)點(diǎn) a(2),故需交換 a(5)和 a(2)的值; 數(shù)組存儲(chǔ)為: 第 3步:因?yàn)?a(2)不大于它的雙親結(jié)點(diǎn) a(1),故無需做交換操作。此時(shí)新元素已經(jīng)放到了正確的位置,新的大根堆構(gòu)造完成,上移行動(dòng)結(jié)束。 (1) 若在第 8題圖中增加值為 4的新元素,則元素 4將被存儲(chǔ)在數(shù)組元素 中。 (2) 小段為此編制一 VB 程序:在文本框 Textl 中輸入結(jié)點(diǎn)個(gè)數(shù) n,單擊命令按鈕Commandl, 隨機(jī)產(chǎn)生 n個(gè)[1,99]的整數(shù)作為結(jié)點(diǎn)值,并由此構(gòu)造大根堆,結(jié)果顯示在列表框 Listl 中,程序運(yùn)行界面如圖所示。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(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10) 6 8 5 8 4 7 2 1 3 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 實(shí)現(xiàn)上述功能的程序代碼如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。 Dim a(1 To 100) As Integer '該函數(shù)功能為實(shí)現(xiàn)數(shù)據(jù)的對(duì)齊輸出 Function pout(x As Integer, y As Integer) As String 代碼略 End Function Private Sub Commandl_ClickO Dim tmp As Integer, Dim m As Integer Dim n As Integer, Dim s As String n= Val(Textl.Text) For i= 1 To n a(i) = Int(Rnd() *99)+ 1 Next i For i = 2 To n p=i f=p \ 2 Do While ①tmp= a(p): a(p) = a(f): a(f) = tmp p = f f = p \ 2 If f = 0 Then Exit Do Loop Next i m = 0 k = n Do While k >= 1 m = m+ 1 ②Loop k=l For i =0 To m- 1 s = " " For j= 1 To ③If k > n Then Exit For s=s+ pout(a(k), (2^(m-1)-2^i)/2^i) k=k+1 Next j List1.AddItem s Next i End Sub 參考答案 1 2 3 4 5 6 7 8 展開更多...... 收起↑ 資源列表 高三選考信息技術(shù)提升訓(xùn)練1.pdf 高三選考信息技術(shù)提升訓(xùn)練2.pdf 高三選考信息技術(shù)提升訓(xùn)練3.pdf 高三選考信息技術(shù)提升訓(xùn)練4.pdf 高三選考信息技術(shù)提升訓(xùn)練5.pdf 高三選考信息技術(shù)提升訓(xùn)練6.pdf 縮略圖、資源來源于二一教育資源庫