资源简介 葫芦岛市龙港区多校2023-2024学年高一下学期7月期末考试信息技术试卷考试时间:75分钟 满分100分一、选择题(共40题,每题2分,共80分)1.下表记录了6个数据的排序过程。分析表中数据可知,该排序采用的算法与排序方式分别为( )A.冒泡排序,降序 B.选择排序,降序C.冒泡排序,升序 D.选择排序,升序2.某算法的流程图如图所示,执行该算法,输出的值为( )A.2 B.6 C.8 D.193.在 Visual Basic中,若x表示能被5整除的正整数,则下列逻辑表达式的值一定为真的是( )。A.x/5=0 B.x Mod 5=0 C.Int(x/5)=0 D.5 Mod x=04.有如下VB程序段:For i=1 To 9For j=10 To i+2 Step-1If a(j)t=a(j):8(j)=a(j-2):a (j-2)=tEnd IfNext jNext i数组元素a(1)到a(10)的值依次为“3,17,2,14,15,6,7,18,9,4”,执行该程序段后,数组元素a(8)中的值为( )A.3 B.4 C.15 D.175.INPUTBOX(“请输入”,“学生成绩”,80)函数弹出的对话框中,其标题是( )A.请输入B.学生成绩C.100D.无6.Python中幂运算(指数运算)的运算符为( )。A.* B.** C.% D.//7.有如下 Visual Basic 程序段: s= 0For i = 1 To 5s = s + i Next i If i <= 5 ThenText1.Text = Str(s) ElseText1.Text = Str(s + i) End If该程序段运行后,在文本框Text1中显示的是A.5 B.6 C.15 D.218.在 VB 中,窗体加载的事件处理过程名为( )A.Form_Click B.Form_DblClickC.Form_Load D.Form_Change9.有以下 VB 程序段For i = 1 To 3 For j = 1 to 10 If j Mod i = 0 Then a(j) = 1 – a(j) Next jNext isum = 0For i = 1 To 10 sum = sum + a(i)Next i已知数组 a 的所有元素初值均为 0,运行上述程序段后,变量 sum 的值是( )A.2 B.3 C.4 D.510.给定一个n正整数(n<=20),根据设定的保留位数,舍去一部分数字,剩下的数字按原次序组成一个最大的新数。例如原数36835132,保留4位,最大数为6532。在文本框Text1输入原数,文本框Text2中输入保留的位数,文本框Text3中输出删除后的最大数。实现上述功能的部分VB代码如下∶Dim a(1 To 20)As String,ys As String,xs As StringDim k As Integer,h As Integer,n As Integer,i As Integer,j As Integerys=Text1.Text:k=Val(Text2.Text)n=Len(ys):h=1For i=1 To na(i)=mid(ys,i,1)Next iFor i=1 To kFor j = h To ①If a(j) > a(h) Then ②Next jxs=xs + a(h)h=h + 1Next iText3.Text=xs上述程序中划线处可选语句为( )①n-k+i ②i+k ③n-k+1 ④j=h ⑤h=j则①②处语句依次是A.③⑤ B.①⑤ C.①④ D.②⑤11.以下程序的功能是( )dim X AS doubleX=inputbox(“x=”)if X<0 then X=-Xendifprint XA.输入X,输出X的相反数 B.输入X,输出X的绝对值C.输入X,输出X的平方根 D.输入X,判断其是否小于0,并输出X12.代数式对应的Visual Basic表达式是( )A.(5x-4*y)/7z+x*xB.(5x-4*y)/(7z+x*x)C.(5*x-4*y)/(7*z+x*x)D.5*x-4*y/7z+x*x13.十进制数29转换为十六进制数为( )A.10111 B.17 C.1D D.1E14.能通俗易懂地描述算法,但容易出现“歧义性”的是( )A.自然语言 B.流程图 C.QBASIC语言 D.Pascal语言15.有如下 VB 程序段:i=1Do while i<=6a(i) = Int(Rnd * 10) + 1If a(i) Mod 2 = 1 Thena(i) =a(i) – 1ElseIf i Mod 2 = 0 Thena(i) = a(i) + a(i - 1)End Ifi=i+1Loop最终a数组各元素的值可能是( )A.8,14,9,6,2,12 B.2,4,10,19,9,10C.8,12,0,11,2,10 D.6,12,0,10,4,816.以下流程图符号中,用于放置赋值语句对变量赋值的框图符号是( )。A. B. C. D.17.程序有三种基本结构,下列不属于这种基本结构的是( )A.循环结构 B.树形结构 C.顺序结构 D.选择结构18.列表a中存入的数据如下,现要在列表中查找数据”zhang”,以下说法正确的是( )a[0] a[1] a[2] a[3] a[4] a[5] a[6]Gong cheng fan huang ni song zhangA.对分查找的效率总是优于顺序查找B.若进行对分查找,依次被比较的数据是“huang”“ni”“song”“zhang”C.因为这批数据是无序的,故只能用顺序查找的方式D.若进行对分查找,依次被比较的数据是“huang”“song”“zhang”19.运行程序时,Text1. text=“”语句会被自动执行,可以将该语句嵌入的过程是( )A.Command1_click B.Form_load C.Text1_click D.Timer1_timer20.实现计算器上xy运算处理的算法部分流程图如图所示:下列说法正确的是( )A.框图①中该填入的是f←x*jB.框图①中该填入的是f←f*jC.j←j+1被执行了x次D.j←j+1被执行了y次21.在以下数组a中,采用对分查找思想查找数据"19",则以下说法正确的是( )。a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8]2 3 5 9 19 23 29 35A.如果查找的数据元素不存在,则查找无法进行B.第1次就查找到了该数据元素C.查找过程中,共需要比较4次D.第2次查找到的数据是"23"22.计算机程序设计语言的发展所经历的主要阶段依次为下列哪个选项。( )A.机器语言、汇编语言和高级语言 B.汇编语言、机器语言和高级语言C.高级语言、汇编语言和机器语言 D.机器语言、高级语言和汇编语言23.报名参加跳远比赛的某5位同学的编号为5,11,25,36,50,利用二分查找法查找36号同学的过程中,依次被访问到的编号为( )A.5,11,25,36 B.25,36 C.11,36 D.11,25,3624.当a="123:" b=StrA.,则( )A.a和b均是字符型变量B.a是字符型变量,b是数值型变量C.a是数值型变量,b是字符型变量D.a和b均是数值型变量25.有如下VB 程序段:Private Sub Commandl_Click()Dim d(l To 6) As IntegerDim t As Integerd(1)=35:d(2)=18:d(3)=63:d(4)=5:d(5)=85:d(6)=47For i=1 To 3For j=i+1 To 6If d(j)t=d(j):d(j)=d(j-1):d(j-1)=tEnd IfNext jTextl.Text=Str(d(i))+Text1.TextNext iEnd Sub .执行该程序段后,文本框 Textl输出的内容是 ( )A.47 63 85 B.35 5 18 C.85 63 47 D.18 5 3526.某算法的部分流程图如图所示,以下说法正确的是( )A.该流程执行后,变量k的值是1B.该流程执行后,变量a的值是16C.该流程用于计算并输出1+8-16的值D.该流程完整执行1次,“a<32 ”共执行了4次27.有如下VB程序段,执行该程序段后,a(1) 到a(6)各元素的值可能为( )RandomizeFor i=1 To 6a(i) = Int(Rnd*21) *2+11If I Mod 2=1 Thena(i) = a(i) +2ElseIf a(i)End IfNext iA.13, 15, 25, 37, 23, 54 B.16, 44, 23, 51, 22, 22C.19, 37, 23, 45, 53, 53 D.13,37, 11, 45, 33, 5128.某电子设备的电路板上有一个4位的“跳板开关”,此开关每一位都只有“打开”和“闭合”两种状态,这个“跳板开关”最多可以表示的状态数是( )A.16 B.8 C.12 D.2429.计算机能够直接识别和执行的程序设计语言是( )。A.低级语言 B.汇编语言 C.机器语言 D.高级语言30.以下函数运算中结果不是5的是( )A.Int(-5.0) B.Abs(-5) C.Sqr(25) D.Len(“20201”)31.在VB中,下列程序段执行后,变量a的值是( )a=2,b=3a=a+bb=b-aa=a+bA.3 B.4 C.5 D.632.统计1~1000间个位数是4,且能被9整除的数共有多少个,可以采用的算法是( )A.查找算法 B.枚举算法C.解析算法 D.排序算法33.三个正整数a、b、c满足等式a2+b2=c2,a、b、c称为“勾股数”,求出100以内所有“勾股数”可采用的算法是( )A.枚举算法 B.解析算法 C.冒泡排序 D.顺序查找34.若整型变量a的值为2,b的值为3,则下列程序段执行后整型变量c的值为( )。if a>5 thenif b<4 then c=a-b else c=b-aelseif b>3 then c=a*b else c=a mod bend ifA.2 B.-1 C.1 D.635.以下程序用于求解最后出列的人的序号。游戏规则如下:有10个人围成一圈,从第一个开始报数,数到M的人将被淘汰,从圈内下一个人从1开始重新报数。Dim a(1 To 10)As Boolean 'a(i)表示编号为i的人是否已经出列m = Val(Text1 Text)cnt = 0:i = 0:ans =0Do While (1) '当所有人都出列时停止i = i+1 '枚举圈内所有人If (2) Then i = 1If not a(i) Then k = k+ 1If k=m Then '数到m的人出列(3)cnt = cnt +1k=0if cnt = 10 then ans = iEnd IfLoopText2. text ="最后出列的人是:"+ str (ans)填空处的代码可由以下部分组成:( )①i<10 ②i=11 ③a(i)=true④cnt<10 ⑤i=10 ⑥a(i)=falseA.①②③ B.①⑤⑥ C.④②③ D.④⑤⑥36.反转字符串,如输入字符串为“123ABCD”,则输出字符串为“DCBA321”。部分程序如下所示,划线处的正确语句是( )s=Text1.Text:n=Len(s):i=1’按变量s中字符顺序从左到右依次存入字符串数组a中,代码略Do While I < nt=a(i)For j= I + 1 To n①Next ja(j-1)=t②LoopFor i = 1 To lean(s)Texts2.Text = Texts2.Text + a(i)Next iA.①a(j+1)=a(j) ②n=n-1 B.①a(j)=a(j+1) ②n=n+1C.①a(j-1)=a(j) ②n=n-1 D.①a(j-1)=a(j) ②n=n+137.将无序数据“8,23,4,16,77,-5,53,100”按从大到小的顺序排列,每次可以交换任意两个元素,最少需要交换( )次A.4 B.5 C.6 D.738.以下不属于高级编程语言的是( )A.C B.PS C.Python D.C#39.某对分查找算法的VB程序如下:key=________i = 1: j = 10Do While i <= j m = (i + j) \ 2 If a(m) < Key Then i = m + 1: n = n + 1 Else j = m - 1: n = n - 1 End IfLoop数组元素a(1)到a(10)的值依次是“2,2,4,6,9,15,15,20,25,30”若n值为2,则key的值可能为( )A.6或16 B.5或 8 C.10或15 D.17或2940.下列给出的赋值语句中正确的是( )A. B. C. D.二、填空题(共20分)41.有一个报数游戏, n个人排成一圈,游戏开始时规定一个报数号m,然后从其中一个人开始按顺时针报数1,2,3……n,当某人报到的数为m的倍数时,即被淘汰,其他人继续游戏,直到最后。现用VB设计了一个程序,程序界面如下图所示。在文本框Text1中输入参加游戏的人数n,在文本框Text2中输入报数号m,单击“报数”按钮,即在列表框List1中显示每次被淘汰的人的顺序号。实现上述功能的VB代码如下,但加框处有错,请改正。Private Sub Command1_Click()Dim n As Integer, m As IntegerDim a(1 To 50) As Integern = Val(Text1.Text)m = Val(Text2.Text)For i = 1 To n '(1)Next is = 0:j = 0Do While s < n t = 0 Do While t < m '(2) t = t + a(j) Loop a(j) = 0 s = s + 1 List1.AddItem "第" + Str(s) + "次:" + Str(j)LoopEnd Sub42.数学中的“自守数”:如果一个数的平方数的末几位等于该数本身,这个数就是自守数。例如:5*5=256*6=3625*25=62576*76=5776……那么,5、6、25、76 等数被称为自守数。小袁编写一个 VB 程序,实现如下功能:找出 10000 以内所有可能的自守数,单击“统计”按钮 Command1,将符合要求的自守数显示在列表框 List1 中,统计个数显 示在标签 Label1 中,运行界面如图所示。(1)程序运行时要在按钮上显示“统计”,应设置该按钮的 属性。(2)为实现上述功能,请在划线处填入合适的代码。Private Sub Command1_Click()Dim n As Single, k As Integer, t As Integer, c As IntegerList1.Clear c=0For n = 5 To 10000k = Len(Trim(n)) 'Trim()函数用于删除字符串前后的空格t = (n * n) Mod ① _If t = n ThenList1.AddItem Str(n)②End IfNext nLabel1.Caption = "自守个数为:" + Str(c)End Sub为实现上述功能,划线处应填入的代码分别为① 。② 。(3)解决该问题采用了 (选填:枚举/解析)算法。43.在通过VB设计“BMI指数”的程序中,王明将变量BZ赋值给Text2.text输出,相应的代码是 。44.有一Access数据库“school.accdb” 存放在f:\2015mt\vb文件夹中,其中的“student”数据表用来存储学生的基本情况信息,包括学号(num)、姓名(name)、性别(sex)、分数(score),括号内的为对应字段名。下列VB程序用来实现根据学号查询并显示学生信息,运行界面如下图所示。在文本框Text1中输入学生的学号,单击“查询”,在文本框Text2、Text3、Text4中分别显示学生姓名、性别、分数。Private Sub Command1_Click()Dim adocn As New adodb.ConnectionDim adors As New adodb.RecordsetDim str2 As String, str1 As Stringstr1 = "Provider="Microsoft.ACE.OLEDB.12.0;data" source=f:\2015mt\vb\_____________"adocn.Open str1str2 = "select * from students where num=" + Text1.Textadors.Open str2, adocn, adOpenDynamic, adLockOptimisticIf adors.EOF =" True" ThenMsgBox "你输入的学号不存在"ElseText2.Text = adors.Fields("name").ValueText3.Text = adors.Fields("sex").Value______________________________________End Ifadors.Closeadocn.CloseEnd Sub45.数组a中有8个数据已按升序排列。a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8)17 22 33 34 41 46 61 85如果采用对分查找法查找数字77,则第一次查找的数组元素是 ,经过 次查找后得到结果。46.阅读程序段并回答问题。x=1a=xb=x+1上述程序执行后,变量a的值是 ,变量b的值是 。47.代数式的VB表达式为__________________ 。48.有如下VB程序段a=12b=54a=bb=a该程序段运行后,a,b的值分别为 ___、_ __,该程序结构属于___ ___结构(选填:顺序、选择、循环)。49.以下VB代码存在一个语法错误:行号 语句dim price as double②price=inputbox("请输入价格")③ if price>=500④ price=price*0.95⑤ end if⑥ print price错误语句在 行。正确语句为 。50.UNLOAD.ME 的含义是卸载( ).参考答案:1.C【详解】本题考查的是冒泡排序算法。由表中原始数据与第1遍排序后的数据对比不难发现,原始数据中最小的数据移动到了第1位,同时其他数的前后顺序不变,根据冒泡排序的特点可知,此排序是冒泡排序,而每一遍排序将最小数据移动到本次排序数据的前面,因而判断为升序。故选项C正确。2.C【详解】本题主要考查流程图表示的算法。变量s的值依次为2386、238、23、2、0,对应t的值依次为6、8、3、2,从选择结构功能来看,找余数的最大值,并把最大值赋给k,因此最终k的值为8。3.B【详解】本题考查的知识点是算数运算符的应用。x表示能被5整除的正整数,即x是5的倍数,所以x Mod 5=0一定为true。若x的值不为0,则x/5,Int(x/5)结果都不为0。当x值为0时,5 Mod x不成立,也不存在结果为0。故正确答案为B选项。4.D【详解】本题考查的知识点是算法及程序实现。此算法跟冒泡排序相似,比较的并不是相邻两数,面是隔一数的比较,最后的结果也并不是全部排序的结果。经过分解可知,i=4的时候已经没有交换,此时的结果已经是最后的结果。故正确答案为D选项。a( 1) a(2) a(3) a(4) a(5) a(6) A(7) a(8) a(9) a(10)3 17 2 14 15 6 7 18 9 4i=1 2 4 3 17 7 14 15 6 9 18i=2 2 4 3 6 7 17 9 14 15 18i=3 2 4 3 6 7 14 9 17 15 18i=4 2 4 3 6 7 14 9 17 15 185.B【详解】本题主要考查VB数据的输入。INPUTBOX函数用于数据的输入,格式:INPUTBOX(提示文本,标题,输入框文本),因此INPUTBOX(“请输入”,“学生成绩”,80)函数弹出的对话框中,其标题是学生成绩,故本题选B选项。6.B【详解】本题主要考查Python的运算。Python中幂运算(指数运算)的运算符为**,故本题选B选项。7.D【详解】本题主要考查VB程序的执行。第一个for循环执行完,s=s+i=0+1+2+3+4+5=15,循环完后i=6,不满足i<=5,执行Str(s+i)=Str(21)="21",故该程序段运行后,在文本框Text1中显示的是21,故本题选D选项。8.C【详解】本题主要考查VB事件处理过程名的描述。在 VB 中,窗体加载的事件处理过程名为Form_Load,Form_Click为单击事件处理过程名,Form_DblClick为双击事件处理过程名,Form_Change是文本框内容发生变化时的事件处理过程名,故本题选C选项。9.C【详解】本题主要考查VB程序的执行。i=1时,a(1)到a(10)均等于1;i等于2时,a(2)=0,a(4)=0,a(6)=0,a(8)=0,a(10)=0,;i等于3时,a(3)=0,a(6)=1,a(9)=0,故程序结束后,sum=1+0+0+0+1+1+1+0+0+0=4,故本题选C选项。10.B【详解】本题主要考查VB程序的执行与调试。第二个嵌套for循环实现将保留的k个数,逐个对比找出最大的数加到字符变量xs中,外层循环变量i的范围是从1到k,故内层循环变量j的范围从h到n-k+i(在保留的n-k个值中进行比较,当外层循环是i时,则内层循环的最后一位是n-k+i),如果a(j)>a(h),则更新h的值(即将最大值赋给a(h)),故①②处语句依次是①n-k+i ⑤h=j,故本题选B选项。11.B【详解】本题主要考查VB程序的调试。分析程序,当X小于0时,X=-X,若X>=0,直接输出X,故程序的功能是输入X,输出X的绝对值,故本题选D选项。12.C【详解】13.C【详解】本题考查数制转换相关内容。29D=0001 1101B=1DH,故本题答案是C选项。14.A【详解】15.D【详解】本题考查的是VB综合应用。Int(Rnd * 10) + 1是产生[1,10]的整数。由程序的IF 和ElseIf中的语句,可知数组a中的数据都为偶数。故选项D正确。16.A【详解】17.B【详解】本题考查程序的三种基本结构。程序的三种基本结构为:顺序结构,选择结构,循环结构,选项ACD正确,故不选。树形结构不属于程序的三种基本结构,故答案应选B选项。18.D【详解】本题考查数据结构。A选项错误,在有序数组中,对分查找的效率在大多数情况下优于顺序查找。但当要查找的数据位于数组的开头或接近开头时,顺序查找可能更快。B选项错误,D选项正确,若进行对分查找,首先要找的区间为a[0]-a[6],即取中间的元素“huang”,由于“huang”<“zhang”,因此下一个要找的区间为a[4]-a[6],即下一个要比较多数据为“song”,由于“song”<“zhang”,因此下一个要找的区间为a[6]-a[6],此时“zhang”=“zhang”。C选项错误,由于字符串也是可以比较的,并且这批数据按照首字母的ASCII值是有序的,因此可以使用对分查找的方式。故答案为:D。19.B【详解】本题考查VB编程基础。运行程序时,Text1. text=“”语句会被自动执行,可以将该语句嵌入的过程是Form_load,不影响Text1. Text数据的读入,选项B正确。如果放入过程Command1_click会导致Text1. Text数据无法自动执行,选项A错误。放入过程Text1_click,代码无法自动执行,选项C错误。Timer1_timer是控制时间的,选项D错误。20.D【详解】考核算法中流程图相关知识。此流程图为循环结构,考核学生对循环次数和循环语句的掌握。21.D【详解】本题考查查找算法。根据查找算法思想,如果查找的数据元素不存在,仍然可以进行查找。第1次i=1,j=8,m=4,查找访问a(4)和查找的数不相等。第2次,i=5,j=8,m=6,查找到的数据是a(6)=23,故本题选项D的说法正确。22.A【详解】本题主要考查程序设计语言的发展。计算机程序设计语言的发展所经历的主要阶段依次为机器语言、汇编语言和高级语言,故本题选A选项。23.B【详解】本题考查二分查找相关内容。设i=1,j=5,第一次查找m=(1+5)//2=3,a(3)=25<36,i=m+1=4;第二次循环,m=(4+5)//2=4,a(4)=36,查找成功,结束查找。故依次被访问到的编号是25、36,故本题答案是B选项。24.C【详解】25.B【详解】本题考查VB冒泡排序算法。首先由i的范围确定排序趟数为3;然后看j的范围确定是从前往后排序,接着由判断条件“If d(j)<d(j―1)”可知,是升序排序。再看输出语句“Textl.Text=Str(d(i))+Text1.Text”可知,是后面出来的数字排在前面,即倒着输出,把六个数据代入,进行排序,可知结果为“35 5 18”,选项B正确。26.A【详解】本题考查的是流程图相关知识。根据流程图可知,该流程完整执行1次,“a<32 ”共执行了3次,判断框下的处理框共执行了2次,最后k=1,s=1+1*8+0*16,a=32,故选项BCD错误,因此A选项正确。【点睛】27.C【详解】本题考查VB程序段。根据a(i)=Int(Rnd*21)*2+11,a数组是[11,51]之间的奇数,并且一定执行a(i)=a(i)+2,那么a数组是[13,53]之间的奇数,故本题选C。28.A【详解】这个题目和前面的5个灯可以表达多少种状态时一个类型,根据排列组合,是2的4次方种。用二进制表达就是:0000…0001…0010……1111.29.C【详解】本题考查的是程序语言。程序设计语言可以分为:机器语言、汇编语言(低级语言)、高级语言。机器语言是由二进制 0、1 代码指令构成,能够被计算机直接识别和执行。汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系。高级语言是面向用户的、基本上独立于计算机种类和结构的语言。故选项C正确。30.A【详解】本题考查的知识点是VB函数的应用。A选项:Int()是数值取整函数,Int(-5.0)=-5;B选项:Abs()是计算数值绝对值函数,Abs(-5)=5;C选项:Sqr()是计算数值平方根函数,Sqr(25)=5;D选项:Len()是计算字符串长度函数,Len(“20201”)=5。选择运算结果不是5的一项,故正确答案为A选项。31.A【详解】本题主要考查VB程序的执行。a=2,b=3,a=a+b=5,b=b-a=3-5=-2,a=a+b=5-2=3,故本题选A选项。32.B【详解】本题主要考查枚举算法的应用。统计1~1000间个位数是4,且能被9整除的数共有多少个,可以采用的算法是枚举算法,穷尽所有可能的数,故本题选B选项。33.A【详解】34.A【详解】本题主要考查if条件的嵌套。a=2,b=3,不满足a>5,执行else部分,不满足b>3,执行c=a mod b=2,故程序段执行后整型变量c的值为2,故本题选A选项。35.C【详解】本题考查的是VB循环、选择语句。阅读程序可知,cnt表示出列人数,故(1)处选④;i是人的编号,10个人围成一圈,报完一圈后i=10,当i=11时,实际上回到第一个人,故(2)选②;a(i)表示编号为i的人是否已经出列,由前面not a(i),可以推出出列应是a(i值为真,故(3)应选③,选项C正确。36.C【详解】本题考查的是VB循环语句。阅读程序,该程序思想是:将第1个字符取出,后将后面的字符逐位往前移,最后把将第1个字符给后面a(n);将第1个字符取出,后将后面的字符逐位往前移,最后把将第1个字符给后面a(n-1),依次类推;由For j= I + 1 To n可知①要a(j-1)=a(j);②中要为下一个字符移位准备,应为n=n-1。故选项C正确。37.B【详解】本题考查的是排序。选择排序交换次数较小。第一遍:交换8和100,交换后:100,23,4,16,77,-5,53,8;第二遍:77和23交换,交换后:100,77,4,16,23,-5,53,8;第三遍:53和4交换,交换后:100,77,53,16,23,-5,4,8;第四遍:23和16交换,交换后:100,77,53,23,16,-5,4,8;第五遍:8和-5交换,交换后:100,77,53,23,16,8,4,-5。数组已经有序,故最少需要交换5次,选项B正确。38.B【详解】本题主要考查程序设计语言。C语言、Python、Java、C#均属于高级编程语言,PS是应用软件,即Photoshop,故本题选B选项。39.D【详解】本题主要考查对分查找算法。对分查找用二叉树表示如下,查找右子树n递增,查找左子树n递减,结合选项可知key的值可能为17或29,故本题选D选项。40.B【详解】41.(1)a(i)=1(2)j=j Mod n +1【详解】(1)在游戏开始前,每个人都可能是起点,故都应该初始化为1,故为:a(i)=1;(2)由于每一轮循环后都会淘汰一些人,故而序号不是连续递增的,故而要用:j=j Mod n+142. Caption 10^k c=c+1 枚举【详解】本题考查的是VB程序相关知识。(1)Caption属性是控制按钮在窗体上显示数据。(2)由题干可知,k表示数字n的位数,t表示数字n平方的最后k位,所以①答案是10^k;IF语句是判断数字n是否是自守数,如果满足条件,在List1中添加该数字,并统计个数,所以②答案是c=c+1;(3)题中代码列举出了自守数的所有可能,所以该算法是枚举算法。43.Text2.text=Str(BZ)【详解】本题考查VB编程基础。因为Text2.text中显示的是字符串类型,王明要将变量BZ赋值给Text2.text输出,需要将BZ转化为字符串,即Text2.text=Str(BZ)。44.(1)school.accdb(1分)(2)Text4.Text = adors.Fields("score").Value(1分)【详解】45. 34 4【详解】本题考查的是对分查找。对分查找的基本思想是在有序的数列中,首先将要查找的数据与有序数列内处于中间位置的数据进行比较,如果两者相等,则查找成功;否则就根据数据的有序性,再确定该数据的范围应该在数列的前半部分还是后半部分;在新确定的缩少范围内,继续按上述方法进行查找,直到找到要查找的数据,即查找成功,如果要查找的数据不存在,即查找不成功。第一次查找的数组元素是:34;第二次查找的数组元素是:46;第三次查找的数组元素是:61;第三次查找的数组元素是:85。46. 1 2【详解】本题主要考查程序语句。①x=1,a=x=1。②b=x+1=1+1=2。47.(2*a)/(c+ d)【详解】48.54、54;顺序【详解】49. 第3 if price>=500 then【详解】本题考查的知识点是VB程序设计。分析代码可知,本程序是一个if……then的选择结构。③ 处的 “if price>=500”语句少了关键字then。故错误语句在③处,即第3行。正确语句为if price>=500 then。填写答案为:第3;if price>=500 then。50.当前窗体【详解】本题主要考查VB窗体的操作。UNLOAD.ME 的含义是卸载自己(即卸载当前窗体)。 展开更多...... 收起↑ 资源预览