《考点1011VB基本算法-浙江省2022届高三信息技术二轮复习针对性练习.docx》由会员分享,可在线阅读,更多相关《考点1011VB基本算法-浙江省2022届高三信息技术二轮复习针对性练习.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、考点10、11 VB基本算法姓名: 1.采用冒泡排序算法对数据序列“2, 3, 4, 5,班级: 1 , 0”完成升序排序,则需要交换的次数为(A.9次B. 12 次C. 15 次D. 18 次2 .采用冒泡排序算法对某数据序列进行排序,经过第一轮排序后的结果是“2, 8, 3, 9, 5, 6, 7”, 那么原数据序列不可能的是()A.8,3,9,5,2,7,6B.8,3,9,2,6,5,7C.8,2,9,3,5,7,6D.8,3,2,9,6,5,73.假定一组记录为(46, 79, 56, 64, 38, 40, 84, 43),在冒泡排序的过程中,进行第一趟排序结束时,元 素40不可能在
2、哪个元素之后()A. 38B. 46C. 564 .某数据序列为 “23, 8, 15, 33, 52, 27, 63, 78”, 排序过程中需要交换元素的次数是()A. 7B. 6C. 55 .采用冒泡排序算法对数据序列“8, 3, 5, 2, 0,3, 5, 2, 9”,则整个序列完成排序的交换次数是(A. 6次B.7次C.8次D. 64采用选择排序算法将数据从小到大排序,那么D. 49”进行排序,第一轮排序后的结果为“0, 8, )D.9次6 ,有两个以字母结尾的字符串s1和s2,在忽略字符串中空格的前提下判断它们是否相同。实现该 功能的VB程序段如下:i = 1 : j = 1Do W
3、hile i Len (s1) And j Ien (s1) And j Ien (s2) Then Textl. Text=相同EI se Textl. text=不相同 方框中的代码由以下三部分组成:代码顺序正确的是 () If Mid(s1, i, 1) = “ Then i = i+1If Mid(s2, j, 1) = “ Then j = j + 1 Mid(s1, i, 1) “ And Mid(s2, j, 1)“ Then Exit Do Exit Do 表示退出循环A.B.C.D.7,下列VB程序段功能为:在文本框Textl中显示整型数组元素a(1)到a(9)中的最小值和最
4、大值。ami n=a (1): amax=a (1)i=2:j=9Do WhiIe ia (j) Then (1):(2) Else (3)i=i+1:j=j-1LoopTextl.text二Str (amin)+ ”,” Str (amax) 上述程序段中方框处可选语句为:则(1) (2) (3) (4)处语句依次()If a (j)amax Then amax -a (j)(3)lf a (i) am in Then ami n 二a A. B.8.有如下VB程序段:If a (j) amax Then amax =a (i)C.D.生成6个随机正整数,依次存入数组元素a (1)到a(6)
5、,代码略For i=1 To 2For j=6 To i+1 Step TIf a (j) Mod 3a (j -1)Mod 3 Thent= a(j) : a(j)=a(j - 1) : a(j -1) = tEnd IfNext jNext i执行上述程序段后,下列选项中,a (1)到a (6)各元素值不可能的是()A. 2,1,4, 3, 6, 7 B. 5,2,1,7, 8, 3 C. 7, 7, 6, 3, 3,1 D. 8,7, 4, 3,3,29 .将正整数n分解为两个正整数之和,其中一个能被3整除,另一个能被7整除。统计分解方法 共有几种的VB程序段如下:cnt=0: -7Do
6、 While i nLoopTextl.Text= Str (ent)方框中的代码由以下三部分组成:i=i+7j-n-i If j Mod 3=0 Then ent = cnt+1 下列选项中,代码顺序正确的是()A. B.C.D.10 .有如下VB程序段:For i=1 To 6a(i) = iNext iFor i=1 To 2n= I nt (Rnd*3)*2+2a (n) =a (n) +a (n-1)Next i执行该程序段后,数组元素a (1)到a (6)的值不可能的是()A. 1,2,3, 7,5,11 B. 1,3, 6, 4, 5, 6 C. 1,2, 3,4,5,16 D.
7、 1,4, 3, 4, 5, 611 .下列VB程序段功能为:通过双向冒泡排序,最终实现数组元素a(1)到a(n)升序排列。Const n=5Dim a (1 To n)As integera (1)=32: a (2) =15: a (3) =18: a (4) =9: a =6For i=1 To n2For j =(1) To i + 1 Step -1I f a (j) a (k + 1) Then t = a(k) : a (k)= a(k + 1) : a (k + 1)= t Next kNext i上述程序段中方框处可选语句为:2n-i+1n n-i则(1) (2)处语句依次可
8、为()A.B.C.D.s=123456i=10:t=0Do WhiIe s 0 LoopTextl. Text=str (t)方框中的代码由以下三部分组成:则方框处语句依次可为() i= i * 100s=s 10t=t * 10+s Mod 10+(s Mod 10) * iA. B.C.D.13 .某数组a (1)a (10)中的数值分别为3, 8, 5, 7, 6,1,4, 9, 2,10, vv (10)均初始化为True, cnt=0For i=1 To 10If (v (i) Then J=lDo While (v (j) v(j)=False : j=a(j) Loop cnt=
9、cnt+1End IfNext i执行上述程序段后,ent的值是()A. 3B.4C. 5D. 614 .有如下VB程序段: n=6For i=1 To n-1For j = n - 1 To i Step -1If a (j) a (j + 1) Or a (j) = a (j + 1) And b (j) b (j + 1) Thent=a(j) :a(j)=a(j+1) :a(j+1)=tt=b(j) :b(j)=b(j+1) :b(j+1)=tEnd IfNext jNext i数组元素a到a (6)的值依次为3, 6, 7, 1, 8, 1, b到b (6)的值依次为5, 3, 7,
10、 7, 7, 40 执行上述程序段后,a (2)与b (2)的值分别是()A. 1, 4 B, 1,7C. 7,5D. 7,715 .有如下VB程序段:s 二0For i=2To 5p=0For j = 1 To i - 1If a (j) a (i) Then p = p + 1Next j s = s+p Next i 若数组a(1)a(5)的元素依次为“47, 59, 26, 73, 82”,则上述程序段运行后,s的值为()A. 7 B. 8C. 9D. 1016 .有如下VB程序段:s=0: x=0For k=3 To 1 Step - 1If k=1 Then x=1If k=2 T
11、hen x=2If k=3 Then x=3Next k该程序段运行后,变量s的值是()A. 9B. 8C. 6D. 317 .有如下VB程序段:Pr i vate Sub Command1_CIick()Dim a (1 To 9) As IntegerDim i As Integer, sum As Integer, s As String, ch As Str i ng s = ABCDEFGHIJK a(1)= 1 For i = 2 To 10ch 二 Mid (s, i, 1)a (i) - a (i - 1) * (Asc (ch) - Asc (A)Next iFor i =
12、2 To 10sum = sum + (a(i) - a (i - 1)Next iLabe 11. Text = Str (sum)End Sub程序运行时,单击命令按钮Commandl后,将会出现的提示信息是()A.溢出B.未找到方法或数据成员C.下标越界D.类型不匹配18 .小明基于冒泡排序算法编写了一个VB程序,功能如下:窗体加载时随机生成10个数据,存储在数 组a中,单击“排序”按钮Commandl,在文本框Text2中显示剔除重复数据后升序排序结果。Const n = 10Pr i vate Sub Command1_CIick()Dim i As Integer, j As In
13、teger, t As Integer, k As Integer, bottom As Integer bottom = n: i = 1Do While i = i + 1If Then t = a (j) : a (j)= a (j - 1) : a (j - 1) = tI f a (j - 1) = a(j) ThenFor k = j + 1 To bottomNext kbottom = bottom - 1End IfJ = j - 1Loopi = i + 1LoopEnd Sub为了实现上述功能,应在划线处填入的代码为A. j 二 nB. j 二 bottomC. j 二
14、nD. j 二 bottoma(j)a (j-1)a(j)a (j-1)a(j)a (j-1)a(k)= a(k- 1)a (k - 1) = a (k) a (k - 1) = a (k) a(k) = a(k- 1)19.下列VB程序段功能为:在文本框Textl输入一个字符串,去除重复字符后在标签Labell上显示,如 Textl 中输入“abcdaed”,则 Labell 上显示bcaed”。s = Textl. Text: i = 2Do While i = Len (s)Do Wh iIe j = i - 1If Mid(s, i, 1)= Mid(s, j, 1) Thens =
15、Mid (s, 1, j - 1) + Mid (s, j + 1, Len (s)Ex i t DoEnd IfLoopLoopLabe 11.Capt ion = s上述程序段中方框处可选语句为:i=i+1i = i -1产J+1则(1) (2) (3)处语句依次可为()A.B.C.D.20 .有如下VB程序段:a (1) =8: a (2) =7:a (3) =1: a (4) =6: a (5) =9 : a (6) =5: a (7) =4: a (8) =7m = Int (Rnd*4)*2+1For i=1 To m -1k二 iFor j=i+1 To mIf a (j) a
16、(k) Then k=jNext jI f i Ok Then t=a (i) : a (i) =a (k) : a (k) =tNext i执行该程序段后,数组a各元素的值不可能是()A. 871 69547 B, 1 7869547 C. 14567897 D. 1456778921 .有1个升序排列的数组a(a(1)a(n), n23),从左到右相邻两个元素的差值(后一个元素值减 去前一个元素值)先由小到大、再由大到小,且相邻两个差值不相等,为了查找相邻两个元素的最 大差值,小李编写的VB程序段如下:i = 1 : j = nDo Wh iIe i + 1 a (m) - a (m - 1) ThenEI seEnd i fLoopLabel 1. Caption=相邻两个元素的最大差值是+ Str (a (j) - a (i)上述程序段两个方框处的语句分别为A. i 二 m j 二 mB. i 二 m j 二四-1C. i = m + 1 j = m 1D. i = m + 1 j = m