您好,欢迎来到年旅网。
搜索
您的当前位置:首页高三信息技术试题答案及解析

高三信息技术试题答案及解析

来源:年旅网
高三信息技术试题答案及解析

1. 下面程序的功能是:计算表达式1+3+5+…+(2n-1)的值,程序运行时在文本框Text1中输入n的值,计算结果在文本框Text2中输出。则程序中加框处的语句应分别更正为: (1)__________________ (2)__________________ Private Sub Command1_Click()

Dim sum As Long,i As Integer,n As Integer sum = 0

n =Val( Text1.Text)

For i =\" 1\" To 2 * n - 1 Step 2 sum =\" sum\" + 2 Next i

Text2.label=Str(sum) End Sub

【答案】(1)sum =\" sum\" + i (2)Text2.Text = Str(sum)

2. 某查找算法的部分VB代码如下:

shifouzhaodao = False ‘shifouzhaodao:是否找到 szysxh = 0 ‘szysxh:数组元素序号

Do While szysxh < 5 And not shifouzhaodao szysxh =\" szysxh\" + 1

if dczsz(szysxh) =\" Key\" then shifouzhaodao = true Loop

if not shifouzhaodao then szysxh = 0

数组元素dczsz (1)到dczsz (5)的数据依次为“-1,3,7,10,7”,当变量key值为7时,运用该算法处理后,变量i的值是( ) A.0 B.-1 C.3 D.5

【答案】C

3. 王五为学生们设计了学校食堂学生校园卡查询系统,在终端机上输入学生的校园卡卡号,可以查出该卡对应的学生姓名及相应的余额。

校园卡信息存储在一个综合的数据库“school.mdb”,其中的“Yue”数据表用来存储学生的校园卡基本信息,包括学号(num)、姓名(name)、余额(money),括号内的为对应字段名。下列VB程序用来实现根据学号查询并显示学生姓名及余额,运行界面如图所示:

数据库文件与应用程序在同一文件夹中,在文本框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

为了实现上述目标,在画线处填入合适的语句或表达式: • ‚ ƒ

【答案】(1)school(1分) (2)num(1分) (3)Label5.caption(1分)

4. 表达式Len(“doodluck”)+2 Mod 3+Int(3.9999)的值为( ) A.12 B.13 C.14 D.表达式运算出错

【答案】B

5. 采用冒泡排序将六个数“22,14,18,17,21,16”从小到大进行排序,则第二轮交换数据后的顺序是( )

A.14,22,16,18,17,21 B.14,16,18,17,21,22 C.14,16,22,17,18,21 D.14,22,16,17,18,21

【答案】C

【解析】本题考核的是考生冒泡排序算法执行过程的理解。

6. 下列VB程序运行时,单击命令按钮Command1后,标签框Label2中显示的内容是________ Private Sub Command1_click() Dim s as integer,I as integer S=0

For i=\"1\" to 20 step 3 s=s+(-1)^i*i Next i

Label1.caption=str(i) Label2.caption=str(s) End Sub 【答案】-10

【解析】考核的是考生阅读程序的能力。此题中,for循环语句第一循环时,i=1,s=-1;第二次循环时,因步长是3,i=4,则s=-1+4=3;依次类推,第三次循环,i=7,s=3-7=-4;i=10,s=-4+10=6;i=13,s=6-13=-7;i=16,s=-7+16=9;i=19,s=9-19=-10;i=22,i的值超出循环变量的终止值,结束循环。所以循环结束后,i的值为22显示在Tabel1标签中,s的值为-10显示在Tabel2标签中。

7. 某学校开设多样化选修课程,学生可以根据个人兴趣和特长选择选修课。假设每门选修课的选课人数不超过40,学生选课的相关信息存放在数据库文件“student.accdb”的data表中,选课查询程序运行时界面如图所示。

程序功能:在文本框Text1中输入课程号,单击“查询”按钮Command1,在列表框List1中显示选修本课程的名学生信息。如果没有找到,在列表框中显示“该课程当前无人报名”。按此要求将程

序补充完整。

Private Sub command1_click()

Dim xh(1 to 40),xm(1 to 40) As String '学号和姓名的数组 Dim i,num as integer

Dim conn As New ADODB.Connection, rs As New ADODB.Recordset Dim strSQL As String

conn.ConnectionString = \"Provider=\"Microsoft.ACE.OLEDB.12.0;Data\" Source=\" + App.Path + \"\\student.accdb\" '打开到数据库的链接 conn.Open

strSQL =\"select xh,xm from data where '课程=&(Text1.Text) & '\" '设置查询的SQL语句

Set rs.ActiveConnection = conn '设置rs的ActiveConnection属性,指定与其关联的数据库链接

rs.Open strSQL '打开记录集,将从表student中读取的结果集保存到记录集rs中 List1.Clear num=0

Do while not rs.EOF ①

xh(num)=rs.Fields(\"xh\") xm(num)=rs.Fields(\"xm\") rs.MoveNext loop rs.Close conn.close set rs=nothing set conn=nothing For i=\"1\" to num ② Next i

if num=\"0\" then list1.additem(\"该课程当前无人报名\") End Sub

(1)程序中①划线处应填入___________________。 (2)程序中②划线处应填入___________________。

【答案】(1)num=num+1 (2)List1.additem xh(i)+ \"\"+ xm(i)

【解析】本题主要考核考生应用VB访问数据库的相关知识,考核学生是否理解通过ADO对象连接数据库,通过Recordset对象获取表中的数据。

8. 某商场元月举行VIP客户积分换购活动,VIP客户根据卡内积分多少可换取不同额度的代金券。假设VIP客户共有n名,VIP卡内积分存放在数据库“customer.accdb”的Integral表中,换购活动的VB程序代码如下,程序运行时界面如图所示。工作人员在文本框Text1中输入VIP卡号后,单击“换购”按钮Command1,在文本框Text2中输出VIP客户的积分数,在标签Label3中显示可以换购的代金券额度,积分清零。按此要求编写程序如下, 但加框处代码有错,请改正。

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

【解析】本题考核VB基本语句含义的理解、修改,自定义函数的理解,VB访问Access数据库的理解。

9. 下表记录了6个数据的排序过程。分析表中数据可知,该排序采用的算法与排序方式分别为( )

原始数据 65 57 59 44 45 69 第1遍 44 65 57 59 45 69 第2遍 44 45 55 57 59 69 第3遍 44 45 57 65 59 69 … … … … … … … A.冒泡排序,升序 B.选择排序,升序 C.冒泡排序,降序 D.选择排序,降序 【答案】A

10. 小刚的支付宝账户密码忘记了,但他急用支付宝进行转账,请你帮他尽可能找回密码。他只记得自己密码的一些零星信息:

①密码是六位数字,前面两位为59; ②最后两位数字相同; ③能被12和38整除。

程序界面如1图所示,单击 “帮助找回密码”按钮(Command1)后,可能的密码显示在列表框

List1中。

(1)应用程序界面设计时,为添加“可能的密码有:”对象,应使用2图所示的“控件工具箱”中的______________(填写相应编号),并在3图所示的“属性窗口”中,将____________属性值设

置为“可能的密码有:”。

(2)解决此问题的相应程序如下,请根据题意将程序补充完整。 Private Sub Command1_click ( )

Dim x As Integer, s As Long, y As Integer, i As Integer For i =\" 0\" To 9999 S =\" 590000\" + i

If ____________ Then x=\" s\" mod 10

y =\" (s\" Mod 100) \\ 10 If x =\" y\" Then

List1.AddItem Str(s) End If End If Next i End Sub

【答案】(1)① caption (2)s Mod 12 =\" 0\" and s Mod 38 = 0

【解析】本题意图考查VB界面的设计应用和枚举算法的理解。(1)由题中所给出的界面可知,“可能的密码有:”对象是一个标签,因而选择控件工具箱中的①所在位置的控件,修改其显示的内容是修改caption属性值;(2)题干中指出“能被12和38整除”,则逻辑运算符应该为and,故if语句后的条件表达式为“s Mod 12 =\" 0\" and s Mod 38 = 0”。

11. 下列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)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

【答案】(1)冒泡排序 (2)a(n) Step-1

12. 下图所示的流程图实现的功能是求三角形的面积,回答以下问题:(共12分) (1)判断①条件为? (2分)

(2)②处应填入的VB表达式是?(2分) (3)③处应填入的VB表达式是?(2分) (4)④处应填入的内容?(2分) (5)⑤处应填入的内容?(2分)

(6)该算法采用的结构是?(2分)

【答案】(1)a+b>c and a+c>b and b+c>a(2分) (2)q=(a+b+c)/2 (2分)

(3)s=sqr(q*(q-a)*(q-b)*(q-c))(2分) (4)输出s (2分)

(5)输出不能构成三角形 (2分)

(6)选择结构(或者条件结构、分支结构)(2分)

13. 下列VB程序运行时,单击命令按钮Command1后,文本框显示的内容是 Private Sub Command1_Click()

a = 2 b = 2

Do While a <= 4 a =\" a\" * b b =\" a\" * b Loop

Text1.Text = Str(a) Text2.Text = Str(b) End Sub

Text1中显示 , Text2中显示 。 【答案】32、256

14. 萧明申请了一个网银账号,登录网银账号时要输入密码。如果密码输入的错误次数超过3次,那么当日网银账号将被锁定,次日自动解锁。下图是登陆网银的流程图,萧明不小心输入密码错误了2次,第3次才正确,那么他的操作流程应该是( )

A.①→②→③→①→②→③→①→②→③→④→⑤ B.①→②→③→①→②→③→④→⑤ C.①→②→③→④→⑤ D.①→②→③→④→⑤→⑥

【答案】A

15. 由于月球上没有大气,嫦娥三号无法依靠降落伞着陆,只能靠变推力发动机,才能完成中途修正、近月制动、动力下降、悬停段等软着陆任务,物体在月球上的重力加速度g=1.63m/s2,m为嫦娥三号的自身质量,N表示嫦娥三号产生的推力,并且推力会随着距离x的变化而改变,恒月运动数率具体公式如下:

算法流程图如下:

图中判断框②处应填入的是( ) A.x≤100 B.x≥4

C.x≤4 D.x>100

【答案】B

16. 某算法的流程图如下所示:

下列说法错误的是( )

A.该流程图中包含的算法模式有:顺序模式、分支模式和循环模式 B.当输入x的值为-100时,输出的n的值为1 C.只要输入的x的值不小于0,该程序就不会结束

D.当输入 x的值依次为1、2、3、-1时,输出的结果为4

【答案】A

【解析】本题考查的是对流程图的理解。该流程图中包含的程序模式有:顺序模式和循环模式,没有分支模式,因此A选项错误。

17. 程序运行后,单击Command1命令按钮,变量x=( )。 Private Sub Command1_Click() n =\" 5\" x =\" 1\"

For i =\" 1\" To n x =\" x\" * i Next i End Sub A.5 B.15 C.24 D.120

【答案】D

18. 如果一个4位数恰好等于它的各位数字的4次方和,则这个数被称为“玫瑰花”数。例如1634就是一个玫瑰花数:1634=14++34+44。如果要求出所有的玫瑰花数,下列算法合适的是( ) A.查找法 B.解析法 C.穷举法 D.排序法

【答案】C

19. 在已排序的数组d[数组元素d(1)≥d(2)≥…≥d(n)]中查找键值为Key的数,其对分查找的VB程序段如下: i=1:j=n xb=0

Do While i<=j m=Fix((i+j)/2) If d(m)=Key Then xb=m Exit Do End If

If d(m)>Key Then ①____ Else ②____ End If Loop

划线处的语句为( )

A.①j=m+1 ②i=m+1 B.①i=m-1 ②j=m-1 C.①j=m-1 ②i=m+1 D.①i=m+1 ②j=m-1

【答案】D

20. 某市组织了一次我心目中最喜爱的球队的评比活动,6个球队网上投票数为201、287、501、1、397、295,若采用冒泡排序算法对其进行从大到小排序,则第三遍加工后的结果是( )

原始数据 201 287 501 1 397 295 第一遍 501 201 287 397 1 295 第二遍 501 397 201 287 295 1 第三遍 A.501 397 295 287 201 1 B.501 397 201 287 295 1 C.501 397 295 201 1 287 D.501 397 295 201 287 1 【答案】D

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务