收藏 分销(赏)

高中信息技术选考加试部分.docx

上传人:仙人****88 文档编号:5607190 上传时间:2024-11-14 格式:DOCX 页数:22 大小:342.22KB 下载积分:10 金币
下载 相关 举报
高中信息技术选考加试部分.docx_第1页
第1页 / 共22页
高中信息技术选考加试部分.docx_第2页
第2页 / 共22页


点击查看更多>>
资源描述
加试部分(15分) 一、选择题(本大题共4小题,每小题2分,共8分。在每小题给出的四个选项中,只有一个是符合题目要求的。 1、[原创]已知x=17,y= "-315",则VB表达式x+Len(y)的值为( ) A.-298 B.17 C.21 D."17-315" 2、执行如下Visual Basic程序段时,出现了如下图所示的错误: Private Sub Command1_Click() Dim a As Integer, b As Integer a = 5: b = 8 b = a + b label1.Caption = Str(b) End Sub 引发此错误的语句可能为(  ) A.Dim a As Integer, b As Integer B.a = 5: b = 8 C.b = a + b D.label1.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分,共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 3 if a(k)>a(1) then t=a(1):a(1)=a(k):a(k)=t s=s+1 End if Next k text1.text=str(a(1)) text2.text=str(s) End sub 6、[原创]下列程序的功能是在text1中输入的自然数,分解为3个互不相同的质数(三个质数的和等于输入的自然数),并把分解产生的质数按升序顺序显示在左边的列表框中。例如,输入20,那么在列表框中会显示如右图所示结果。其中,上述界面中“开始处理”按钮的名称是“Command1”,程序中函数f(x)的功能是判断x是否为质数,如果是质数则返回值为true,否则返回false。 请在下列程序代码的基础上按照要求设计该程序, 完善程序中的划线部分。 Dim n As Integer, a1 As Integer, a2 As Integer, a3 As Integer Function f(x) As Boolean f = True For i = 2 To Sqr(x) If x Mod i = 0 Then _____________ Next i End Function Private 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 a2 Next a1 End Sub 7、[根据2015年一点通中的试题改编]有一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.Connection Dim adors As New adodb.Recordset Dim str2 As String, str1 As String str1 = "Provider=Microsoft.ACE.OLEDB.12.0;data source=f:\2015mt\vb\_____________" adocn.Open str1 str2 = "select * from students where num=" + Text1.Text adors.Open str2, adocn, adOpenDynamic, adLockOptimistic If adors.EOF = True Then MsgBox "你输入的学号不存在" Else Text2.Text = adors.Fields("name").Value Text3.Text = adors.Fields("sex").Value ________________________________________ End If adors.Close adocn.Close End Sub 4. 某餐厅在团购网站上推出了98元享原价198元的套餐团购活动,但规定每天接受团购券数量是有限制的,表示此餐厅是否接受团购券的算法如下: ①number=0  ′团购券数量用变量number表示。 ②Do While number<=29 ③读入用餐顾客的情况 ④If 使用团购券顾客 then 变量number增加1 允许使用团购券进行消费 End If ⑤Loop 对于上述算法,下列说法错误的是( ) A.每天允许使用团购券数量最多是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。若采用选择排序算法对其进行从小到大排序,共需交换数据的次数是( ) A.4 B.5 C.6 D.7 二、主观题 6. 有如下Visual Basic程序: Private Sub Command1_Click( ) Dim s As Integer Dim I As Integer S=0 For i=1 To 10 s=s+i\7 Next i Text1.text=str(s) End sub 该程序段运行后,文本框Text1中显示_______________ 7. 输入一个三位数的整数,要求将此三位数的各位上的数字重新排列,组成一个尽可能大的三位数。例如:输入213,重新排列可得到尽可能大的三位数是321。 现要求编写VB程序(运行界面如第16题-1图所示),实现如下功能:在文本框Text1中输入一个三位数整数,单击“求解”按钮Command1,在文本框Text2中显示重新组合后的最大三位数整数。某同学按此要求编写的程序如下,其中函数max(x)用于求解最大三位数整数,但加框处代码有错,请改正。 ①___________________ ②___________________ Function max(x As Integer) As Integer Dim a As Integer, b As Integer, c As Integer, t As Integer 第7题图 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 Integer, 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)虚线框内程序段所采用的排序算法名称是 。(填:冒泡排序/选择排序) (2)在程序(1)和(2)划线处,填入适当的语句或表达式,把程序补充完整。 Dim a(1 To 10) As Integer Function f(x As Integer) As Boolean ′代码略 End Function Private Sub Commandl_Click() Dim n As Integer ′n用于统计已经产生的随机整数个数 Dim i As Integer.j As Integer Dim x As Integer.k As Integer Randomize ′初始化Rnd函数 n=0 List1.Clear ′清除列表框中内容 List2.Clear Do While n<10 x=Int(Rnd*999)+1 ′产生[1,999]范围内的随机整数 If Not f(x) Then n=n+1 a(n)=x List1.AddItem Str( (1) ) End If Loop For i=1 To 9 ′进行排序 For j=10 To i+1 (2) If a(j)<a(j-1) Then k=a(j):a(j)=a(j-1):a(j-1)=k End If Next j Next i For i=1 To 10 List2.AddItem Str(a(i)) Next i End Sub 【根据2013年3月浙江省信息技术高考卷改编】 一、选择题(本大题有4小题,每小题4分,共16分。在每小题给出的四个选项中,只有一个是符合题目要求的。) 1.【根据网上免费下载试题改编】第1题图所示,有一幅8×8像 素的黑白图像,如果该图像的每一行按照从左到右编码,且第一行编码为10010010,那么第三行的编码的16进制表示为( ) 第1题图 A.51H B.D5 H C.AE H D.52 H 参考答案:A 预设难度:0.65 命题意图:考核字符编码和进制转换的知识。解题依据是由第一行编码可知黑色用0表示,白色用1表示,由此可知第三行编码为01010001,转换成16进制后即为51H。 2.【原创】表达式 len(“Good Morning”)+2 mod 3 +int(3.9999)的值为( ) A.15 B.16 C.17 D.表达式运算出错 参考答案:C 预设难度:0.6 命题意图:考核考生对VB常用标准函数涵义及应用的掌握程度。 3.【根据网上免费下载试题改编】小金编写了一个 统计随机数分布的VB程序,部分程序如下所示,在调试程序的时候出现如右图所示的错误信息: n = 0 : m = 0 For i = 1 To 100 If Rnd > 0.5 Then 第3题图 n = n + 1 Else m = m + 1 Next i …… 小金仔细分析该程序段后,发现其中缺少了( ) A.For B.End If C.Next D.If 参考答案:B 预设难度:0.55 命题意图:考核VB基本控制结构及语句实现,考生只要知道选择语句,If开始必须用End If结束,就可以选出本题答案。 4.【原创】有6位学生的身高分别为165,170,172,175,176,180。其中,小民的身高为175,若老师采用对分查找法想要找到小民,则需要找多少次才能够找到( ) A.2 B.3 C.4 D.5 参考答案:B 预设难度:0.75 命题意图:本题考核考生对对分查找算法原理的掌握,依据原理便可算出所需查找次数为3次。 二、综合题(本大题有3题,第5题2分,第6题6分,第7题6分,共14分) 5.【根据网上免费下载试题改编】下列VB程序运行时,在文本框Text1中输入“h”后,单击命令按钮Command1后,标签框Label1中显示的内容是____ ____。 Private Sub Command1_Click() Dim a As String a = Text1.Text a = Chr(Asc(a) - 32) Label1.Caption = a End Sub 参考答案:H 预设难度:0.7 命题意图:本题考核VB基本语句含义的理解,通过理解每个VB语句的含义可以得知,本题实现的是把小字字母转换成大写字母的功能,故根据题意可得出答案是H。 6.【根据零距离模拟卷试题改编】素数:只能被1和它本身整除的自然数。要求编写VB程序找出任意两个整数之间中所有的素数及个数,程序运行界面如下图所示。 第6题图 请根据算法将下列程序补充完整。 Function prime(a As Integer) As Boolean Dim j As Integer prime = True j = 2 Do While prime And j <= a \ 2 If a Mod j = 0 Then prime = False Exit Do End If ① Loop End Function Private Sub Command1_Click( ) Dim i As Integer, a As Integer, b As Integer Dim count As Integer a = Val(Text1.Text) b = Val(Text2.Text) For i = a To b If ② = True Then List1.AddItem Str(i) count = count + 1 End If Next i Label1.Caption = "素数共有" + Str(count) + "个!" End Sub 参考答案:① j = j + 1 ② prime(i) 预设难度:0.5 命题意图:本题考核VB基本语句含义的理解,自定义函数的应用。 7.【原创】某商场元月举行VIP客户积分换购活动,VIP客户根据卡内积分多少可换取不同额度的代金券。假设VIP客户共有n名,VIP卡内积分存放在数据库“customer.accdb”的Integral表中,换购活动的VB程序代码如下,程序运行时界面如第7题图所示。工作人员在文本框Text1中输入VIP卡号后,单击“换购”按钮Command1,在文本框Text2中输出VIP客户的积分数,在标签Label3中显示可以换购的代金券额度,积分清零。按此要求编写程序如下, 但加框处代码有错,请改正。 第7题图 Dim ID( ) As String '用于存放客户卡号 Dim total( ) As Long '用于存放积分数 Dim sc As Long 'VIP客户人数 Dim jf As Long '积分数 Private Sub Command1_Click( ) Dim k As String '客户卡号 Dim q As Long '代金券额度 Dim i As Long k = Text1.Text For i = 1 To sc ’顺序查找 If ID(i) = k Then jf = total(i) cash(jf) = q ’ ① Exit For End If Text2.Text = Str(jf) Label3.Caption = “您可换购的代金券总额为:”+ Str(q) + “元” Next i End If End Sub ' cash函数用于计算VIP客户可换购的代金券额度 Function cash(jf As Long) As Long If jf >= 2000 And jf <= 20000 Then Cash = jf\2000*10 ElseIf jf > 20000 And jf <= 50000 Then Cash = jf\2000*11 ElseIf jf > 50000 And jf <= 100000 Then Cash = jf\2000*12 ElseIf jf > 100000 And jf <= 150000 Then Cash = jf\2000*13 Else jf > 150000 Then ’ ② Cash = jf\2000*14 End If End Function Private Sub Form_Load() Dim conn As New ADODB.Connection, rs As New ADODB.Recordset Dim intSQL As Long conn.ConnectionString = "Provider=Microsoft.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 Loop rs.Close conn.Close Set rs = Nothing Set conn = Nothing End 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.解析算法 C.冒泡排序 D.顺序查找 2.以下语句运行后变量c的值是 【原创】 ( ) a=”2009” b=”2008” c=Val(a)+Val(b) A.2009+2008 B.4017 C.”20092008” D.20092008 3.表达式Len(“doodluck”)+2 Mod 3+Int(3.9999)的值为 【原创】 ( ) A.12 B.13 C.14 D.表达式运算出错 4.某校5名学生会推荐成员网络人气得票数依次为1201,2120,1009,1987,2009, 若采用选择排序算法对其进行从大到小排序,则第二趟的排序结果是 ( ) 原始数据 1201 2120 1009 1987 2009 第一趟 2120 1201 1009 1987 2009 第二趟 第三趟 2120 2009 1987 1009 1201 第四趟 2120 2009 1987 1201 1009 【根据2010年会考选择题改编】 A. 2120 2009 1009 1987 1201 B. 2120 2009 1009 1201 1987 C. 1009 1201 2120 1987 2009 D. 1009 1201 2009 2120 1987 二、综合题(本大题2小题,其中第1题2分,第2题第(1)小题1分,(2)(3)题各2分,共7分) 1.下列程序的功能是从键盘上任意输入一个数,判断这个数是正数,负数,还是零,并输出判断结果。程序中加框处有错误,请改正。【根据2011年高考总复习填空题改编】 Private sub Command1_Click() Dim a As Single Dim py As String a= Val (Text1) (1) If a>0 Then py =”正数” If a=0 Then py=”零” If a<0 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 Integer List1.Clear sum = 0 max = _______(1)______________ '指定查找范围的最大自然数,Text1文本框中输入' n = 0 Do While n <= max n = n + 1 '从自然数1开始不断往上寻找' If ____________(2)______________________________Then List1.AddItem Str(n) '找到后在List1中显示结果' _______________(3)___________________ End If Loop List1.AddItem ("共计" + Str(sum) + "个") End Sub (1)_______________________________________ (2)_______________________________________ (3)________________________________________ 加试部分 一、选择题(本大题共有4小题,每小题2分,共8分) 在每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分。 1.[原创]小王利用GlodWave编辑一段声音,通过状态栏的观察,该声音的存储容量的计算式子为: A.44100*1411*2*60*2/8/1024/1024MB B.44100*16*2*60*2/8/1024/1024MB C.44100*1411*43.281*2/8/1024/1024MB D.44100*16*43.281*2/8/1024/1024MB 2. [原创]下列VB的表达式值为的是65的是: A. Len(“65”) B.Str(“6”)+“5” C.Mid(“2065”,3,2) D. Asc(“B”) 3. [原创]有一组数据为“2、3、5、5、7、7、8”,利用顺序查找和对分查找查找5时,则分别查找几次可以找到目标值: A.3 无法使用对分查找 B.4 无法使用对分查找 C.3 1 D.4 1 4.[改编自一点通算法巩固练习第3题]A班一组同学的英语成绩分别为24、27、16、15、24、18,下列采用排序算法及第二遍的排序结果分别为: 原始数据 24 27 16 15 24 18 第一遍 27 24 16 15 24 18 第二遍 第三遍 27 24 24 15 16 18 第四遍 27 24 24 18 16 15 第五遍 27 24 24 18 16 15 A.冒泡排序,27 24 16 15 24 18 B.冒泡排序,27 24 18 16 15 24 C.选择排序,27 24 16 15 24 18 D.选择排序,27 24 18 16 15 24 二、综合题 1.[原创]下列VB程序运行时,单击Command1后,标签Label1中显示的内容是 Private Sub Command1_Click() Dim s As Integer, j As Integer s = 0 For j = 1 To 10 If j Mod 2 <> 0 Then s = s + j End If Next j Label1.Caption = Str(s) End Sub 2. [原创]小王设计了一个程序来列举仁川亚运会的奖牌前三的国家。下列VB程序实现如下功能:单击命令按钮Command1后,在列表框List1中按奖牌数由多到少显示国家名称,如第2题图。 第2题图 请根据算法将下列程序补充完整。 Dim a(1 To 45) As String Dim b(1 To 45) As Integer Private Sub Form_Load() a(1) = "中国" b(1) = 308 ‘45个代表团名称及奖牌数分别放在a(1)到a(45)及b(1)到b(45)中 End Sub Private Sub Command1_Click() Dim i As Integer,j As Integer Dim t As Integer,f As Integer List1.Clear For i = 1 To 3 For j =  To 2 Step -1 If ‚ Then f = a(j): a(j) = a(j - 1): a(j - 1) = f t = b(j): b(j) = b(j - 1): b(j - 1) = t End If Next j Next i For i = 1 To 3 List1.AddItem "第" + Str(i) + "名" + a(i) + " 奖牌数" + Str(b(i)) Next i End Sub 3.[改编自一点通算法与程序设计第五章综合题]王五为学生们设计了学校食堂学生校园卡查询系统,在终端机上输入学生的校园卡卡号,可以查出该卡对应的学生姓名及相应的余额。 校园卡信息存储在一个综合的数据库“school.mdb”,其中的“Yue”数据表用来存储学生的校园卡基本信息,包括学号(num)、姓名(name)、余额(money),括号内的为对应字段名。下列VB程序用来实现根据学号查询并显示学生姓名及余额,运行界面如第3题图所示: 第3题图 数据库文件与应用程序在同一文件夹中,在文本框Text1中输入学生的学号,单击“查询”按钮,在标签Label4、Label5中分别显示学生姓名和余额。 Private Sub Command1_Click() Dim adocn As new connection Dim adors As new recordeset Dim str1 As string,str2 as string Str1=”driver=microsoft access driver(*.mdb);dbq=”&app.path&”\  .mdb” Adon.open str1 Str2=”select * from Yue where ‚ =’”+text1.text+”’” Adors.open str2,adocn,adOpenDynamic,adLockOptimistic If adors.eof then Msgbox”你输入的学号不存在!” Else Label4. caption =adors.Fields(“name”).value ƒ =adors.Fields(“money”).value Endif Adors.close Adocn.close End Sub 为了实现上述目标,在画线处填入合适的语句或表达式:  ‚ ƒ 加试部分 一、选择题(本大题有4小题,每小题4分,共16分。在每小题给出的四个选项中,只有一个是符合题目要求的。) 1.【原创】已知t=55.8,s=64,m=-81,则下列Visual Basic表达式的值为False的是( ) A.t < abs(m)and int(t)+8 >= s B.int(m)> s or t < abs(m) C.sqr(s)+ t < abs(m) D.t > s + m 参考答案:A 预设难度值:0.6 命题意图:本题意图考核VB表达式及VB常用函数的相关知识。int(55.8)=55而不是56,所以A选项int(t)+8 >= s的值为False,t < abs(m)的值为True,False and True的值为False。B选项int(m)> s 的值为False,t < abs(m)的值为True,False or True的值True。C选项中的sqr(s)是求s的算术平方根,C、D选项的表达式的值都为真。 2.【根据2011年9月高考试题改编】下列VB程序模块可以计算正
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服