1、高中信息技术选考加试部分加试部分(15分)一、选择题(本大题共4小题,每小题2分,共8分。在每小题给出的四个选项中,只有一个是符合题目要求的。1、原创已知x=17,y= -315,则VB表达式x+Len(y)的值为( )A298 B17 C21 D173152、执行如下Visual Basic程序段时,出现了如下图所示的错误:Private Sub Command1_Click()Dim a As Integer, b As Integera = 5: b = 8b = a + blabel1.Caption = Str(b)End Sub引发此错误的语句可能为()ADim a As Inte
2、ger, b As Integer Ba = 5: b = 8Cb = a + b Dlabel1.Caption = Str(b)3、原创国内特快专递每200克为一个计费单位,200克以内22元,200克以上每续重200克(不足200克以200克计算)8元,现在要编写一个程序输入包裹重量自动计算出价格。解决上述问题,最合适的算法是( )A解析算法 B枚举算法 C排序算法 D递归算法4、原创用对分查找法从数列3,6,7,10,12,16,25,30,75中找到数据10的最少查找次数是( )A 2 B 4 C 3 D 7二、综合题(本大题共3小题,其中第5小题2分,第6小题3分,第7小题2分,共
3、7分)5、根据2011年9月高考题改编下列VB程序运行时,单击命令按钮Command1后,文本框Text1中显示的内容是_,文本框Text2中显示的内容是_。Private Sub Command1_click( ) Dim a(1 to 3) as integer,k as integer,t as integer,s as integer a(1)=15: a(2)=36: a(3)=7 s=0 For k=2 to 3if a(k)a(1) then t=a(1):a(1)=a(k):a(k)=t s=s+1End if Next k text1.text=str(a(1) text2.
4、text=str(s)End sub6、原创下列程序的功能是在text1中输入的自然数,分解为3个互不相同的质数(三个质数的和等于输入的自然数),并把分解产生的质数按升序顺序显示在左边的列表框中。例如,输入20,那么在列表框中会显示如右图所示结果。其中,上述界面中“开始处理”按钮的名称是“Command1”,程序中函数f(x)的功能是判断x是否为质数,如果是质数则返回值为true,否则返回false。请在下列程序代码的基础上按照要求设计该程序, 完善程序中的划线部分。Dim n As Integer, a1 As Integer, a2 As Integer, a3 As IntegerFun
5、ction f(x) As Booleanf = True For i = 2 To Sqr(x) If x Mod i = 0 Then _Next iEnd FunctionPrivate Sub Command1_Click()n = _For a1 = 2 To n For a2 = a1 To n For a3 = a2 To n If _ And f(a1) And f(a2) And f(a3) Then List1.AddItem (Str(a1) + + Str(a2) + + Str(a3) End If Next a3 Next a2Next a1End Sub7、根据2
6、015年一点通中的试题改编有一Access数据库“school.accdb” 存放在f:2015mtvb文件夹中,其中的“student”数据表用来存储学生的基本情况信息,包括学号(num)、姓名(name)、性别(sex)、分数(score),括号内的为对应字段名。下列VB程序用来实现根据学号查询并显示学生信息,运行界面如下图所示。在文本框Text1中输入学生的学号,单击“查询”,在文本框Text2、Text3 、Text4中分别显示学生姓名、性别、分数。Private Sub Command1_Click()Dim adocn As New adodb.ConnectionDim ador
7、s As New adodb.RecordsetDim str2 As String, str1 As Stringstr1 = Provider=Microsoft.ACE.OLEDB.12.0;data source=f:2015mtvb_adocn.Open str1str2 = select * from students where num= + Text1.Textadors.Open str2, adocn, adOpenDynamic, adLockOptimisticIf adors.EOF = True Then MsgBox 你输入的学号不存在Else Text2.Tex
8、t = adors.Fields(name).Value Text3.Text = adors.Fields(sex).Value _End If adors.Closeadocn.CloseEnd Sub4. 某餐厅在团购网站上推出了98元享原价198元的套餐团购活动,但规定每天接受团购券数量是有限制的,表示此餐厅是否接受团购券的算法如下:number0 团购券数量用变量number表示。Do While number=29读入用餐顾客的情况If 使用团购券顾客 then变量number增加1允许使用团购券进行消费End IfLoop对于上述算法,下列说法错误的是( )A每天允许使用团购券数
9、量最多是30 B代码“变量number增加1”和“允许使用团购券进行消费”互换位置是可行的 C此算法的循环结构可以用For语句来实现 D此算法是用自然语言来描述的【根据信息技术学业水平测试综合模拟卷(3)改编】5.有8个西瓜的重量(单位:斤)分别是5.2,4.5,4.1,3.5,8.3,7.4,3.8,7.5。若采用选择排序算法对其进行从小到大排序,共需交换数据的次数是( )A4 B5 C6 D7二、主观题6. 有如下Visual Basic程序:Private Sub Command1_Click( ) Dim s As Integer Dim I As Integer S=0 For i=
10、1 To 10 s=s+i7 Next i Text1.text=str(s)End sub该程序段运行后,文本框Text1中显示_ 7. 输入一个三位数的整数,要求将此三位数的各位上的数字重新排列,组成一个尽可能大的三位数。例如:输入213,重新排列可得到尽可能大的三位数是321。现要求编写VB程序(运行界面如第16题-1图所示),实现如下功能:在文本框Text1中输入一个三位数整数,单击“求解”按钮Command1,在文本框Text2中显示重新组合后的最大三位数整数。某同学按此要求编写的程序如下,其中函数max(x)用于求解最大三位数整数,但加框处代码有错,请改正。_ _Function
11、max(x As Integer) As Integer Dim a As Integer, b As Integer, c As Integer, t As Integer a = x 100 b = (x 10) 10 c = x mod 10 If a b Then t = a: a = b: b = t If a c Then t = a: a = c: c = t If b c Then t = c: c = b: b = t max = c* 100 + b * 10 + a End Function Private Sub Command1_Click() Dim n As In
12、teger, y As Integer n = Val(Text1.Text) y = max(n) Text2.Text = Str(y)End Sub【根据2013年9月浙江省高考卷改编】8下列VB程序的功能是:程序运行时,单击命令按钮Commandl后,产生10个1,999范围内互不相同的随机整数,依次显示在列表框List1中,然后将它们按从小到大的顺序排序,排序结果显示在列表框List2中。 数组a用于存储产生的10个随机整数,函数f(x)用于判断随机整数x与已生成的整数是否有重复,若有重复则返回True,否则返回False。(1)虚线框内程序段所采用的排序算法名称是 。(填:冒泡排序
13、/选择排序)(2)在程序(1)和(2)划线处,填入适当的语句或表达式,把程序补充完整。Dim a(1 To 10) As IntegerFunction f(x As Integer) As Boolean 代码略End FunctionPrivate Sub Commandl_Click()Dim n As Integer n用于统计已经产生的随机整数个数Dim i As Integer.j As IntegerDim x As Integer.k As IntegerRandomize 初始化Rnd函数n=0List1.Clear 清除列表框中内容List2.ClearDo While n
14、10 x=Int(Rnd*999)+1 产生1,999范围内的随机整数 If Not f(x) Then n=n+1 a(n)=x List1.AddItem Str( (1) ) End IfLoopFor i=1 To 9 进行排序For j=10 To i+1 (2) If a(j) 0.5 Then第3题图 n = n + 1 Else m = m + 1Next i 小金仔细分析该程序段后,发现其中缺少了( )AFor BEnd If CNext DIf参考答案:B预设难度:0.55命题意图:考核VB基本控制结构及语句实现,考生只要知道选择语句,If开始必须用End If结束,就可以
15、选出本题答案。4【原创】有6位学生的身高分别为165,170,172,175,176,180。其中,小民的身高为175,若老师采用对分查找法想要找到小民,则需要找多少次才能够找到( )A2 B3 C4 D5参考答案:B预设难度:0.75命题意图:本题考核考生对对分查找算法原理的掌握,依据原理便可算出所需查找次数为3次。二、综合题(本大题有3题,第5题2分,第6题6分,第7题6分,共14分)5.【根据网上免费下载试题改编】下列VB程序运行时,在文本框Text1中输入“h”后,单击命令按钮Command1后,标签框Label1中显示的内容是_ _。Private Sub Command1_Clic
16、k()Dim a As Stringa = Text1.Texta = Chr(Asc(a) - 32)Label1.Caption = aEnd Sub参考答案:H预设难度:0.7命题意图:本题考核VB基本语句含义的理解,通过理解每个VB语句的含义可以得知,本题实现的是把小字字母转换成大写字母的功能,故根据题意可得出答案是H。6.【根据零距离模拟卷试题改编】素数:只能被1和它本身整除的自然数。要求编写VB程序找出任意两个整数之间中所有的素数及个数,程序运行界面如下图所示。第6题图请根据算法将下列程序补充完整。Function prime(a As Integer) As Boolean Di
17、m j As Integer prime = True j = 2 Do While prime And j = 2000 And jf 20000 And jf 50000 And jf 100000 And jf 150000 Then Cash = jf2000*14End IfEnd FunctionPrivate Sub Form_Load() Dim conn As New ADODB.Connection, rs As New ADODB.Recordset Dim intSQL As Long conn.ConnectionString = Provider=Microsoft
18、.ACE.OLEDB.12.0;Data Source= + App.Path + customer.accdb conn.Open intSQL = SELECT score FROM Integral Set rs.ActiveConnection = conn rs.CursorType = adOpenStatic rs.Open intSQL sc = 0 Do While Not rs.EOF sc = sc + 1 total(sc) = rs.Fields(score) rs.MoveNext Looprs.Close conn.Close Set rs = Nothing S
19、et conn = NothingEnd Sub(1)加框处有错,应改为_。(2)加框处有错,应改为_。参考答案:(1)q = cash(jf) (2)ElseIf jf 150000 Then预设难度:0.55命题意图:本题考核VB基本语句含义的理解、修改,自定义函数的理解,VB访问Access数据库的理解。第II卷 加考模块(15分)一、选择题(本大题4小题,每小题2分,共8分。选出各题中一个符合题意的正确选项,不选、多选、错选均不给分)1三个正整数a、b、c满足等式a2+b2=c2,a、b、c称为“勾股数”,求出100以内所有“勾股数”可采用的算法是 【原创】 ( )A.枚举算法 B.解
20、析算法 C.冒泡排序 D.顺序查找2以下语句运行后变量c的值是 【原创】 ( ) a=”2009” b=”2008” c=Val(a)+Val(b)A.2009+2008 B.4017 C.”20092008” D.200920083表达式Len(“doodluck”)+2 Mod 3+Int(3.9999)的值为 【原创】 ( )A.12 B.13 C.14 D.表达式运算出错4某校5名学生会推荐成员网络人气得票数依次为1201,2120,1009,1987,2009,若采用选择排序算法对其进行从大到小排序,则第二趟的排序结果是 ( )原始数据12012120100919872009第一趟2
21、1201201100919872009第二趟第三趟21202009198710091201第四趟21202009198712011009【根据2010年会考选择题改编】A. 2120 2009 1009 1987 1201B. 2120 2009 1009 1201 1987C. 1009 1201 2120 1987 2009D. 1009 1201 2009 2120 1987二、综合题(本大题2小题,其中第1题2分,第2题第(1)小题1分,(2)(3)题各2分,共7分)1下列程序的功能是从键盘上任意输入一个数,判断这个数是正数,负数,还是零,并输出判断结果。程序中加框处有错误,请改正。【
22、根据2011年高考总复习填空题改编】 Private sub Command1_Click() Dim a As Single Dim py As String a= Val (Text1) (1) If a0 Then py =”正数” If a=0 Then py=”零” If a0 Then py=”负数” Label3.Caption=a(2) End Sub(1)_(2)_ 2在我国古代孙子算经中曾经提出这样一个问题,原文是这样的:“今有物,不知其数,三三数之,剩二;五五数之,剩三;七七数之,剩二;问物几何?”试用枚举算法来解决这一个问题。现分析如下,所寻找之数为满足如下条件的自然数:以3除余2,以5除余3,以7除余2。程序将从自然数1开始依次寻找,逐一判断某一自然数是否满足全部条件,直至在指定范围内找到满足条件的所有自然数。程序代码如下,请补充完整。【根据2011年高考总复习填空题改编】第18题图第2题图Private Sub Command1_Click()Dim sum As Integer sum 用来统计符合条件的自然数个数Dim n, max As IntegerL
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1