资源简介 高三选考提升训练一 1. 下列表达式成立的是( ) 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 的内容为“Hard work, good luck!”,执行程序后,变量 max 的值为 A. 3 B. 4 C. 5 D. 6 3. 小王要从表示年月日时分秒的字符串,如"2018-6-1 11:44:27"、"2018-8-30 07:54:54"、 "2018-11-25 17:21:34"等中提取表示小时的数据(如 11、07、17),因数据量很大,他计划 通过编程来快速提取,以下是他调试的代码: 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)) 上述程序中划线处可选语句为:①Mid(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 该程序运行后,数组元素 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 执行程序,语句 c=c+1 执行的次数是( ) A. 1 B. 2 C. 3 D. 4 6. 小朱制作主题为“flash 之逐帧动画”的多媒体作品,首先使用 Photoshop 软件处理图片,然后用 Flash 软件制作动画。请回答下列问题: 第 6 题图 a (1)如第 6 题图 a 所示,若要保存为不包含文字内容、背景透明的格式文件,以下操作中合理的是__________。(多选,填字母:A.将“背景”图层的不透明度设置为 0% B.删除“找寻”图层 C.设置“背景”图层为隐藏 D.“存储为”JPEG 格式文件 E.“存储为”PNG 格式文件) 第 6 题图 b (2)如第 6 题图 b 所示,“文本说明”图层第 12 帧至第 21 帧实现了顺时针旋转 2 次的动画效果,该图层的补间类型是__________。 (3)测试影片时,发现“文本说明”图层在补间动画结束后就消失了,如果要使该文本说明文字一直呈现至该场景播放结束,应进行的操作是:__________。 (4)测试影片时,单击“片头”场景中的“记录人生”按钮,影片跳转至“记录人生”场景的第 1 帧并播放,同时停止播放所有声音,则该按钮上应添加的动作脚本是:__________。 7. 在某次婚庆活动中有一个“掷骰子赢奖品”游戏,规则如下:每桌都有一位宾客可获得一次掷骰子的机会,每颗骰子最小一点,最大六点,共六颗,以六颗骰子的总点数作为评比依据,点数超过 20 且排在前六的宾客最终可获得相应的奖品。小俞据此编写了 VB 模拟程序。点击“生成随机数”按钮 Command1,即模拟进行 9 次掷骰子动作,将相应的序号和点数显示在列表框 List1 中,点击“限定条件降序排序”按钮 Command2,按限定之条件进行降序排序,并将排序后的数据显示在列表框 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 "序号 点数" 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 "序号 点数" 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)如果想实现清空列表框 List1 的全部内容,可实现上述效果的语句是________(单选,填字母:A. List1.Text=”” B. List1.Caption=”” C. List1.Clear) (2)程序代码中,加框处有错,请改正。 (3)程序代码中,将划横线处语句补充完整。 (4)程序代码中,若删除标有“##”的两行语句,能否实现与如图那样的排序效果:__________ (单选,填字母:A. 能 B. 不能) 参考答案 1-5 CADBD 6. (1)B C E (2 分) (2)动画补间 (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 分) 高三选考提升训练三 1. 生成 6.0 到 12.0 之间随机实数并保留一位小数,如果用随机函数 Rnd 产生这个数, 下列能够符合要求的是( )A. (Rnd*61+60)/10 B. Int(Rnd*61)/10+6 C. Int(Rnd*60+60)/10 D. Int(Rnd(60))/10+62. 某算法流程图如图所示。执行这部分流程后,输出值为( ) 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 后点击按钮 Command1,文本框 Text1 中显示的内容是( )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 已知数组 a 中的所有元素初值为 0,运行上述程序段后,变量 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 数组元素 a(1)到 a(6)的值分别为“23,6,37,45,11,52”,程序运行后,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. 某对分查找改进算法 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 非零数组元素 a(1)到 a(8)的值依次是“-8,-5,-3,-2,1,4,7,9”,则以上程序段 执行后,在 Label1 中显示的内容是( ) A. -8 B. -2 C. 1 D. 97. 小明使用 Flash 软件创作了一个关于“江雪”的多媒体作品,请回答下列问题:(1)小明进行了下列工作,其中属于“脚本编写”的是 (多选,填字母:A. 把多媒体作品取名为“江雪” /B. 列出作品需要的图片、声音 等素材清单 /C. 计划将作品通过微博推广 /D. 用文字详细描述作品的展示过程/E. 要求使用 Flash 软件进行制作) (注:全部选对得 2 分,选对但不全的得 1 分,不选或者有错选的得 0 分) (2) 测试影片时,鸟扇动着翅膀从舞台左侧往右侧飞行,飞至舞台外消失,由此可知鸟是用元件库中的 (单选,填字母:A.按钮元件/B.影片剪辑元件/C.位图图片)产生的实例。 (3) 在“背景”图层第 1 帧添加动作脚本“stop();”,同时“music”图层中音频的 同步方式如下图所示,请问测试影片刚开始能否听见声音? (选填:能/不能) (4) 测试影片时,以下操作不会改变原动画效果的有 (多选,填字母) A.对“背景”图层第 1 帧复制粘贴至第 25帧 B.对鸟图层的第 60 帧执行插入帧操作C.删除“music”图层的最后 5 帧 D.对“按钮”图层第 60 帧执行清除帧操作(5)单击“退出”按钮,实现关闭并退出动画,该按钮添加的动作脚本是 。8.冬天到了,室外运动显然已经不适合,因此效实中学准备要举办室内的乒乓球赛啦。现在有 2k 个同学参加,每天安排若干场比赛,且每位同学每天仅参加一场比赛,试给出一种赛程安排表,使得 2k-1天内任意两个同学都至少比赛过一场。 按照比赛要求,可以设置赛程表为 n行 n-1 列的二维表,其中第 i 行第 j 列的元素表示和第 i个选手在第 j天进行比赛的同学编号。若 k=1,则赛程表如下:若 k=2,则赛程表如下: 观察两个表不难发现: ①二个表的左上角和右下角与第一个表相同;②第二个表的左下角和右上角相同,恰好是第一个表各元素值加 2。 因此可以通过第一个表来构造第二个表。同理可得,当 n=2k 个同学的比赛日程表,可以通过 n=2k-1 个同学的比赛日程表构造得到。实现上述功能的 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 '改错 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 请回答下列问题: (1)该按钮事件的标准名为 。 (2)加框处代码有误,请改正。 (3)补充①、②处代码实现上述功能。 9.效实中学的同学静校时间经常要被叫去过关,今天又有 n 个同学要去过关啦~但这些同学很不幸,他们必须先过 A 老师的关,再过 B 老师的关,才能完成过关任务。 现在知道每个人过 A、B 关的时间,比如第 i个人,过关的时间分别为 A ,B 。求一个过关顺序使得过关时间总用时最短,就是让 A、B老师的总空闲时间最短。 很明显第一个同学在 A 老师处过关时,B 老师必须等待,最后一个同学在 B 老师处过关时,A老师也在等待。因此将在 A处过关最短的放在最前面,将在 B处过关最短的放在最后面 假设 M 是 A ,B 中较小的那一个,例如 N = 3 时,过关时间如下图: 若 M = A ,则将他排在从头开始过关者后面; 若 M = B ,则将他排在从尾开始过关者前面; 则最优的过关顺序为(同学 2,同学 3,同学 1),计算最短时间 = 3 + 19 + 22 +10 = 54, 计算时请注意,在过程中若 A 老师的过关时长较长,会增加 B老师的过关时长,最后还需要加上 B老师过关的最后一个同学的过关时长。 实现上述功能的 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 排序后 '输入略,将同学在 A 老师处的过关时间存在 a 数组 , 在 B 老师处的时间存在 b 数组 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 请回答下列问题: (1)若在 A 老师处过关的 5 个同学的时间分别是:3 5 8 7 10,在 B 老师处过关的是 6 2 1 4 9,那么,最终过关的总时间是 ? (2)补充①、②、③处代码实现上述功能。 参考答案 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高三选考提升训练四 1. 使用 Flash软件制作多媒体作品,测试影片时,动画播放到“上学去”场景第 45帧时自动停止,点击“按钮”图层第 45帧的按钮后,影片继续播放,部分界面如图所示:下列说法不正确的是 A.“按钮”图层第 1帧执行“清除关键帧”命令,按钮将从第 1帧开始显示 B.选中“太阳”图层第 20帧到 30帧, 执行“删除帧”命令后,太阳图层依然有两段动画C.将“背景”图层的第 12帧拖动到第 6帧,“背景”图层中的内容约 1秒后在当前场景中消失D.“音乐”图层第 45帧设置的帧动作是“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 执行该程序段,在文本框 Text1 中分别输入“1”、“2”、“3”、“4”,text1中的结果 A.输入“1”时最大 B.输入“2”时最大 C.输入“3”时最大 D.输入“4”时最大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 执行程序后, a 数组各元素可能是 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) 已知数组元素 a(1)至 a(10)的值依次为 20,19,17,16,14,11,8,5,2,0 若执行该程序后,文本框 Text1中显示的内容不可能是 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 该程序运行后,文本框 Text1 中显示的内容是( ) 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) 执行程序后,输出 a(i)和 a(p)的值分别为( ) A.“Ab”和“Acket” B.“Ad”和“Ab” C.“Aby”和“Ad” D.“Ab”和“Ad” 7. 小张制作了主题为“垃圾分类”的多媒体作品。他首先用 Photoshop 软件制作一张背景图片,然后用 Flash 软件制作相关动画,请回答下列问题:第 7 题图 a (1)如第 7 题 a 所示,下列操作不可行的是 ____ ▲ ______(多选,填字母:A.用“文字”工具里的字体大小命令调整“垃圾分类”图层的文字大小/B.对“厨余垃圾”图层重命名/ C.用“自由变换”操作改变“有害垃圾”图层的图像大小/D.为“可回收物”图层添加图层样式 /E.选中“背景”图层设置“镜头光晕”滤镜)/F.直接调整“背景”图层的不透明度(2 分)第 7 题图 b (2)当前状态下,将帧频改为 24fps,其它场景的播放速度__▲ _(选填字母:A.变快/B.变慢)。 (3)“热气球”图层实现的是热气球图像变成“垃圾分类”文字的动画效果,则该图层上的动画属于 _ ▲__。(选填,填字母,A.逐帧动画/B.形状补间动画/C.动画补间动画)(1 分) (4)为使“按钮”图层的内容从动画开始就出现在舞台上,正确的操作是 ____▲ ______。(1 分) (5)测试场景时,在当前文件夹中会产生一个 ____▲ ______的文件(填写完整的文件名)。(1 分) 此时单击“了解更多”按钮跳转至百度首页“www.baidu.com”,则“了解更多”按钮上的动作脚本为 ____▲ ______。(1 分) (6)测试影片时,弹出如第 14 题图 c 所示的错误提示窗口,由图中信息可知,该动作脚本设置在 __▲ __上(选填字母,A.按钮 / B.关键帧)。(1 分) 第 7 题图 c 8.加工厂有一批钢管,现在需要把这些钢管切割成一些长度相等的小段(并不是所有钢管都一定要用完,可以有剩余),你的任务是计算能够得到的小段钢管的最大长度。钢管长度的单位是 cm,假定原始钢管长度都是正整数,我们要求切割得到的小段钢管的长度也是正整数。 例如原始有 3 段钢管,长度分别为{ 232、125、580 } ,需要将这 3 段钢管加工成长度相等的 8 段,得到的最大值为 116。程序运行时,在 List1 中显示原始 k 段钢管长度,在文本框 Text1 中输入需要加工的总段数 t,单击按钮 Command1,在标签 Label1 中输出切割后得到的小段钢管的最大长度。运行结果如下图所示,实现上述功能的 VB 代码如下: 第 8 题图 Const n = 1000 Dim a(1 To n) As Integer '存储原始钢管的长度 Dim k As Integer 'k 存储待加工钢管总数 Private Sub Form_Load() '读取待加工钢管数,存储在变量 k 中 '读取每段钢管的长度,依次存储在数组 a 中 '将待加工钢管总数和每段钢管原始长度显示在列表框 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 存储加工后的钢管总段数 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 ) '改错 End Sub (1)上述代码中有____▲ ___个事件处理过程。(2)如果原始 3 段钢管长度分别为{ 232、125、580 },输入需要加工的总段数 t 是 6,则加工后的钢管最大平均长度是____▲ ___。(3)加框处语句有错,请改正。(4)请将程序①②划线处代码补充完整。9. 某种字符加密方法描述如下:①将明文字符串 s 中的每个字母字符根据它所在的位置往后移动相应的位置,并转化为对应的小写字母或大写字母(例如:大写字母 A 往后移动 5 位变成 F,转化成小写字母得到 f;小写字母y 往后移动 8 位得到 g,转化成大写字母得到 G),非字母字符不处理,得到新串 ss。②将①得到的新串 ss 从中切割成两部分,再将后面一段字母依次逐个插入到前一段字符后边,组成一段密文。例如:“ Good.Luck !”生成密文过程如下:①明文字符串 s 移位和大小写转换过程:②将①得到的密文 ss 切割成两部分:假定 n 为明文字符串的长度n 为偶数:[1?n\2]、[n\2+1?n]n 为奇数:[1?n\2、n\2+1]、[n\2+2?n]例如将上述(1)得到的字符串 6~10 位置的字符依次、逐个连接在 1~5 字符后面,生成密文如下:(1)已知采用上述加密方法得到的密文是“iTCDS!”,则明文为:____▲ ___。(2)根据上述加密算法,小张设计了一个字符串加密程序,运行界面如图所示,请在划线处填入合适的代码。第 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分)选中“按钮”图层的最后一帧将其移动到第 1帧。 或者,选中“按钮”图层的第 1帧右键清除关键帧。 或其他等价答案。 (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)高三选考提升训练五 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 运行程序,则在 Label1 中显示的结果为( ) 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 执行该程序段后,d 数组各元素可能是( ) 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.某对分査找算法的 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 表示退出循环 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 若数组元素 d(1)到 d(10)的值依次为“3,7,9,13,16,18,19,30,45,57”,执行该程序段后,标签 Label1 上显示的字符串 s 出现字母“L”和“R”个数相同的情况有( ) A.1 种 B.2 种 C.3 种 D.4 种 4.逻辑运算符 And 在计算数值时是转换为二进制数后按位进行与运算,计算规则是:1 And1 = 1,1 And 0 = 0,0 And 1 = 0,0 And 0 = 0, 例如 7 转换为二进制数 00000111,12 转换为二进制为 00001100,因此 7 And 12 的结果为 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,标签 Label1 中显示的结果为( ) A.6 B.8 C.10 D.12 5.小李制作了主题为“杭州亚运会“的多媒体作品,首先用 Photoshop 软件处理了图片,然后使用 Flash 软件制作动画。请回答下列问题: (1)如图所示,下列说法正确的是______(多选,填字母:A.可以通过“填充”命令更改图层” Hangzhou2022”的文字颜色/B.“背景”图层一定没有添加了“高斯模糊”的滤镜效果/C.调整“场馆”和“背景”的图层顺序,场馆图像将不可见/D.将该图像文件保存为“a.jpg”,则” Asian Games”文字上的“外发光”效果不可见/E.无法直接删除“场馆”图层)(注:全部选对 2 分,选对但不全 1 分,不选或有错选 0 分)(2).将动画 GIF 文件“闪烁.gif”导入库中产生一个影片剪辑元件,则该元件中动画的动画类型是__ _(单选,填字母:A.逐帧动画/B.形状补间动画/C.动画补间动画)(3).影片剪辑元件“礼花”的编辑界面如图 b所示。若在不改变其他动画效果的情况下,希望礼花的动画速度提高一倍,下列操作可行的是_________(单选,填字母:A.将帧频改成 6fps/B.删除第 11-20 帧/C.将 20 帧移动至第 10 帧,并删除 11-20 帧)图 b 图 c (4).如图 c 所示,按钮一开始就出现,若要使按钮直到最后才出现,则应如何操作 __________________________________________________________________ (5).测试影片时,动画播放到最后,停止。按钮出现,单击按钮,将停止声音(声音设置如图 d 所示),并打开 http://www.hangzhou.net 网页。那么按钮上的动作命令是 __________________________________ 图 d 6.小明用 VB 编写了统计短文(不超过 500 字)中英语单词频次的程序。在文本框 Text1 中输入短文,单击“单词统计”按钮 Count 后,在列表框 List1 中按字典升序输出单词 (不区分大小写)和出现频次,程序运行结果如第 6 题图所示。 第 6 题图 请回答下列问题: (1)观察程序代码,该事件处理过程名为 。(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。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.循环排序。任意生成 10个[1, 100]之间的整数,编程实现将这 10个数进行循环降序排序,即首尾相连后是一个降序序列。要求最大值位置不变,然后依次进行排列。程序运行界面如图所示:(1)要使程序启动后,窗体的标题栏显示“循环排序”文字,可在 Form_ Load 事件过程中添加语句_ ▲ (单选, 填字母)A. Form1=" 循环排序” B. Form1. Name="循环排序”C. Form1. Caption="循环排序” D. Form. Capt ion="循环排序”(2)实现上述功能的 VB程序如下,加框处的代码有误,请改正,并将划线处的代码补充完整。Const n= 10Dim a(1 To n) As Integer, b(1 To n) As BooleanPrivate Sub Form_ Load()随机生成 n个[1,100]之间的整数,存储在数组 a中,并初始化数组 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.酒店房间管理问题:某酒店房间(房间数小于 1000) 编号按 1、2、....连续编号,客房经理对没有入住的房间使用如 7下方法来登记管理。连续的空房间,登记第一个房间的编号和连续的空房间数,比如空房间 1, 2, 6, 7, 8, 10,则登记 3 条记录,分别为 1_2, 6_ 3,10_1。某旅客如果退房,需要把这个房间号也登记进去,共有 4中情况需要处理: (1)上靠:若退的房间号为 3,则原来登记的记录变为 1_3, 6_3,10_1;(2)下靠:若退的房间号为 5,则原来登记的记录变为 1_2,5_4,10_1;(3)上下靠:若退的房间号为 9,则原来登记的记录变为 1_2,6_5;(4)上下都不靠:若退的房间号为 4,则原来登记的记录变为 1_2, 4_1, 6_3,10_1根据上述规则,小明编写了相应的 VB程序,程序启动时读入空房间数据,并在列表框 List1 中显示,在文本框 Text1中输入退房号,单击“退房”按钮后更新列表框 List1 中的数据。 程序界面如下图所示,请回答下列问题: (1)当前登记的记录有 3条,分别为 2_3,6_2,9_4。某旅客退掉 8号房间,则登记的记录将变为_▲_。(2)实现上述功能的 VB程序如下,请将划线处的代码补充完整。Constn = 1000Dim a(0 To n) As Integer 'a(i)保存 第 i条记录的开始房间号Dim b(0 To n) As Integer 'b(i)保存 第 i条记录的房间数Dim c As Integer, k As Integer, sp As Integer 'k 为原始记录数Private Sub Form_Load()'程序启动时从数据库中读取原始 k条记录,依次存入 a(1),b(1),a(2),b(2),...a(k),b(k),代码略'为了程序处理方便?虚设下面两条记录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函数的作用是将数字转成字符申 Next i End Sub 参考答案 1、B 2、D 3、B 4、C 5.(1)ADE (2 分) (2)A (1 分)(3)C (1 分)(4)在“按钮”图层第 50 帧插入关键帧,并删除第 1 帧上的按钮对象 (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 或其他等价答案 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高三选考提升训练六 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 数组元素 a(1)到 a(6)的值依次为“2,40,15,1,25,37”,执行该程序段,变量 max 的值为( ) A.2 B.3 C.4 D.5 2.有如下程序段,程序运行结束后,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.已知一无序数组 a中的元素为”90,15,40,72,65,32,81,6”,通过引入数组 b 存储 a中元素按升序排序时的下标,b数组元素为”8,2,6,3,5,4,7,1”,使得 a(b(1))<=a(b(2))<=……<=a(b(n)),从而对数组 a中的元素进行对分查找。部分代码如下: 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 程序运行结束后变量 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)) 执行该程序段后,在文本框 text1中显示的值为( ) A. 7 B. 8 C. 6 D. 55.下列 VB程序段的功能为:生成 n个不重复的随机整数,保存在数组 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数组各元素的初值置为 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个方框处的表达式分别为( ) 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.某对分查找的 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 数组元素 a(0)到 a(5)的值依次为“21,27,49, 63,88,90”。 下列说法不正确的是( ) A.在文本框 Text1中输入“26”后运行该程序,变量 n的值为 3B.在文本框 Text1中输入“63”后运行该程序,变量 i的值为 4C.在文本框 Text1中输入“26”后运行该程序,变量 i的值为 2D.在文本框 Text1中输入“63”后运行该程序,变量 n的值为 37.小明编写了一个字符串加密程序,功能如下:在文本框 Text1 中输入明文,单击“加密”按钮Command1后,在文本框 Text2中显示加密后的密文,运行界面如图所示。加密算法如下:1)将明文中每个字符用 8位二进制 ASCII码(不足八位的左端补 0,凑足八位)表示;如“A”的二进制 ASCII码值为 01000001;2)对 8位二进制编码进行取反码(0变 1,1变 0)操作,如 01000001的反码是 10111110;3)将 8位二进制反码用 2位十六进制表示,得到该字符的密文;4)将每个字符的密文按照明文的倒序连接。实现上述功能的 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 '数组 d存储字符 ASCII 码二进制从左到右的各位数码Dim mw As String 'mw存储密文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 ′自定义函数是将 m数组中的二进制数转换成对应的十六进制数 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 阅读分析程序代码,请回答下列问题: (1).按照加密算法,字符“Z”的密文是_________; (2).请在划线处填入合适代码。①_________;②_________; (3).若 I处方框内代码改成 d(j)=0,则 II处的方框内代码应改为:_________。 8.小红打算用 VB程序来查找数组 a中下降数列的方法,其算法思想描述如下: 1)用数组 b存储最小下降数列中最小的元素(查找过程中的最小值)b(1)开始为数组 a第 1个元素; 2)加入方法:将 a(i)与数组 b中的每个元素依次逐个比较:若 a(i)比 b(j)小就用 a(i)替换 b(j)中的值;将 a(i)添加到第 j个下降数列中,并存储在 c数组的 c(j)中;3)若数组 a 各元素的值为:34,54,3,76,2,3 时,则 3 个下降数列分别为:“34,3,2”,“54,3”,“76”。依据上述描述设计了如下 VB程序。请回答下列问题:(1).若数组 a的值是:“145,34,2,134,12”,数组 b(1)的值是_______。(2).请在划线处填入合适的代码。Const n = 20Dim a(1 To n) As IntegerPrivate Sub Form_Load() '读取 n个数据,依次存储到 a(1)、a(2)、……a(n)中,代码略 End Sub Private Sub Command1_Click() Dim b(1 To n) As Integer '存储数列最小的值 Dim c(1 To n) As String '存储下降数列 Dim i As Integer Dim j As Integer Dim bn As Integer '存储下降数列个数 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 = "数列中共有" + Str(bn) + "个下降序列" End Sub 9.已知数组 a有 n*n 个元素,将自然数 1~n*n (n<10)依次存储到数组 a中。其存储的算法如下:1.存储方式从左下向右,上,平行于矩阵的对角线依次进行存储,以 6*6 为例,数组 a 元素对应的赋值情况如第 9题图 a所示。2.输出数组 a,按 1~n*n 依次在列表框中按数字矩阵输出,以 6*6 为例,其输出结果如第 9 题图 b所示。第 9 题图 a 第 9 题图 b 小明依据上述描述设计了如下 VB 程序,单击"存储显示"按钮 Command1, 在 List1 中显示 n*n的矩阵。请回答下列问题: (1)若 n=4,则数组元素 a (8)的值是_ 。(填数字) (2)请在划线处填入合适的代码。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 '函数 dy 将变量 x 转换为字符串 If x < 10 Then dy = "" + Str(x) Else dy = Str(x) End If End Function 10.区间覆盖问题。数轴上有 n 个闭区间[ai, bi] (闭区间含端点),其中 ai, bi 都是正整数,选择尽量少的区间,使其覆盖一条指定的线段[s, t] (闭区间)。基本算法思想:先排序,然后贪心选择。选择区间的算法设计如下:例如有闭区间: [6, 13]、[8,17]、 [6,9]、 [12, 15]。(1)排序。把各区间按照 ai 从小到大排序,当 ai 相同时,按照 bi 从大到小排序。排序结果: [6,13]、[6,9]、 [8, 17]、[12, 15](2)选择。如果任意区间的起点不是 s,无解,否则选择起点在 s 的最长区间。选择[ai, bi]后,新的起点设置成 bi.反复操作,直至覆盖整个线段。.挑选结果: [6, 13]、[8, 17]设计程序界面如下图所示,在文本框 Text1 中按格式输入原始区间,在文本框 text2 中按格式输入要覆盖的区间,点击“计算”按钮后,在文本框 Text3 中按顺序输出能覆盖整个线段的区间。依据上述描述设计如下 VB 程序: Const m=10 ' 程序最多处理 10 个区间 Dim a(1 To 2 * m) As Integer ' a(1)、 a(2)存放第 1 区间的下限和上限,a(3)、 a(4)存放第 2 区间的下限和上限 Private Sub Commandl_ Click () Dim res As String, n As Integer, flag As Boolean Dim maxlen as integer ' 从文本框 text1 中获取区间的数据分别存储在 a 数组中,代码略 n 表示输入的区间个数 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 表示区间的起点,e 表示区间的重点 length = 0: news = s flag = True Do While length < e - s And flag maxlen = 0 For i= 1 To n '寻找当前最适合的区间 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 = "无法覆盖该区间! " End Sub (1)对于给定区间[3,9]、[6,13]、[2,8],需要覆盖的区间[3,10]则输出(2)请在划线处填入合适的代码。参考答案 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 分)高三选考提升训练二 1. 下列 VB表达式的值等于 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 程序运行时,单击命令按钮 Commandl后,将会出现的提示信息是 A. 溢出 B.下标越界 C. 要求对象 D. 无效的过程调用或参数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) 则程序运行后 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 执行该程序段后,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程序段用以实现 10个数组元素升序排序。Dim a(1 To 10) As IntegerDim flag As BooleanDim i As Integer, j As Integer, tmp As Integer随机生成 10个不重复的数据存入数组 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 要实现上述功能,方框①②中的语句分别是 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 软件创作主题为"旋转的风车"的多媒体作品,部分界面如图 a 所示。 请回答下列问题: (1)编写脚本是设计多媒体作品的重头戏,脚本编写的一般步骤有:①编写脚本大纲②媒体元素分解③编写文字脚本④编写制作脚本,则正确的脚本编写顺序 为____ (单选,填字母:A. ①②④③/ B. ②①③④/ C. ①④③②/ D. ①③④②)(2)图中“文字”图层第 1 帧到第 36 帧实现了文字“放飞梦想”渐变为“超越自我”的动画,则第 36帧中的“超越自我”为 (填文字:形状 / 实例)。(3)如图所示,在不影响其他动画效果的前提下,为使“音乐”图层中的声音从本场景第 1帧开始播放,正确的操作是 。(4) 图中“风车”图层应用了影片剪辑元件“风车”,修改“风车”元件的帧频为 6fps,则当前场景的播放速度 (填文字:变快 / 变慢 / 不变)(5)“播放“按钮的编辑界面如图 b 所示,该按钮 (填文字:能 / 不能)正常响应鼠标事件。(6)测试影片时,单击“播放”按钮,停止所有声音的播放,并使影片跳转到“scene2” 场景的第 1帧并继续播放,则“播放”按钮的动作脚本为 。 7. 数组元素 a(1)~a(100)用以存储某班级 50 位学生的信息技术和通用技术成绩,奇数位置存储信息技术成绩,偶数位置存储对应学生的通用技术成绩。该数组已经按照两科总成绩升序排序。依据对分查找思想,设计一个在数组 a 中查找总成绩为 key 的程序,统计输出两科总成绩大于等于 key的人数。部分运行界面如图所示:实现该功能的 VB程序如下: Private Sub Commandl_ClickO Dim a(1 To 100) As Integer Dim sum As Integer Const t = 50 '将 50个学生的信息技术和通用技术成绩依次存储在数组 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 &"分的人数为:" +Str (t-j \ 2) End Sub (1) 代码“Private Sub Commandl_Click0”中的 Commandl_Click是 (单选, 填字母:A.对象名/B.属性名/C.事件名/D.事件处理过程名)。(2) 请在①②划线处填入合适代码。(3) 加框处代码有错,请改正。8. 二叉树是每个结点最多有两个子树的树结构,如值为 9的结点有两个子树 6和 8,值为 6的结点有两个子树 5和 3。若设二叉树的深度为 h,则除第 h层外,其它各层(1~h-1)的结点数都达到最大个数,第 h层所有的结点都连续集中在最左边,这就是完全二叉树。现要构造大根堆,堆是一棵顺序存储的完全二叉树,大根堆又是一种特殊的堆,它的特征是每个双亲结点的值都不小于其孩子结点的值。如下图所示,值为 9 的结点是 6 和 8的双亲结点,而 6和 8分别是 9的左孩子和右孩子;同理,6是 5和 3的双亲结点,而 5和 3分别是 6的左孩子和右孩...... 假如我们用数组表示上述大根堆: 现有一算法把一个无序数组改造成大根堆。例如:我们在上图的大根堆中再增加一个值为 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 题图数组存储为: 具体操作方法如下: 第 1步:因为 a(10)大于它的双亲结点 a(5),故需交换 a(10)和 a(5)的值; 数组存储为: 第 2步:因为 a(5)大于它的双亲结点 a(2),故需交换 a(5)和 a(2)的值; 数组存储为: 第 3步:因为 a(2)不大于它的双亲结点 a(1),故无需做交换操作。此时新元素已经放到了正确的位置,新的大根堆构造完成,上移行动结束。 (1) 若在第 8题图中增加值为 4的新元素,则元素 4将被存储在数组元素 中。 (2) 小段为此编制一 VB 程序:在文本框 Textl 中输入结点个数 n,单击命令按钮Commandl, 随机产生 n个[1,99]的整数作为结点值,并由此构造大根堆,结果显示在列表框 Listl 中,程序运行界面如图所示。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 实现上述功能的程序代码如下,请在划线处填入合适的代码。 Dim a(1 To 100) As Integer '该函数功能为实现数据的对齐输出 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 展开更多...... 收起↑ 资源列表 高三选考信息技术提升训练1.pdf 高三选考信息技术提升训练2.pdf 高三选考信息技术提升训练3.pdf 高三选考信息技术提升训练4.pdf 高三选考信息技术提升训练5.pdf 高三选考信息技术提升训练6.pdf