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

上传人:b****4 文档编号:24905884 上传时间:2023-06-02 格式:DOCX 页数:35 大小:295.59KB
下载 相关 举报
高中信息技术选考加试部分.docx_第1页
第1页 / 共35页
高中信息技术选考加试部分.docx_第2页
第2页 / 共35页
高中信息技术选考加试部分.docx_第3页
第3页 / 共35页
高中信息技术选考加试部分.docx_第4页
第4页 / 共35页
高中信息技术选考加试部分.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

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

《高中信息技术选考加试部分.docx》由会员分享,可在线阅读,更多相关《高中信息技术选考加试部分.docx(35页珍藏版)》请在冰豆网上搜索。

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

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

加试部分(15分)

一、选择题(本大题共4小题,每小题2分,共8分。

在每小题给出的四个选项中,只有一个是符合题目要求的。

1、[原创]已知x=17,y="-315",则VB表达式x+Len(y)的值为()

A.-298B.17C.21D."17-315"

2、执行如下VisualBasic程序段时,出现了如下图所示的错误:

PrivateSubCommand1_Click()

DimaAsInteger,bAsInteger

a=5:

b=8

b=a+b

label1.Caption=Str(b)

EndSub

引发此错误的语句可能为(  )

A.DimaAsInteger,bAsIntegerB.a=5:

b=8

C.b=a+bD.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中显示的内容是_______。

PrivateSubCommand1_click()

Dima(1to3)asinteger,kasinteger,tasinteger,sasinteger

a

(1)=15:

a

(2)=36:

a(3)=7

s=0

Fork=2to3

ifa(k)>a

(1)then

t=a

(1):

a

(1)=a(k):

a(k)=t

s=s+1

Endif

Nextk

text1.text=str(a

(1))

text2.text=str(s)

Endsub

6、[原创]下列程序的功能是在text1中输入的自然数,分解为3个互不相同的质数(三个质数的和等于输入的自然数),并把分解产生的质数按升序顺序显示在左边的列表框中。

例如,输入20,那么在列表框中会显示如右图所示结果。

其中,上述界面中“开始处理”按钮的名称是“Command1”,程序中函数f(x)的功能是判断x是否为质数,如果是质数则返回值为true,否则返回false。

请在下列程序代码的基础上按照要求设计该程序,完善程序中的划线部分。

DimnAsInteger,a1AsInteger,a2AsInteger,a3AsInteger

Functionf(x)AsBoolean

f=True

Fori=2ToSqr(x)

IfxModi=0Then_____________

Nexti

EndFunction

PrivateSubCommand1_Click()

n=_________________

Fora1=2Ton

Fora2=a1Ton

Fora3=a2Ton

If____________________Andf(a1)Andf(a2)Andf(a3)Then

List1.AddItem(Str(a1)+""+Str(a2)+""+Str(a3))

EndIf

Nexta3

Nexta2

Nexta1

EndSub

7、[根据2015年一点通中的试题改编]有一Access数据库“school.accdb”存放在f:

\2015mt\vb文件夹中,其中的“student”数据表用来存储学生的基本情况信息,包括学号(num)、姓名(name)、性别(sex)、分数(score),括号内的为对应字段名。

下列VB程序用来实现根据学号查询并显示学生信息,运行界面如下图所示。

在文本框Text1中输入学生的学号,单击“查询”,在文本框Text2、Text3、Text4中分别显示学生姓名、性别、分数。

PrivateSubCommand1_Click()

DimadocnAsNewadodb.Connection

DimadorsAsNewadodb.Recordset

Dimstr2AsString,str1AsString

str1="Provider=Microsoft.ACE.OLEDB.12.0;datasource=f:

\2015mt\vb\_____________"

adocn.Openstr1

str2="select*fromstudentswherenum="+Text1.Text

adors.Openstr2,adocn,adOpenDynamic,adLockOptimistic

Ifadors.EOF=TrueThen

MsgBox"你输入的学号不存在"

Else

Text2.Text=adors.Fields("name").Value

Text3.Text=adors.Fields("sex").Value

________________________________________

EndIf

adors.Close

adocn.Close

EndSub

4.某餐厅在团购网站上推出了98元享原价198元的套餐团购活动,但规定每天接受团购券数量是有限制的,表示此餐厅是否接受团购券的算法如下:

①number=0 ′团购券数量用变量number表示。

②DoWhilenumber<=29

③读入用餐顾客的情况

④If使用团购券顾客then

变量number增加1

允许使用团购券进行消费

EndIf

⑤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.4B.5C.6D.7

二、主观题

6.有如下VisualBasic程序:

PrivateSubCommand1_Click()

DimsAsInteger

DimIAsInteger

S=0

Fori=1To10

s=s+i\7

Nexti

Text1.text=str(s)

Endsub

该程序段运行后,文本框Text1中显示_______________

7.输入一个三位数的整数,要求将此三位数的各位上的数字重新排列,组成一个尽可能大的三位数。

例如:

输入213,重新排列可得到尽可能大的三位数是321。

现要求编写VB程序(运行界面如第16题-1图所示),实现如下功能:

在文本框Text1中输入一个三位数整数,单击“求解”按钮Command1,在文本框Text2中显示重新组合后的最大三位数整数。

某同学按此要求编写的程序如下,其中函数max(x)用于求解最大三位数整数,但加框处代码有错,请改正。

①___________________②___________________

Functionmax(xAsInteger)AsInteger

DimaAsInteger,bAsInteger,cAsInteger,tAsInteger

a=x\100

b=(x\10)\10'①

c=xmod10

Ifa

a=b:

b=t

Ifa

a=c:

c=t

Ifb

c=b:

b=t

max=c*100+b*10+a'②

EndFunction

PrivateSubCommand1_Click()

DimnAsInteger,yAsInteger

n=Val(Text1.Text)

y=max(n)

Text2.Text=Str(y)

EndSub

【根据2013年9月浙江省高考卷改编】

8.下列VB程序的功能是:

程序运行时,单击命令按钮Commandl后,产生10个[1,999]范围内互不相同的随机整数,依次显示在列表框List1中,然后将它们按从小到大的顺序排序,排序结果显示在列表框List2中。

数组a用于存储产生的10个随机整数,函数f(x)用于判断随机整数x与已生成的整数是否有重复,若有重复则返回True,否则返回False。

(1)虚线框内程序段所采用的排序算法名称是。

(填:

冒泡排序/选择排序)

(2)在程序

(1)和

(2)划线处,填入适当的语句或表达式,把程序补充完整。

Dima(1To10)AsInteger

Functionf(xAsInteger)AsBoolean

′代码略

EndFunction

PrivateSubCommandl_Click()

DimnAsInteger′n用于统计已经产生的随机整数个数

DimiAsInteger.jAsInteger

DimxAsInteger.kAsInteger

Randomize′初始化Rnd函数

n=0

List1.Clear′清除列表框中内容

List2.Clear

DoWhilen<10

x=Int(Rnd*999)+1′产生[1,999]范围内的随机整数

IfNotf(x)Then

n=n+1

a(n)=x

List1.AddItemStr(

(1))

EndIf

Loop

Fori=1To9′进行排序

Forj=10Toi+1

(2)

Ifa(j)

k=a(j):

a(j)=a(j-1):

a(j-1)=k

EndIf

Nextj

Nexti

Fori=1To10

List2.AddItemStr(a(i))

Nexti

EndSub

【根据2013年3月浙江省信息技术高考卷改编】

一、选择题(本大题有4小题,每小题4分,共16分。

在每小题给出的四个选项中,只有一个是符合题目要求的。

1.【根据网上免费下载试题改编】第1题图

所示,有一幅8×8像素的黑白图像,如果该图像的每一行按照从左到右编码,且第一行编码为10010010,那么第三行的编码的16进制表示为()

第1题图

A.51HB.D5HC.AEHD.52H

参考答案:

A

预设难度:

0.65

命题意图:

考核字符编码和进制转换的知识。

解题依据是由第一行编码可知黑色用0表示,白色用1表示,由此可知第三行编码为01010001,转换成16进制后即为51H。

2.【原创】表达式len(“GoodMorning”)+2mod3+int(3.9999)的值为()

A.15B.16C.17D.表达式运算出错

参考答案:

C

预设难度:

0.6

命题意图:

考核考生对VB常用标准函数涵义及应用的掌握程度。

3.【根据网上免费下载试题改编】小金编写了一个统计随机数分布的VB程序,部分程序如下所示,在调试程序的时候出现如右图所示的错误信息:

n=0:

m=0

Fori=1To100

IfRnd>0.5Then

第3题图

n=n+1

Else

m=m+1

Nexti

……

小金仔细分析该程序段后,发现其中缺少了()

A.ForB.EndIfC.NextD.If

参考答案:

B

预设难度:

0.55

命题意图:

考核VB基本控制结构及语句实现,考生只要知道选择语句,If开始必须用EndIf结束,就可以选出本题答案。

4.【原创】有6位学生的身高分别为165,170,172,175,176,180。

其中,小民的身高为175,若老师采用对分查找法想要找到小民,则需要找多少次才能够找到()

A.2B.3C.4D.5

参考答案:

B

预设难度:

0.75

命题意图:

本题考核考生对对分查找算法原理的掌握,依据原理便可算出所需查找次数为3次。

二、综合题(本大题有3题,第5题2分,第6题6分,第7题6分,共14分)

5.【根据网上免费下载试题改编】下列VB程序运行时,在文本框Text1中输入“h”后,单击命令按钮Command1后,标签框Label1中显示的内容是________。

PrivateSubCommand1_Click()

DimaAsString

a=Text1.Text

a=Chr(Asc(a)-32)

Label1.Caption=a

EndSub

参考答案:

H

预设难度:

0.7

命题意图:

本题考核VB基本语句含义的理解,通过理解每个VB语句的含义可以得知,本题实现的是把小字字母转换成大写字母的功能,故根据题意可得出答案是H。

6.【根据零距离模拟卷试题改编】素数:

只能被1和它本身整除的自然数。

要求编写VB程序找出任意两个整数之间中所有的素数及个数,程序运行界面如下图所示。

 

第6题图

请根据算法将下列程序补充完整。

Functionprime(aAsInteger)AsBoolean

DimjAsInteger

prime=True

j=2

DoWhileprimeAndj<=a\2

IfaModj=0Then

prime=False

ExitDo

EndIf

Loop

EndFunction

PrivateSubCommand1_Click()

DimiAsInteger,aAsInteger,bAsInteger

DimcountAsInteger

a=Val(Text1.Text)

b=Val(Text2.Text)

Fori=aTob

If②=TrueThen

List1.AddItemStr(i)

count=count+1

EndIf

Nexti

Label1.Caption="素数共有"+Str(count)+"个!

"

EndSub

参考答案:

①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题图

DimID()AsString'用于存放客户卡号

Dimtotal()AsLong'用于存放积分数

DimscAsLong'VIP客户人数

DimjfAsLong'积分数

PrivateSubCommand1_Click()

DimkAsString'客户卡号

DimqAsLong'代金券额度

DimiAsLong

k=Text1.Text

Fori=1Tosc’顺序查找

IfID(i)=kThen

jf=total(i)

cash(jf)=q’①

ExitFor

EndIf

Text2.Text=Str(jf)

Label3.Caption=“您可换购的代金券总额为:

”+Str(q)+“元”

Nexti

EndIf

EndSub

'cash函数用于计算VIP客户可换购的代金券额度

Functioncash(jfAsLong)AsLong

Ifjf>=2000Andjf<=20000Then

Cash=jf\2000*10

ElseIfjf>20000Andjf<=50000Then

Cash=jf\2000*11

ElseIfjf>50000Andjf<=100000Then

Cash=jf\2000*12

ElseIfjf>100000Andjf<=150000Then

Cash=jf\2000*13

Elsejf>150000Then’②

Cash=jf\2000*14

EndIf

EndFunction

PrivateSubForm_Load()

DimconnAsNewADODB.Connection,rsAsNewADODB.Recordset

DimintSQLAsLong

conn.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+App.Path+"\customer.accdb"

conn.Open

intSQL="SELECTscoreFROMIntegral"

Setrs.ActiveConnection=conn

rs.CursorType=adOpenStatic

rs.OpenintSQL

sc=0

DoWhileNotrs.EOF

sc=sc+1

total(sc)=rs.Fields("score")

rs.MoveNext

Loop

rs.Close

conn.Close

Setrs=Nothing

Setconn=Nothing

EndSub

(1)加框处①有错,应改为__________________________。

(2)加框处②有错,应改为__________________________。

参考答案:

(1)q=cash(jf)

(2)ElseIfjf>150000Then

预设难度:

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+2008B.4017C.”20092008”D.20092008

3.表达式Len(“doodluck”)+2Mod3+Int(3.9999)的值为【原创】()

A.12B.13C.14D.表达式运算出错

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.21202009100919871201

B.21202009100912011987

C.10091201212019872009

D.10091201200921201987

二、综合题(本大题2小题,其中第1题2分,第2题第

(1)小题1分,

(2)(3)题各2分,共7分)

1.下列程序的功能是从键盘上任意输入一个数,判断这个数是正数,负数,还是零,并输出判断结果。

程序中加框处有错误,请改正。

【根据2011年高考总复习填空题改编】

PrivatesubCommand1_Click()

DimaAsSingle

DimpyAsString

a=Val(Text1)

(1)

Ifa>0Thenpy=”正数”

Ifa=0Thenpy=”零”

Ifa<0Thenpy=”负数”

Label3.Caption=a

(2)

EndSub

(1)_______________________________________________

(2)________________________________________________

2.在我国古代《孙子算经》中曾经提出这样一个问题,原文是这样的:

“今有物,不知其数,三三数之,剩二;五五数之,剩三;七七数之,剩二;问物几何?

”试用枚举算法来解决这一个问题。

现分析如下,所寻找之数为满足如下条件的自然数:

以3除余2,以5除余3,以7除余2。

程序将从自然数1开始依次寻找,逐一判断某一自然数是否满足全部条件,直至在指定范围内找到满足条件的所有自然数。

程序代码如下,请补充完整。

【根据2011年高考总复习填空题改编】

 

第18题图

 

第2题图

PrivateSubCommand1_Click()

DimsumAsInteger'sum用来统计符合条件的自然数个数'

Dimn,maxAsInteger

L

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1