浙江省 2020 年新高考选考科目原创猜题卷 1
信息技术试题
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。 每小
题列出的四个备选项中只有一个是符合题目要求的,不
选、多选、错选均不得分)
1.王老师利用办公室的计算机制作了寓言故事“盲人摸象”的多
媒体作品进行教学,下列说法正确的是 ( )
A.通过手机播放“盲人摸象”视频是一种信息的表达方式
B.“盲人摸象”的故事体现了信息具有真伪性
C.信息必须依附于载体,所以有关“盲人摸象”的信息不能脱
离记载这个故事的古籍被存储和传播
D.存储“盲人摸象”多媒体作品的 U 盘属于信息的载体,作品
中相关动画属于信息
答案 B 本题考查信息、信息的特征和信息技术,以及信
息的表达方式与表达技术。 信息是指数据、信号、消息中所包
含的意义,语言、文字、声音、图像等属于信息的载体,因此多
媒体作品中的动画属于信息的载体,故 D 错误。 信息必须依
附于某种载体,它可以脱离所反映的事物被存储、保存和传
播,故 C 错误。 “盲人摸象”的故事告诉我们,看问题不能凭自
己主观的片面了解就作出判断,应了解事物的全貌, 因为信息
具有真伪性,故 B 正确。 信息表达方式有文字、语言、图形、图
像、声音和形体动作,而信息表达技术有书籍报刊、电视广播、
网络技术(电子邮件、QQ、微信等)、多媒体技术等,故 A 错误。
故选 B。
2.下列关于网上信息的浏览与获取的说法正确的是 ( )
A.利用搜索引擎可以找到任何想要找的东西
B.HTML 协议用于浏览器与 Web 服务器之间的信息传输
C.“收藏夹”的作用是保存网页的网址,它本身是一个文件夹
D.在 IE 浏览器中,保存网页类型为“网页,全部”,则图片被保
存在对应的网页中
答案 C 本题考查网上信息的浏览与获取。 用于浏览器
与 Web 服务器之间的信息传输的协议是 HTTP,而 HTML 是
超文本标记语言。 “收藏夹”的作用是保存网页的网址,在
Windows 中放在一个文件夹里。 在 IE 浏览器中,保存网页类
型为“网页,全部”,则图片被保存在本地计算机对应的文件夹
中。 故选 C。
3.小张使用 Word 软件编辑某文档,部分界面如图所示
下列说法正确的是 ( )
A.在光标所在处按“Delete”键,可以删除“曹娥江与甬江”下
方的波浪线
B.图中图片的环绕方式一定不是“嵌入型”
C.接受所有修订后,图中文字变为“天台山(tiān tāi shān)位于
中国浙江省天台县城北”
D.可以使用查找替换功能将文档中的所有的“天台山”一次性
加粗显示,这采用了人工智能技术
答案 B 本题考查 Word 相关的功能。 “曹娥江与甬江”
下方的波浪线为“语法与拼写错误”,通过单击右键,选择“忽
略”命令可以取消,而按“Delete”键,将删除光标右边的字符。
第一行的“天台山”是批注的对象,右边是相应的批注。 “查找
替换”是 Word 的功能,不属于人工智能技术。 故选 B。
4.用 UltraEdit 软件观察字符串“方程 x1+y2= 10”的内码,部分界
面如图所示
下列说法正确的是 ( )
A.字符“10”的二进制编码为 0100 0000B
B.图中有 9 个 ASCII 编码,有 4 个字节的 GB2312 编码
C.字符“y”的内码是 79H,则字符“z”的内码是 80H
D.小写字母和大写字母内码相差 32D,则“Y”的内码为 47H
答案 B 本题考查信息编码的知识。 用 UltraEdit 软件观
察字符串的内码,每个 ASCII 码占 1 个字节,用十六进制表示
时,是数字开头,每个 GB2312 码占 2 个字节,用十六进制表示
时,是字母开头。 观察题图,其中有 9 个 ASCII 编码,2 个
GB2312 编码,共 4 个字节。 字符“ y”的内码是 79H,则“ z”的
内码为 7AH(“z”的内码比“y”大 1H)。 字符“10”的内码是 31
30H,转化为二进制为 0011 0001 0011 0000B。 小写字母和大
写字母内码相差 32D,即 20H,因为“ y”的内码为 79H,所以
“Y”的内码为 59H。 故选 B。
5.使用 GoldWave 软件编辑某音频文件,选择其中一段音频后的
部分界面如图所示
下列说法正确的是 ( )
A.该音频素材是 Wave 格式,量化位数为 16 字节,采样频率为
44.1kHz
B.若将左声道全部选中,执行“删除”操作后直接保存,则该文
件变为单声道文件
C.当前状态下执行“删除”操作后,按原参数保存,存储容量
减少
D.当前状态下进行“剪裁”操作后,按原参数保存,存储容量
不变
答案 D 本题考查音频信息的加工与处理,要求学生掌握
GoldWave 软件的应用以及音频容量的计算等知识。 从题图中
可以看出,此音频为立体声双声道,当前选中的是左声道部分
数据,此文件的量化位数是 16 位,采样频率为 44100Hz。 因此
无论“删除”“剪裁” “静音”,音频的时间均不变,从而存储容
量也不变。 故选 D。
6.有一段未经压缩的 PAL 制式(每秒显示 25 帧)的视频文件,画
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
1 6
面为 320×240 像素 24 位,属性如图所示 将其转换成 WMV
格式文件后的存储容量约为 5.58MB,则压缩比约为 ( )
A.120 ∶ 1 B.60 ∶ 1 C.30 ∶ 1 D.15 ∶ 1
答案 C 本题考查未经压缩的视频文件存储容量的计算。
视频文件存储容量 =每帧图片存储容量×帧频×时间,而单张
图片存储容量 = 水平像素数×垂直像素数×像素编码位数 / 8
(单位:字节)。 声音存储容量=采样频率(Hz) ×量化位数×声
道数×时间(s) / 8(单位:字节)。 根据提供的视频文件的属性
截图,不知道图片的像素位数和声音的量化位数,因此本题可
通过总比特率计算,比特率是指每秒传送的比特(bit)数。 视
频容量 = 46785×1000×30 / 8 / 1024 / 1024(MB),压缩比 = 46785
×1000×30 / 8 / 1024 / 1024 / 5.58≈30 ∶ 1。 故选 C。
7.下列 VB 表达式的值最大的是 ( )
A.Int(Sqr(50))
B.49 \4 Mod 5
C.Val(Mid(" 2019 年 6 月" , 6, 1))
D.Len(" 9+8" )
答案 A 本题考查 VB 常用的函数和运算的优先级。
Sqr(50)相当于 50 ,Int(x)函数是取不超过 x 的最大整数,因
此选项 A 的计算结果是 7。 运算符“ \”的优先级高于“Mod”,
49 \4 的结果是 12,12 Mod 5 的结果是 2。 Mid( " 2019 年 6
月" , 6, 1)是在" 2019 年 6 月"中从 6 位开始取 1 个字符,结
果是" 6" ,而 Val(" 6" )的结果是 6。 Len( " 9+8" )是计算字符
串" 9+8"的长度,结果是 3。 故选 A。
8.如图是求
1
2+
1
2+
1
2
的程序框图,图中空白框中应填入 ( )
A.A= 1 / (2+A) B.A= 2+1 / A
C.A= 1 / (1+2A) D.A= 1+1 / (2A)
答案 A 本题考查对算法的理解和对流程图的认识。 变
量 A 存储计算的结果,流程图中应用了迭代算法,故选 A。
9.下列程序执行后文本框 Text1 显示的内容是 ( )
s = "Inter(R) Core(TM) i3-4130 CPU @ 3.40GHz"
flag = False:k = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "A" And ch <= "Z" or ch >= "0" And ch <=
"9" Then
If Not flag Then
k = k + 1
flag = True
End If
Else
flag = False
End If
Next i
Text1.Text = Str(k)
A.6 B.9 C.10 D.18
答案 B 本题考查 VB 的循环结构和分支结构。 For 循环
的作用是依次从字符串 s 中读取每个字符(结合 Mid 函数),
程序的作用为统计字符串 s 中连续大写字母或数字的字符串
个数,If Not flag Then 中条件 Not flag 等价于 flag = False,本题
还有一个地方要注意,当取字符为“3.40GHz”中的字符“0”后
flag = True,取到“G”时不累加 k 的值。 故选 B。
10.有如下 VB 程序段:
Function GCD(m As Long, n As Long) As Long
Dim temp As Long, r As Long
If m < n Then temp = m: m = n: n = temp
d = m - n
Do While d <> n
If d >= n Then
m = d
Else
m = n
n = d
End If
d = m - n
Loop
GCD = n
End Function
Private Sub Command1_Click()
Text1.Text = Str(GCD(48,36))
End Sub
程序运行完后,单击 Command1 按钮,文本框 Text1 中显示
的是 ( )
A.12 B.18 C.36 D.48
答案 A 本题考查 VB 的自定义函数及求两个数最大公
约数的“更相减损术”算法。 48 和 36 的最大公约数是 12。
故选 A。
11.有如下 VB 程序段:
Dim a(1 To 5) As Integer, i As Integer
Dim flag As Boolean,j As Integer
a(1) =1 : a(2) = 1 : a(3) = 1 : a(4)= 1 : a(5) = 1
Randomize
For i = 1 To 5
j = 1: flag = True
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
2 6
Do While j <= i - 1 And flag = True
a(i) = Int(Rnd ? 5 + 1)
If a(i) = a(j) Then
i = i - 1: flag = False
End If
j = j + 1
Loop
Next i
运行程序后,数组中的数据值可能是 ( )
A.1 4 3 1 5 B.1 1 3 5 4
C.1 2 3 5 5 D.1 3 4 5 6
答案 A 本题考查 VB 的循环结构和分支结构以及随机
函数。 For 循环的作用是控制产生 a( i)的次数,每次 Do 循环
j 的值从 1 到 i 1,每次随机产生一个整数 a( i),一方面,a( i)
的范围是[1,5],另一方面,每次产生的数与前一个不重复,
否则重新产生。 因此,排除选项 B,C,D。 故选 A。
12.如果数组 a(下标 1 到 n)满足 a(1)≤a(2)≤…≤a( i 1)≤a
(i)≥a(i+1)≥…≥a(n),则称数组 a 是单峰的,并称 a(i)是
数组 a 的“峰顶” 下列程序段用于查找数组 a 中的“峰顶”,
并返回该“峰顶”值
Dim a(1 To 10) As Integer
Function Search (L As Integer, R As Integer)
As Integer
M = (L + R) \2
If a(M) < a(M - 1) And a(M) > a(M + 1) Then
(1)
ElseIf a(M) > a(M - 1) And a(M) > a(M + 1) Then
(2)
ElseIf a(M) > a(M - 1) And a(M) < a(M + 1) Then
(3)
End If
End Function
Private Sub Command1_Click()
Label1.Caption = "“峰顶” 值是:" + Str(Search
(1, 10))
End Sub
上述程序中划线处可选语句为:
①Search = Search(M + 1 , R)
②Search = Search(L , M 1)
③Search = a(M)
则(1)(2)(3)处的语句依次是 ( )
A.①②③ B.①③② C.③①② D.②③①
答案 D 本题考查 VB 的递归算法及对分查找算法。 如
果 a(M) > a(M 1) And a(M) > a(M + 1),则此时的 M 即
为“峰顶”,因此(2)处填 Search = a(M);当 a(M) < a(M
1) And a(M) > a(M + 1)时,说明“峰顶”在左半区,因此 L
不变,R=M 1,(1)处应填 Search = Search(L , M 1)。 故
选 D。
二、非选择题(本大题共 4 小题,其中第 13 小题 4 分,第 14 小
题 8 分,第 15 小题 7 分,第 16 小题 7 分,共 26 分)
13.小李使用 Excel 软件处理高一年级 620 位学生学考模拟考成
绩数据,部分数据如图 a 所示
图 a
请回答下列问题:
(1)区域 O7:O22 的数据是通过在 O7 单元格输入公式,并将
其自动填充至 O8:O22 得到的,则单元格 O7 的公式
是
(提示:COUNTIFS 函数用于统计某个区域满足条件的单
元格 个 数 例 如 = COUNTIFS ( C4: C623, M22, K4:
K623," > = 70" ,K4:K623," < 80" ) 表示统计数据区域
C4:C623 中的值等于单元格 M22 的值,且区域 K4:K623
中数值大于或等于 70 并且小于 80 的单元格个数 )
(2)小李为了计算物理学科全年段的平均分,他在 D624 单元
格输入公式 = AVERAGE(D4:D623),结果 D624 单元格
没有计算出物理学科的平均分,而显示 =AVERAGE(D4:
D623),分析原因:
(3)根据图 a 所示的数据制作的图表如图 b 所示,下列描述
正确的是 (多选,填字母)
A.该图表的数据区域为 N6:Q6,M23:Q23
B.若将 C4 单元格中的值更改为 10,则该图表不会发生
变化
C.将 A4:K623 区域的数据按“物理”列为关键字进行降
序排序,该图表不发生变化
D.对技术“全卷”列进行如图 c 所示的筛选操作,筛选后,
图表不会发生变化
图 b
图 c
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
3 6
答案 (1)= COUNTIFS(C$4:C$623,M7,K$4:K$623," >
= 70" ,K$4:K$623," <80" )
(2)有可能是 D624 单元格格式设置成文本格式
(3)BC
解析 本题考查 Excel 中的公式,单元格的格式设置,图表
的数据区域及排序、筛选对图表的影响。 (1)由于区域 O7:
O22 的数据是通过在 O7 单元格输入公式后自动填充得到
的,观察题图可知单元格 O22 的公式是 =COUNTIFS(C$4:C
$623,M22,K$4:K$623," > = 70" ,K$4:K$623," <80" ),可以
推断 O7 的公式是 = COUNTIFS(C$4:C$623,M7,K$4:K$
623," > = 70" ,K$4:K$623," <80" )。 (2)如果单元格 D624
的格式是“常规”或“数字”,当输入公式 = AVERAGE(D4:
D623)时,会自动计算区域 D4:D623 的平均值,但当单元格
D624 的格式是“文本”时,Excel 会把公式识别为文本形式。
(3)在图表中,先根据图表 x 轴上“全校”,找出区域 M23,再
根据图例找出区域 N6:Q6(或 N3:Q3),然后根据图表中数据
找出相关区域 N23:Q23,根据数据区域的对称性,得图表的
数据区域是 M3:Q3,M23:Q23 或 M6:Q6,M23:Q23,故选项 A
错误。 若将 C4 单元格中的值更改为 10,根据公式,将会影响
1 班和 10 班的等级人数,但全校各等级的人数不会变化,故
选项 B 正确。 对 A4:K623 区域的数据进行排序,A4:K623
区域数据将会发生位置变化,而统计全校各等级人数的公式
不发生变化,从而图表也不会改变,故选项 C 正确。 对技术
“全卷”列进行筛选操作,则筛选后,部分不满足条件的数据
所在行将被隐藏,有可能导致图表数据区域所在行被隐藏,
这样会导致图表发生变化,故选项 D 错误。
14.小 明 制 作 主 题 为 “ 毕 业 季” 的 多 媒 体 作 品, 首 先 使 用
Photoshop 软件处理图片,然后使用 Flash 软件制作动画 请
回答下列问题:
图 a
(1)如图 a 所示,当前状态下,下列说法错误或操作方法不可
行的有 (多选,填字母:A.修改左下角 100%为
200%,“文档:384.0K”不变 / B.可以删除“绿叶右”图层 /
C.图层“副标题”添加了滤镜 / D.用“文本”工具修改“文
字”图层中的文字颜色 / E.可以将“副标题”的图层样式
复制到“背景”图层) (注:全部选对的得 2 分,选对但不
全的得 1 分,不选或有选错的得 0 分)
(2)在作品制作前进行了相应的分析和规划,其中不属于脚
本编写的是 (单选,填字母:A.确定该作品“绿叶”等
素材需要从网络中获取 / B.确定该作品使用 Flash 等软
件制作 / C.根据主题思想和内容,制订各元素的显现顺
序和呈现方式 / D.确定该作品的脚本大纲)
(3)如图 b 所示,“文字动画”图层第 1 帧到第 60 帧的动画实
现文字“We graduated!”左移到中间逐渐变成“我们毕业
啦!”的效果,则该图层第 1 帧到第 60 帧的补间类型
是
图 b
(4)“风车”图层第 1 帧应用了“风车”元件,测试场景时,风
车的支杆时隐时现,“风车”元件编辑界面如图 c 所示,要
使风车的支杆一直呈现,正确的操作是
图 c
(5)如图 b 所示,在“控制” 图层第 60 帧添加了动作命令
“stop();”,“音乐”图层添加了背景音乐,声音的属性如
图 d 所示,测试该场景时能听到声音 秒
图 d
(6)测试影片时,“片头”场景中最后帧停止播放,并出现“播
放”按钮,单击该按钮,影片跳转到“主界面”场景第 1 帧
并停止播放, 则 “ 播放” 按钮的动作脚本正确的 有
(多选,填字母)
A.on(press){Stop();
B.on(release){NextFrame();
C.on(release){gotoAndStop(1);
D.on(press){gotoAndStop("主界面" ,1);
E.on(release){Stop("主界面" ,1);
(注:全部选对的得 2 分,选对但不全的得 1 分,不选或有
选错的得 0 分)
答案 (1)CDE (2)B (3)形状补间动画 (4)在“风
车”元件的“支杆”图层第 20 帧处执行“插入帧”操作,然后
在第 10 帧处执行“清除关键帧”操作(或其他等价操作)
(5)6 (6)BD
解析 本题考查 Photoshop 和 Flash 的综合应用。 (1)题图
a 左下角 100%是缩放的比例(调整后图像大小不变);“绿叶
左”图层全锁,不能删除,“绿叶右”图层虽然与“绿叶左”图
层进行了链接,但可以删除;图层“副标题”是文本图层,不能
添加滤镜;“文字”图层是普通像素图层,不能用“文本”工具
修改其中的文字颜色;“背景”图层是背景锁图层,不能添加
图层样式,也不能将其他图层的样式复制粘贴到这个背景
图层。
(2)确定作品使用 Flash 等软件制作属于多媒体作品的创作
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
4 6
需求分析。
(3)动画实现文字从一种状态逐渐变成另外一种状态的效果
属于形状补间动画。
(4)“风车”元件的“支杆”图层第 10 帧是空白关键帧,之后
没有帧,要使测试影片时始终显示支杆,可以在“支杆”图层
最后帧处插入帧,然后在第 10 帧处执行“清除关键帧”操作,
使该帧变成普通帧。 或先将第 10 帧移动到第 20 帧,然后在
第 20 帧处执行“清除关键帧”操作。
(5)声音的同步属性是“数据流”,对照时间轴,如果播放次
数为 1,则听到声音 3.5 秒(35 帧 / 10fps), 由于重复次数为
2,所以 2×3.5= 7 秒,但因为该场景到第 60 帧就停止播放,所
以测试该场景时能听到声音 6 秒。
(6)当前场景在“片头”,下一场景是“主界面”,对按钮可以添加
的动作命令为:on(press){gotoAndStop("主界面",1);}或 on(re
lease){gotoAndStop("主界面",1);},动作命令“NextFrame();”
的作用是将播放移到下一帧(停止播放),由题意知当前在“片
头”的最后一帧,下一帧即为“主界面”的第 1 帧。
15.IPV6 的地址长度为 128 bit,采用十六进制表示 格式为 X:
X:X:X:X:X:X:X,其中每个 X 表示地址中的 16 bit,以十六
进制表示 其中每个 X 的前导 0 是可以省略的
例如:2018:0DB8:00BA:0023:0008:080B:202C:417A,去掉
前导 0 后变成 2018:DB8:BA:23:8:80B:202C:417A,然后对
X 进行左右交替上升排序,最后得到 2018:23:8:BA:DB8:
80B:417A:202C 编程实现如下功能:在文本框 Text1 中输
入原始 32 位十六进制 IPV6 地址,单击“去前导零并排序”按
钮 Command1,去掉 IPV6 的前导 0 后进行左右交替上升排
序,并在文本框 Text2 中输出,程序运行界面如图所示
(1)要使程序运行时,文本框 Text2 的宽度等于文本框 Text1
的宽度,可在 Form Load 事件过程中添加语句 (单
选,填字母:A.Width2 = Width1 / B.Text2.Width = Text1.
Width / C.Text1.Width = Text2.Width)
(2)请在划线①处填入合适的代码
(3)程序代码中,②处语句加框部分有错,请改正
(4)请将③处语句补充完整
Private Sub Command1_Click()
Dim ipv6 As String, c As String, a(1 To 8)
As String
Dim i As Integer, n As Integer, j As Integer, L
As Integer
Dim flag As Boolean '前导 0 判断,false 表
示前导 0,true 表示非前导 0
ipv6 = Text1.Text
L = Len(ipv6): n = 1: j = 1
i = 1: flag = False
Do While i < L
c = Mid(ipv6, i, 1)
'①填空
If c = ":" Then
a(n) = Mid(ipv6, j, i - j - 1)
j = i
n = n + 1
flag = False
ElseIf c <> "0" Then
flag = True
ElseIf Mid(ipv6, i, 1) = ":" Then
flag = True
ElseIf c = "0" Then '②改错,判断 0 是
否需要去除
j = j + 1
End If
Loop
a(n) = Mid(ipv6, j, i - j + 1)
'以下开始对数组 a 的元素进行左右交替上升排序
start = n: finish = 2
For i = 1 To n - 1
step_value = (-1) ^ i
For j = '③补充程序
If a(j) < a(j + step_value) Then
t = a(j): a(j) = a(j + step_value):
a(j+ step_value) = t
End If
Next j
start = start + step_value
t = start: start = finish: finish = t
Next i
'文本框 Text2 中输出去前导零并重排后的 ipv6 地
址,代码略
End Sub
答案 (1)B (2) i = i + 1
(3)ElseIf c = " 0" And flag = False
(4)start To finish Step step value
解析 (1)将文本框 Text1 的宽度值赋值给文本框 Text2,
因此答案为 B。
(2)Do 循环语句的作用是依次读取文本框 Text1 中每一个字
符,变量 i 控制循环的次数,因此答案为 i = i + 1。
(3)当前导零出现时,此零要去掉,而非前导零要保留,判断
前导零的标志是 flag = False。
(4)此排序是冒泡排序的变形,第一次从最后一个开始从右
向左,当前数据与左边进行比较,若当前数据比左边要小,则
进行交换,将最小 1 个数据排到第 1 个位置;第二次从左边第
二个开始从左向右,当前数据与右边比较,若当前数据比右
边要小,则进行交换,将次小 1 个数据排到最后 1 个位置。 内
循环用变量 start、finish 分别表示比较开始、结束的值,变量
step value 控制循环的方向。
以 8 个数据为例,第一遍,从右往左,即从第 8 个到第 2 个,当
前数据与前一个比较,即 start = 8,finish = 2,a( j) <a( j 1),因
此 step value= 1;第二遍,从左往右,即从第 2 个到第 7 个,
当前数据与后一个比较,即 start = 2,finish = 7,a( j) <a( j+1),
因此 step value= 1;第三遍,从右往左,即从第 7 个到第 3 个,
当前数据与前一个比较,即 start = 7,finish = 3,a( j) <a( j 1),
因此 step value= 1;……
16.某种字符加密方法描述如下(加密前后的字符都是“A” ~
“Z”):
·以 m 个字符为一段,将 n 个待加密字符依次分割成若干个
字符段,剩余字符(个数小于 m)为独立字符段
·字符加密规则:字符个数等于 m 的字符段,先进行字符变
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
5 6
换,再进行位置变换,得到加密字符段 字符个数小于 m 的
字符段,只进行字符变换,直接得到加密字符段
·依次合并加密字符段,即为最后的加密字符
字符变换:将字符后移密钥数组 x(元素个数为 m,值为 0~ 26
的整数)位,方法如下: “A”后移 5 位得到“F”, “Z”后移 5
位得到“E”
位置变换:用位置变换密钥数组 y(元素个数为 m,值为 1~ m
的不重复整数),将上述值变换后的 m 个元素进行段内位置
变换,方法如下: 加密后数据段第 y( i)个元素 =字符移动后
第 i 个元素
例如,n= 5,m= 3 的字符“ABCDE”加密过程如下:
(1)已知 m= 3,数组 x 与数组 y 中的数据如表所示,则待加密
数据段“HELLO”加密后的数据段为 (填字
符)
x( ) x(2) x(3)
5 0 5
y( ) y(2) y(3)
3 2
(2)小明根据上述加密算法,设计了一个对应的解密程序,运
行界面如图所示,其 VB 代码如下,请在划线处填入合适
的代码(解密与加密使用相同的密钥数据) (注“A”的
ASCII 码值为 65)
Private Sub Command1_Click()
Const n = 100
Const m =3
Dim i As Integer, j As Integer
Dim a (1 To n) As Integer, b (1 To n) As
Integer
Dim x (1 To m) As Integer, y (1 To m) As
Integer
'读取值变换与位置变换密钥数据,分别保存在数组
x 与 y 中,代码略
'读取待解密字符,将相应的 ASCII 值保存在数组
a 中,代码略
'下面进行位置变换:位置变换后数据保存到数组
b 中
For i = 1 To ①
For j = 1 To m
②
Next j
Next i
For i = (n \m) ? m + 1 To n
b(i) = a(i)
Next i
'下面进行字符变换: 字符变换后数据仍保存到数
组 b 中
j = 1
For i = 1 To n
b(i) = ③
j = j + 1
If j > m Then j = 1
Next i
'输出解密后数据,代码略
End Sub
答案 (1)OAMQY
(2)①n\m
②b(( i 1)?m+j) = a(( i 1)?m+y( j))
③ASC(" A" )+(b( i) ASC(" A" ) x( j) + 26)Mod 26
解析 (1)将“HELLO”字符分成两组:“HEL” “LO”,第 1
组“HEL”中的字符分别向后移动 5,10,15 位,变换后变成
“MOA”,位置变换后变成“OAM”;第 2 组“LO” (不足 3 个,
只进行字符变换,直接得到加密字符段)中的字符分别向后
移动 5,10 位,变换后变成“QY”,最后得到加密字符段为
“OAMQY”。
(2)①n 个字符分成 m 段,共分成 n \m 段(不含字符个数小
于 m 的段),②处的内循环每次处理 m 个数据,所以①处的
外循环表示共有多少整数段,因此①处的答案为 n \m。
②位置变换后的数据存储在数组 b 中: 当 i = 1 时,完成第 1
段数据变换,即 b( j) = a(y( j));当 i = 2 时,完成第 2 段数据
变换,即 b(m+j) = a(m+y( j));当 i = 3 时,完成第 3 段数据
变换,即 b(m?2+j) = a(m?2+y( j));当 i = 4 时,完成第 4
段数据变换,即 b(m?3+j) = a(m?3+y( j));……归纳得出
第 i 段数据变换为 b(( i 1)?m+j) = a(( i 1)?m+y( j)),
所以②处答案为 b(( i 1)?m+j) = a(( i 1)?m+y( j))。
③首先将 26 个字母的 ASCII 码值变成索引码 0 ~ 26,加密时
是后移 x( j)位,而解密时是前移 x( j)位,所以我们要减去 x
( j),当差值为负时,可以再加上 26,除以 26,求余数,得出相
应的索引码,然后变成相应字符的 ASCII 码值。 综合两种情
况,表达式为:b( i) = ASC( " A" ) +(b( i) ASC( " A" ) x
( j) + 26)Mod 26。
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
6 6