浙江版高考信息技术 专题五 算法与VB语言基础.docx
- 文档编号:7340350
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:68
- 大小:933.11KB
浙江版高考信息技术 专题五 算法与VB语言基础.docx
《浙江版高考信息技术 专题五 算法与VB语言基础.docx》由会员分享,可在线阅读,更多相关《浙江版高考信息技术 专题五 算法与VB语言基础.docx(68页珍藏版)》请在冰点文库上搜索。
浙江版高考信息技术专题五算法与VB语言基础
专题五 算法与VB语言基础
挖命题
【考情探究】
考点
考试内容
考试要求
5年考情
预测热度
考题示例
考向
难度
算法
及算
法的
表示
计算机解决问题的一般过程
a
★★★
算法的概念
a
算法的特征
b
算法的表示
c
2015浙江10月学考+选考,5,2分;2016浙江4月学考+选考,5,2分;2016浙江10月学考+选考,5,2分;2017浙江4月学考+选考,6,2分;2017浙江11月学考+选考,5,2分;2018浙江4月学考+选考,7,2分;2018浙江6月学考,5,2分;2018浙江11月学考+选考,5,2分
循环结构流程图
★★★
算法的三种基本结构
b
面向
对象
程序
设计
面向对象程序设计的基本思想
a
★★★
类、对象、属性、方法、事件、事件处理过程的概念
c
2015浙江10月学考+选考,14,1分;2016浙江4月学考+选考,14,1分;2016浙江10月学考+选考,14,1分;2017浙江4月学考+选考,14,1分;2017浙江11月学考+选考,14,1分;2018浙江4月学考+选考,14,1分;2018浙江6月学考,11,1分;2018浙江11月学考+选考,14,1分
程序界面设计中的控件、属性、事件、方法等知识和概念
★☆☆
事件处理过程的代码编写
c
面向
对象
程序
设计
VB程序的建立、调试和保存
c
2016浙江4月学考+选考,17,1分;2016浙江10月学考+选考,14,2分;2017浙江4月学考+选考,17,1分;2017浙江11月学考+选考,14,2分;2017浙江11月学考+选考,17,1分;2018浙江4月学考+选考,14,2分;2018浙江4月学考+选考,17,2分;2018浙江11月学考+选考,17,2分
根据算法分析实例,得出结果,一般学考程序大题及选考最后一个大题都有一空是程序分析题
★★★
★★★
VB程
序设
计初
步
基本数
据类型、
常量和
变量
VB基本数据类型
b
2015浙江10月学考+选考,12,2分
整型、字符串型和逻辑型是热门考点
★★☆
★★★
常量、变量
b
★★★
数组
c
2016浙江4月学考+选考,16,2分;2016浙江4月学考+选考,17,2分;2017浙江4月学考+选考,17,4分;2017浙江11月学考+选考,17,4分;2018浙江4月学考+选考,17,4分;2018浙江11月学考+选考,17,4分
数组加循环语句是选考题中的热门题型
★★★
★★★
基本运
算与表
达式
算术、关系、逻辑三种基本运算
c
2016浙江10月学考+选考,14,2分
取整函数Int、整数除\、求余Mod、随机函数Rnd是热门考点
★★☆
★★★
常用标准函数
c
2018浙江6月学考,11,2分
字符串处理函数Mid和Len是学考热门考点
★★☆
★★★
VB基本
语句与
语法
赋值语句
c
2016浙江4月学考+选考,17,3分;2016浙江10月学考+选考,11,2分;2017浙江4月学考+选考,14,2分;2018浙江6月学考,11,2分;2018浙江11月学考+选考,14,4分
学考程序大题一般考单层循环+选择语句;选考程序大题一般考双重循环+选择语句
★★☆
★★★
选择语句
c
★★☆
★★★
循环语句
c
★★★
★★★
注释语句
a
模块
化程
序设
计
模块化程序设计的基本思想
b
★☆☆
过程的定义及使用方法
b
自定义过程一般不考
★☆☆
自定义函数的定义及调用方法
c
2017浙江4月学考+选考,17,1分;2018浙江4月学考+选考,17,1分
学考不要求,是选考的热门考点
★★★
★★★
分析解读 本专题的内容涉及算法及算法的表示、VB程序设计环境、VB程序设计基础知识三个方面。
从学考和选考试题来看,以选择题和非选择题形式考查学生对基本知识的理解掌握。
复习时应着重提高VB程序设计的实战能力。
在目前出现的真题中,有些题型是比较固定的,比如在选择题(学考部分)中均有一题考查循环结构流程图;第14题的第
(1)小题均考查了面向对象程序设计的基础知识;在程序大题中经常出现分析题,题目中给出算法分析及代码,然后给出一个实例,求该实例的结果。
加试题中除了要求对几个经典算法熟练掌握之外,题中还有大量一维数组的应用,事实上经典算法如排序、查找也是基于一维数组与循环语句的综合应用。
因此熟练掌握数组和VB基本语句语法,才是解题的关键点。
以目前的真题来看,一般选择题第11题和第12题,会考到一个数组运用,不一定是经典算法,该题主要考查数组和语句综合运用,通常该题需要较长的解题时间。
此外第17题大题一般也不考经典算法,而是考查数组的综合运用,比如加密解密问题、压缩解压缩问题、矩阵问题等,该题往往是整卷最难的题,做题时,需要合理分配时间,并且可以考虑分步拿分。
破考点
【考点集训】
考点一 算法及算法的表示
1.(2015浙江10月学考+选考,5,2分)某算法的部分流程图如图所示。
执行这部分流程后,“x←x-2”被执行的次数为( )
A.0B.1
C.2D.3
答案 C
2.(2018宁波十校联考,5,2分)某算法流程图如图所示,执行这部分流程,变量sum的值为( )
A.1B.3C.4D.0
答案 A
考点二 面向对象程序设计基础
1.(2017浙江11月学考+选考,14,1分)要使程序运行时,窗体Form1标题显示“字符串生成”,可在Form_Load事件过程中添加语句 (单选,填字母:
A.Form1="字符串生成"/B.Form1.Text="字符串生成"/C.Form1.Caption="字符串生成")。
答案 C
2.(2015浙江10月学考+选考,14,1分)编写VB程序,实现如下功能:
在文本框Text1和Text2中分别输入一个整数,单击命令按钮Command1,在列表框List1中显示结果,运行效果如图a所示。
结果包含两列数据,第1列为两数之间的摄氏温度值(间隔1度、升序),第2列为对应的华氏温度值。
图a
图b
要使命令按钮Command1上显示的文本改为“转换”,可在其属性窗口(如图b所示)中将 属性的属性值修改为“转换”。
答案 Caption
3.(浙江十校联盟2018年下半年选考适应性考试,14,1分)编写如下程序:
设计如图所示的程序界面,至少要使用 个类(填数字)。
答案 4
考点三 VB程序设计初步
1.(2018浙江十校联盟选考适应性考试,11,2分)【加试题】有如下VB程序段:
Fori=1To10
b(a(i)Mod10)=b(a(i)Mod10)+1
b(a(i)\10)=b(a(i)\10)+1
Nexti
num=0
Fori=0To9
Ifb(i)>numThennum=b(i)
Nexti
数组b各元素初始值为0,数组元素a
(1)到a(10)的值依次为“68,17,24,30,36,40,55,58,61,66”,执行该程序段后,num的值为( )
A.2B.3C.4D.5
答案 D
2.(2018浙江绍兴柯桥高三选考,14,5分)编写一个“二进制转十六进制”的VB程序,实现如下功能:
在文本框Text1中输入一个二进制数,单击“转换”按钮Command1,在文本框Text2中显示对应的十六进制数。
程序界面如图所示:
(1)实现上述功能的VB程序如下,请在划线处填入合适的代码。
PrivateSubCommand1_Click()
Constw="0123456789ABCDEF"
DimiAsInteger,nAsInteger,cAsString,sAsString,s2AsString
s=Text1.Text
Fori=1To4-Len(s)Mod4
s="0"+s
Nexti
i=1:
n=0
DoWhilei<=Len(s)
① n=n*2+Val(c)
If ② Then
s2=s2+Mid(w,n+1,1)
n=0
EndIf
i=i+1
Loop
Text2.Text=s2
EndSub
(2)若删除程序中加框部分的代码,在文本框Text1中输入“1101011010”,单击“转换”按钮后,文本框Text2中显示的内容是 。
答案
(1)①c=Mid(s,i,1) ②iMod4=0
(2)D6
考点四 模块化程序设计
1.某游戏规则如下:
将2*n位队员按2人一组分成n个队(n<10),地面上有一排格子,共2*n个,每个格子都对应一个小于10的随机正整数。
游戏开始后,所有队员都选择站到一个空的格子里,等他们站满格子后,开始为每位队员进行记分。
记分规则:
每组包括甲乙两个队员,甲队员的分数是从自己所站的格子开始,按照格子序号递减,将这些格子中的数字一直累加到第1个格子。
乙队员的分数是从自己所站的格子开始,按照格子序号递增,一直将格子中的数字累加到第2*n个格子。
如果同一队的两名队员得到的分数相同,则该组参赛队获胜。
例如:
如图所示,有4个队8位队员,地上一排格子的数字依次为:
2、1、1、7、9、2、5、6。
若某队甲队员站在第4个格子,则其分数为2+1+1+7=11;乙队员站在第7个格子,则其分数为5+6=11。
两者相等,则该队获胜。
(1)假设有3组队员,地上一排格子的数字依次为6、7、3、4、3、9。
若某组甲队员站在第3个格子上,那么该组乙队员站在第 个格子上才能获胜。
(2)实现上述功能的VB程序如下。
请在划线处填入合适的代码。
DimnAsInteger
Dimgz(1To20)AsInteger
PrivateSubCommand1_Click()
DimdfaAsInteger,dfbAsInteger
DimtaAsInteger,tbAsInteger
①
Randomize
Fori=1To2*n
gz(i)=Int(Rnd*9+1)
List1.AddItem"gz("&i&")"&gz(i)
Nexti
num=1
Forj=1To2*n
ta=j
dfa=zwdf(ta,True)
Fork=1To2*n
tb=k
②
Ifdfa=dfbThen
List2.AddItemnum&"甲队员("&j&")得分="&dfa&"乙队员("&k&")得分="&dfb
num=num+1
EndIf
Nextk
Nextj
List2.AddItem"获胜的站法共有:
"+ ③ +"种"
EndSub
Functionzwdf(pAsInteger,rAsBoolean)AsInteger
DimfsAsInteger
Ifr=TrueThen
④
fs=fs+gz(i)
Nexti
Else
Fori=pTo2*n
fs=fs+gz(i)
Nexti
EndIf
zwdf=fs
EndFunction
答案
(1)4
(2)①n=Val(Text1.Text)
②dfb=zwdf(tb,False)或dfb=zwdf(k,False)
③Str(num-1) ④Fori=pTo1Step-1或Fori=1Top
2.颜色反相是Photoshop中一种常用的操作,其实现原理是把每个像素的颜色用24位二进制数来表示,将其每位二进制数取反(0改为1,1改为0),即变为另一种颜色。
某同学使用VB编写了计算反相颜色的程序,其功能如下:
程序运行时,在文本框Text1中输入一个十六进制表示的颜色值,单击“颜色反相”按钮后,在标签Label1中输出该颜色对应的反相颜色(使用RGB表示),比如输入#FE1205,则在标签Label1中输出RGB(1,237,250)。
程序运行界面如图所示。
十六进制颜色与RGB颜色表示对照表如下:
颜色
R
G
B
十进制
100
255
10
十六进制
64
FF
0A
例如,十六进制颜色#64FF0A,用RGB颜色表示为RGB(100,255,10),每个RGB颜色分量对应两位十六进制数。
实现上述功能的VB程序如下,请回答下列问题:
(1)程序运行时,在文本框中输入“#D507F2”,则标签Label1上显示的内容为 。
(2)请在划线处填上合适的代码。
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger,xAsInteger
DimsAsString,chAsString
Dima(0To23)AsInteger
Fori=0To23
a(i)=1
Nexti
s=Mid(Text1.Text,2,6)
Fori=1To6
ch=Mid(s,i,1)
Ifch>="0"Andch<="9"Then
x=Val(ch)
Else
①
EndIf
j=4*i-1
DoWhilex>0
a(j)= ②
x=x\2
j=j-1
Loop
Nexti
s="":
x=0
Forj=0To23
③
IfjMod8=7Then
Ifj<23Then
s=s+Str(x)&","
Else
s=s+Str(x)
EndIf
x=0
EndIf
Nextj
Label1.Caption="RGB("&s&")"
EndSub
答案
(1)RGB(42,248,13)
(2)①x=Asc(ch)-55或者x=Asc(ch)-Asc("A")+10
②1-xMod2
③x=x+a(j)*2^(7-jMod8)或其他等价答案
过专题
【五年高考】
考点一 算法及算法的表示
A组 2014—2018年真题·基础题组
1.(2017浙江11月学考+选考,5,2分)某算法的部分流程图如图所示,执行这部分流程后,输出a,b的值分别是( )
A.5,8B.4,8C.5,11D.4,11
答案 C
2.(2016浙江10月学考+选考,5,2分)某算法的部分流程图如图所示,执行这部分流程后,变量a,b的值分别是( )
A.3,3B.3,4C.6,6D.7,11
答案 D
3.(2016浙江4月学考+选考,5,2分)某算法的部分流程图如图所示,执行这部分流程后,变量x的值是( )
A.0B.1C.2D.3
答案 B
B组 2014—2018年真题·提升题组
1.(2018浙江11月学考+选考,5,2分)某算法的部分流程图如图所示。
执行这部分流程,分别输入35、50、60,则输出值依次为( )
A.10,3B.10,4C.7,10,4D.10,12,3
答案 B
2.(2018浙江6月学考,5,2分)某算法的部分流程图如图所示,以下说法正确的是( )
A.该流程执行后,变量k的值是-1
B.该流程执行后,变量a的值是16
C.该流程用于计算并输出1+8-16的值
D.该流程完整执行1次,“a<32?
”共执行了3次
答案 D
3.(2017浙江4月学考+选考,6,2分)某算法的部分流程图如图所示。
执行这部分流程,依次输入3,4,-1,则输出s的值是( )
A.-2B.-1C.0D.1
答案 B
考点二 面向对象程序设计基础
考点三 VB程序设计初步
A组 2014—2018年真题·基础题组
1.(2015浙江3月学考,3分)下列属于VisualBasic实数常量的
是( )
A.0.618B.1/2C.TrueD.“2014-9-1”
答案 A
2.(2015浙江3月学考,3分)在VisualBasic中,若x是3的倍数,则下列表达式值一定为真的是( )
A.x/3=0B.x*3=0C.xmod3=0D.3-x=0
答案 C
3.(2018浙江11月选考,14,5分)在平面坐标系中,给定一组有序的点。
从原点出发,依次用线段连接这些点,构成一条折线。
要求编写一个“计算折线长度”的程序,功能如下:
在文本框Text1中依次输入这些点的坐标值(数据都用逗号分隔并以逗号结尾),单击“计算”按钮Cmd后,程序计算这条折线的长度,结果显示在Label1中。
例如,三个点的坐标为(5,10),(8,12),(6,17)输入格式如图所示。
(1)Cmd对象属于 类(单选,填字母:
A.Form/B.Label/C.TextBox/D.CommandButton)。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
PrivateSubCmd_Click()
DimiAsInteger,jAsInteger,kAsInteger
Dimx1AsSingle,y1AsSingle,x2AsSingle,y2AsSingle
DimdAsSingle,TotaldAsSingle,vAsSingle,sAsString
s= ①
x1=0∶y1=0 ’出发点为坐标原点
k=1∶j=1∶Totald=0
Fori=1ToLen(s)
IfMid(s,i,1)=","Then
v=Val(Mid(s,j,i-j))’提取坐标值,保存在变量v中
j=i+1
If ② Then
x2=v
Else
y2=v
d=Sqr((x2-x1)^2+(y2-y1)^2)
Totald=Totald+d
x1=x2:
y1=y2
EndIf
k=k+1
EndIf
Nexti
Label1.Caption=Str(Totald)
EndSub
(3)运行该程序,输入题干中的数据,程序执行到循环结束时,变量k为 。
答案
(1)D
(2)①Text1.Text ②kMod2=1 (3)7
4.(2017浙江11月选考,14,5分)编写“字符串生成”程序,实现如下功能:
在文本框Text1中(字符位置)输入多个正整数(以“,”为分隔符和结束符),单击“生成”按钮Command1,程序以这些整数为位置信息,依次从文本框Text2中(字典内容)提取字符并连接成字符串,最后将字符串显示在标签Label1中(生成内容)。
程序运行界面如图所示。
(1)要使程序运行时,窗体Form1标题显示“字符串生成”,可在Form_Load事件过程中添加语句 (单选,填字母:
A.Form1="字符串生成"/B.Form1.Text="字符串生成"/C.Form1.Caption="字符串生成")。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
PrivateSubCommand1_Click()
DimsAsString,tAsString,cAsString
DimiAsInteger,pAsInteger
s="":
t=""
Fori=1ToLen(Text1.Text)
c=Mid(Text1.Text,i,1)
Ifc=","Then
p=Val(t)
s=s+Mid(Text2.Text,p,1)
t=""
Else
t= ①
EndIf
Nexti
Label1.Caption= ②
EndSub
(3)若文本框Text1中输入内容的结束符缺失(即输入内容为1,18,9,9),单击“生成”按钮后,标签Label1中显示的内容是 。
答案
(1)C
(2)①t+c(或t&c) ②s (3)pas
B组 2014—2018年真题·提升题组
1.(2018浙江11月选考,11,2分)【加试题】有如下VB程序段:
Fori=1To6
a(i)=Int(Rnd*10)+1
Nexti
Fori=1To5
IfiMod2=1Anda(i)>a(i+1)Then
t=a(i):
a(i)=a(i+1):
a(i+1)=t
Else
a(i)=a(i)+1
EndIf
Nexti
执行程序后,a数组各元素可能是( )
A.11,11,7,9,3,9B.6,2,8,10,5,9
C.6,9,3,7,8,12D.3,9,0,8,2,7
答案 A
2.(2018浙江11月选考,12,2分)【加试题】下列VB程序功能为:
根据文本框Text1中各字符的大小关系,计算各字符升序排列的序号,并将序号保存在数组y中。
如文本框内容为“2011”,程序运行后y
(1)~y(4)各元素的值分别为“4,1,2,3”。
s=Text1.Text
n=Len(s)
Fori=1Ton
y(i)=1
Nexti
Fori=1To
(1)
Forj=
(2) Ton
If (3) Then
y(j)=y(j)+1
Else
y(i)=y(i)+1
EndIf
Nextj
Nexti
上述程序段3个加框处的表达式分别为( )
A.
(1)n
(2)1 (3)Mid(s,j,1)>=Mid(s,i,1)
B.
(1)n
(2)1(3)Mid(s,j,1)>Mid(s,i,1)
C.
(1)n-1
(2)i+1(3)Mid(s,j,1)>=Mid(s,i,1)
D.
(1)n-1
(2)i+1(3)Mid(s,j,1)>Mid(s,i,1)
答案 C
3.(2018浙江4月选考,11,2分)【加试题】有如下VB程序段:
a
(1)=1:
a
(2)=1
b
(1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江版高考信息技术 专题五 算法与VB语言基础 浙江 高考 信息技术 专题 算法 VB 语言 基础