2018-2019学年浙江省嘉兴一中高三(上)期末信息技术试卷
发布:2024/4/20 14:35:0
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分.)
-
1.下列有关信息和信息技术的说法,正确的是( )
组卷:10引用:4难度:0.5 -
2.下列有关网站和网页的说法,正确的是( )
组卷:5引用:2难度:0.5 -
3.使用Word软件编辑某文档,部分界面如图所示。
下列说法正确的是( )组卷:4引用:2难度:0.5 -
4.关于Access数据表的操作,下列说法正确的是( )
组卷:4引用:2难度:0.5 -
5.某算法部分流程图如图所示,执行这部分流程,下列说法正确 的是( )
组卷:0引用:2难度:0.5
二、非选择题(本大题共5小题,其中第13小题4分,第14小题5分,第15小题8分,第16小题3分,第17小题6分,共26分)
-
16.筛选法求素数的核心思想是先找最小素数,然后剔除其所有的倍数,在留 下的数中再剔除最小素数的倍数,重复执行,直到剔除所有的非素数。小张编写了一个2 查找孪生素数对(差值为2)的VB程序,功能如下:在文本框Text1中输入一个整数n(n≤1000000),单击“求素数对”按钮Command1,在列表框List1中 显示2 到n 范围内的素数,在标签Label2中显示素数个数,在标签Label3中显示孪生素数对个数。程序运行界面如图所示。
实现上述功能的VB程序如下,但加框处代码有错,请改正。
PrivateSubCommand1_Click ( )
DimnAsLong,iAsLong,jAsLong
DimtAsLong'存储素数个数
DimcountAsInteger'存储素数对个数
DimpAsLong
Dima(2To10000000)AsInteger n=Val(Text1.Text)
Fori=2Ton a(i)=1
Nexti
p=2
DoWhilep<=Int(Sqr(n)) Ifa(p)=1Then
j=2
DoWhilej<=n\p'(1)
j=j+1
Loop
EndIf
p=p+1
Loop t=0
Fori=2Ton
Ifa(i)=1Thent=t+1
Nexti count=0
Fori=2Ton-2
IfThen'(2)
count=count+1
List1.AddItemads(i,1)&ads(i+2,5)EndIf
Nexti
Label2.Caption=“总共有“+Str(t)+“个素数“
Label3.Caption=“其中有“+Str(count)+“个孪生素数对“
EndSub
Functionads(xAsInteger,nAsInteger)As String
'整数转换成长度固定的字符串,代码略
EndFunction组卷:0引用:1难度:0.5 -
17.下列关于某纸牌游戏的算法是:随机产生两组牌,每组17张,牌从小到大
分别为“3~10、J、Q、K、A、2”,每种牌最多4 张,四张相同的牌如3333称为炸弹牌 型,炸弹不能拆成其他牌型。按照如下规则出牌:
①先出顺子牌型(顺子指连续的5 张及以上的牌,如345678,顺子最小从3 开始,最大到A),若有多个顺子,先长后短,长度相同按从小到大顺序出;
②再按三带一牌型(3张相同的牌带一张单牌)、对子牌型(2张相同)、单张牌型的顺 序出牌,同一牌型从小到大出;
③最后出炸弹,若有多个炸弹,从小到大出。
设计以下VB程序,牌“10”用0 代替,比较两组出牌次数,界面如图所示,请回答下 列问题。
(1)若A组初始牌为:4567880JQQQQKAAA2,B组初始牌为:56778888JQQKKKA22,
则A组出牌次数
(2)请在横线处填入合适代码。
Consts=“34567890JQKA2“'用0代替牌10
Dims1As String,s2As String's1存储A组牌,s2存储B组牌
Dimb(1To18)As String
'数组b存储各类牌型,其中b(1)到b(4)可存储炸弹牌型,b(5)到b(18)存储其他牌型
PrivateSubCommand1_Click ( )
'随机产生A组和B组牌分别在文本框Text1、Text2中显示,代码略
EndSub
Subarrange(stAs String)'整理牌型的过程
Dima(3To15)AsInteger,iAsInteger
DimjAsInteger,tAsInteger,nAsInteger
DimkAsInteger,maxAsInteger,lastAsInteger
DimsaAs String,stemAsString,flagAsBoolean
'数组元素a(3)到a(15)分别存储牌3~JQKA2的张数'代码略
t=17
For i=1To18b(i)=““
Nexti
DoWhilet>0n=0
For i=3To15'寻找炸弹牌型,若有则存储到数组b中
Ifa(i)=4Then
n=n+1
b(n)=stem+stem+stem+stem
a(i)=0:t=t-4
EndIf
Nexti
flag=True
DoWhileflag'寻找顺子牌型,若有则存储到数组b 中
flag=False:max=0:k=1
Fori=4To14
Ifa(i-1)>=1Anda(i)>=1Then k=k+1
Ifk>maxThen
max=k last=i+1
EndIf
Else
k=1
EndIf
Nexti
Ifmax>=5Then
flag=True:sa=““
Forj=last-max+1Tolast stem=Mid(s,j-3,1)sa=sa+stem+““
Nextj
n=n+1:b(n)=sa t=t-max
EndIf
Loop
'寻找并存储三带一、对子、单张牌型,代码略
Loop
EndSub
PrivateSubCommand2_Click ( )
Dim count1AsInteger'count1统计A组出牌次数
Dim count2AsInteger'count2统计B组出牌次数
Callarrange(s1)
'在List1中显示A组出的牌型,统计出牌次数,代码略
Callarrange(s2)
'在List2中显示B组出的牌型,统计出牌次数,代码略
Ifcount2>count1Then
Label3.Caption=“A组出牌次数小于B组“
ElseIfcount2=count1Then
Label3.Caption=“A组出牌次数等于B组“
Else
Label3.Caption=“A组出牌次数大于B组“
EndIf
EndSub组卷:0引用:1难度:0.3