2023年10月浙江新阵地联盟高三联考信息技术卷完美解析

资源下载
  1. 二一教育资源

2023年10月浙江新阵地联盟高三联考信息技术卷完美解析

资源简介

绝密★考试结束前(国庆返校联考)
浙江省新阵地教育联盟 2024 届第二次联考 技术试题卷
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个选项中,只有一个符合题目的 要求,不选、多选、错选均不得分)
阅读下列材料,回答第 1 至 4 题
第 19 届亚运会组委会推出“智能亚运一站通 ”,为观众提供从购票、出行、观赛、住宿、用餐和旅游等 一站式服务。其中美食通,基于 5000 万条真实数据,筛选出老百姓爱吃的美食榜单; 出行通,涵盖到达 56 个亚运场馆出行数据,为观众智能推荐最佳出行路线;慢直播,通过部署在杭州各地标的摄像头,利用 5G 高清转播监控画面,帮助市民足不出户欣赏城市美景;智能篆刻,实现个性化定制自己的专属印章; 线上 火炬传递,将亚运之火传遍亚洲 45 个国家与地区。
1.下列有关数据、信息、知识、智慧的说法错误的是
A.单纯的数字“ 19 ”是数据,没有具体的意义
B.基于 5000 万条真实数据,筛选出美食榜单,说明信息是可以加工处理的
C.观众运用相关技术实现购票、出行、观赛等,这是智慧的体现
D.市民通过慢直播,实现足不出户欣赏城市美景, 主要体现了信息的共享性
(
【答案】
C
【解析】
本题考查数据、信息、知识、智慧的相关知
识。
选项
ABD
都是正确的;选项
C
.观众运用相关技术实现购票、出行、观赛等,这是知识的体现,故选项
C
是不正确的。所以答案是
C

)
2.下列关于大数据和人工智能的说法错误的是
A.“5000 万条真实数据 ”不是大数据
B.“慢直播 ”转播监控画面,使用了图计算技术
C.“ 出行通 ”通过大数据动态追踪,提高数据分析的即时性,实现智能推荐最佳路线
D.“智能亚运一站通 ”里机器客服和人工客服协作解决问题,体现了混合增强人工智能的应用
(
【答案】
B
【解析】
本题考查大数据与人工智能的相关知识。
选项
ACD
都是正确的;选项
B
.“慢直播
”转播监控画面
,使用了批处理技术,故选项
B
是不正确的。所
以答案是
B

3
.下列关于“智能亚运一站通”系统的说法,
错误
的是
A.
“智能亚运一站通”中的智能篆刻程序,属于应用软件
B
.用于登录“智能亚运一站通
”系统的智能
手机,不属于该系统的硬件
C
.使用“智能亚运一站通
"
时的技术门槛,加剧信息系统的数据鸿沟
D
.该系统在网络故障时无法登录使用,体
现了信息系统对外界环境的依赖性
)
高三技术 试题卷 第 1 页(共 11 页)
(
【答案】
B
【解析】
本题考查信息系统的相关知识。
选项
ACD
都是正确的;选项
B
.用于登录“智能亚运一站通”系统的智能手机,属于该系统的硬件,故选

B
是不正确的。所以答案是
B

)
4.下列关于网络系统的概念的说法,正确的是
A.“三网”融合是指计算机网络、广播电视网络和广域网
B.利用 5G 高清转播监控画面,其中 5G 是指通信网络速度为 5Gps
C.用手机通过“智能亚运一站通 ”购票时,需使用 TCP/IP 协议
D.网络具有资源共享功能,这里的资源共享是指软件、数据的共享, 不包括硬件
(
【答案】
C
【解析】
本题考查网络系统的相关知识。
选项
A
.“三网”融合是指计算机网络、广播电视网络和移动通信网,故选项
A
是不正确的;选项
B
.利用
5G
高清转播监控画面,其中
5G
是指第五代通信技术,故选

B
是不正确的;选项
C
.用手机通过“智能亚
运一站通
”购票时,需使用
TCP
/
IP
协议,是正确的;选项
D
.网络具有
资源共享功能,这里的资源共享是
指软件、数据的共享,也包括硬件,故选项
D
是不正确的。所以答案是
C

)
5.下列关于信息安全与责任的说法,错误的是
A.通过身份认证后的用户,可以访问系统中的所有资源
B.安装防火墙可以有效地阻挡外部网络的攻击和对进出数据的监视
C.系统进行病毒防护需坚持预防为主,查杀为辅的原则
D.设计开发的计算机软件在开发完成之日起就受到法律的保护
(
【答案】
A
【解析】
本题考查信息安全与责任的相关知识。
选项
A
.通过身份认证后的用户,不一定可以访问系统中的所有资源,故选项
A
是不正确的;选项
BCD

是正确的。所以答案是
A

)
6.下列关于移动终端的说法,正确的是
A.移动终端没有采用计算机经典的体系结构
B.麒麟 CPU 是我国首款国产移动终端中央处理器
C.智能终端通过重力传感器实现计步功能
D.CPU 的性能是决定智能手机性能的唯一指标
(
【答案】
B
【解析】
本题考查移动终端的相关知识。
选项
A
.移动终端也采用计算机经典的体系结构,故选项
A
是不正确的;选项
B
.麒麟
CPU
是我国首款国产
移动终端中央处理器,是正确的;选项
C
.智能终端通过加速度传感器实现计步功
能,故选项
C
是不正确的;
)
高三技术 试题卷 第 2 页(共 11 页)
(

7
题图
) (
选项
D
.
CPU
的性能是决定智能手机性能的主要指标,但不
是唯一指标。所以答案是
B

)
7.某算法的部分流程图如第7题图所示, 以下说法正确的是
A.该流程执行后,变量s 的值是42
B.该流程执行后,变量a 的值是16
C.该流程用于计算并输出2-4+8-16的值
D.该流程完整执行1次, “a<32 ”共执行了5次
(
【答案】
D
)
(
【解析】
)
(
本题考查流程图。
)
(
结合下表,可知
A
选项,
s
值是
10

B
选项,
a
值位
32

C
选项,结果是
2+8
)
S k a
0+1*2=2 0 4
2+0*4=2 1 8
2+1*8=10 0 16
10+0*16=10 1 32结束
8.某二叉树的树形结构如第8题图所示,其后序遍历结果为FABGDEC ,则中序遍历结果为
第8题图
A.FDAGBCE B.FDABGEC C.AGBDFCE D.FDAGBEC
(
【答案】
A
【解析】
本题考查二叉树。
已知后序遍历,结合图可绘制出二叉树
,所以中序遍历是
FDAGBCE
)
9.栈S初始状态为空栈,将序列3,2,5,7, 1中元素逐一入栈,当栈空或入栈元素比栈顶元素大时则入栈,否则
出栈至符合条件再入栈。序列所有元素入栈完毕后,栈内剩余元素出栈,直至栈空。则出栈的顺序是
高三技术 试题卷 第 3 页(共 11 页)
A.17523 B.37521 C.37512 D.32751
(
【答案】
B
【解析】
本题考查栈。
按题意,栈的变化是
s=[3]

[2]
,出栈
3

[2,5]

[2,5,7]

[1]
,出栈
7,5,2

出栈
1
)
10.有如下Python程序:
import random
def func(n):
if n==1:
return 1
elifn==2:
return 2
elifn%2==1:
return 2*func(n-2)+func(n-1)
else:
return func(n-2)+2*func(n- 1)
p=random.randint(3,6)
print(func(p))
执行程序后,输出结果不可能为
A.4 B.10 C. 12 D.18
(
【答案】
C
【解析一】
本题考查递归。
P
值可能是
3,4,5,6

func
(6)

func
(4)+2*
func
(
5)

func
(5)

2*
func
(3)+
func
(4)

func
(4)

func
(2)+2*
func
(3)

func
(3)

2*
func
(1)+
func
(2)=2*
1+2=4
。因此可推理
func
(4)=2+2*4=
10,
func
(5)=2
*4+10=
18,
func
(6)=10+2*
18=46
【解析二】
本题考查随机数、
自定义函数及递归算法知识。根据自定义函数
func
可知,其
终止条件是
n==1

n==2
,否
则将进行递归调用,而参数
p
的范围是
3

4

5

6
。将这些值代入函数
func

可以计算得到
func(3)=4

func(4)=10

func
(5)=18

func
(6)=46
,故选项
C
不可能。
)
11.有如下程序段:
m=3;n=7
head=tail=0;ans=0
vis=[0]* 10;q=[0]* 10
for i in range(n):
x=int(input())
if(vis[x]==0):
ans+=1
if(tail-head>=m):
vis[q[head]]=0
head+= 1
高三技术 试题卷 第 4 页(共 11 页)
q[tail]=x
tail+=1
vis[x]=1
print(ans)
运行该程序段,依次输入x 的值:1 ,2 ,1 ,5 ,4 ,4 ,1 。则程序运行完成后ans的值是
A.3 B.4 C.5 D.6
(
【答案】
C
【解析一】
本题考查队列。
vis
[x]
表示
x
是否访问过,当某元素
x
未曾访问则入队,当队列长度超过
2
个,将队首出队且设置为未曾访问。
因此队列的变化是
q=[1]

[1,2]

[1,2,5]

[2,5]

[2,5,4]

[2,5,1]
,因此
ans
表示队列中出现过的元素个数,即
1,2,5,4,
1
,一共
5
个。
【解析二】
本题考查队列知识。初始状态下,数组
vis
和数组
q
的初值全部为
0

head

tail
的值均为
0
。当
vis
[x]==0
时,计
数器
ans

1
,同时将
x
入队,并将相应的
vis
[x]
的值置为
1
。另外还有当队列中
的元素超过
3
个时,还必须将队
头元素出队,且将对应的
vis
[q[
head
]]
值置为
0
。从输入的
x

可知,能够触发计数器
ans
动作的
x
值有
1

2

5

4
,重复的
x
,即两个
1
和一个
4
,由于
vis
[x]
已经被重置为
1
,因此不能触发
ans
的动作,但是由于中间有一次
q[
head
]=1
出队
,
因此最后的那个
x=
1
,也能让
ans

1
,故
ans
的终值是
5
。故本题选
C

)
12.某对分查找算法Python程序段如下:
from random import randint
a=[8, 12, 15, 18, 18,25,25,35,47]
i=0 ; j=8
key=randint(8,48)
while i<=j:
m=(i+j)//2
if key<=a[m]:
j=m- 1
else:
i=m+1
print(i)
该程序执行完成后输出值为3 ,以下说法错误的是
A.key值可能是16到18的整数
B.该程序m=(i+j)/ /2被执行4次
C.该程序可实现查找第一个大于等于key值的位置
D.若key<=a[m]改为key(
【答案】
D
【解析】
本题考查随机数及二分查找知识。这是一个
查找边界条件的二分模板,
由于该程序执行完成后输出值为
3

可以推断
a[2]<
key
<=a[3],
故选项
A
正确。若
key
值是
16

18
之间,查找共进行
4
次,因此
m=(i+j)//2
被执行四次,
故选项
B
正确。由于
key
<=a[m]
时调整
j
,因此循环结束后的
i
是第一个大于等于
key
的位置,因此选项
C
正确。
选项
D
错误,修改
key
<=a[m]
改为
key
,且
key
=25
时,执行完

i
的值应该是
7
,即数值
35
所在的下标。
)
高三技术 试题卷 第 5 页(共 11 页)
二、非选择题(本大题共 3 小题,第 13 小题 8 分,第 14 小题 9 分,第 15 小题 9 分,共 26 分)
13.小陈在学习历史时,从公元 1000 年至今,发现有的日期特别的“优美”,如 1010 年 01 月 01 日,2021 年 12 月 02 日,小陈把它们称为“对称日”。为了寻找指定年份中的“对称日”,小陈编写了如下的 Python 程序,程序运行结果如第 13 题图所示,请在划线处填入合适的代码。
(1)Python程序如下,请在划线处填入合适的代码。
(2)程序加框处代码有错,请改正。
def check(k):
check=True
y=int(k[0:4])
m=int(k[4:6])
d=int(k[6:8])
flag=0
if m<1 or m>12:
check=False
(
#
判断闰年时的相应情况
)if (y%4==0 and y %100!=0 or y%400==0) and ① :
flag=1
if ② :
check=False

ks=int(input("请输入开始年份:"))
js=int(input("请输入结束年份:"))
lst=[31,28,31,30,31,30,31,31,30,31,30,31]
for i in range(ks,js+1):
k1=str(i)
k1=k1+k1
if check(k1)==True:
print(k1)
(
【答案】

1
)①
m==2

check
==
True
and
d
>
lst
[m-1]+
flag

check
==
True
and
(d<1
or
d
>
lst
[m-1]+
flag
)

return
check

2

k1=k1+k1[::-1]
(
注①②相关联答案有①
True

check
==
True
and
(m=
=2
and
d
>
lst
[m-1]+
flag
or
m
!=2
and
d
>
lst
[m-1])
【解析】
本题考查
Python
简单算法。

1
)函数
check
检查变量
k
所存储的对称型的年月日是否合理,
变量
y
表示年份,变量
m
表示月份,变量
d
表示日期。首先检查月份是否合理,若不合理,则
check
设为
False
,然后在月份合理的情况下再检查日
期是否合理,
日期情况较为复杂,列表
lst
给出每个月的天数,此外还要考虑闰年二月份的特殊情况,
①闰年的二月份需在
lst
列表表示的二月份的天数上再加
1
,此空为:
m==2
②在月份合理的情况下检查日期是否合理,此空为:
check
==
True
and
d
>
lst
[m-1]+
flag
③最后返回函数值:
return
check

2
)优美日是对称日,因此将
k1
逆序后连接
在原年份后面:
k1=k1+k1[::-
1]
)
高三技术 试题卷 第 6 页(共 11 页)
14.学校将在操场组织一项体育活动,同学们可以通用浏览器打开相关网页进行活动项目投票,根据投票结 果来决定活动类型。小陈搭建的投票系统不仅可以收集投票数据, 还能监测当天的湿度,以此判断是否 适合开展相应的活动。系统的架构图如第 14 题图 a 所示,请回答下列问题:
第 14 题图 a
班级 姓名 投票结果
301 小红 篮球
302 小姚 足球
... ... ....
第 14 题图 b
第 14 题图 c
(1)关于该投票系统, 以下说法正确的是 (多选,填字母) 。
A.可以通过“正确性证明”确保该系统中程序无错
B.湿度传感器与智能终端相连接,不需要安装设备驱动程序
C.小陈选择 SQLite 作为数据库管理系统,该步骤属于系统开发中的详细设计
D.第 14 题图 a 中,智能终端通过 IoT 设备连接 WiFi ,实现与服务器之间数据传输
(2)该系统服务器端程序采用 Flask 框架编写,数据存储结构如第 14 题图 b 所示。投票结果查询功 能程序代码如下,查询结果如第 14 题图 c ,请在划线处填入合适的代码。
import sqlite3
import pandas as pd
import matplotlib.pyplot as plt
from flask import Flask,render_template,request
app=Flask(__name__)
#投票提交、收集、处理等部分程序代码略
@app.route('/view')
def result():
#通过游标 cur 查询投票人数,代码略
data=cur.fetchall()
dic={"足球":0,"篮球":0,"排球":0,"长跑":0}
for i in data:

dic[act_name]+= 1
s=pd.Series(dic)
plt.barh( ② , s.values)
plt.title("投票结果汇总")
高三技术 试题卷 第 7 页(共 11 页)
plt.xlabel("票数")
plt.ylabel("活动名称")
#将统计结果保存为图片,并发送到访问端,代码略
(3)系统通过湿度传感器获取湿度数据,若湿度超过阈值则 LED 信号灯亮,智能终端部分程序代码 如下,请根据上述信息回答下列问题。
IP="192.168.1.233";PORT="5050";SSID="JF501";PASSWORD="JF123456"
#定义 IoT 模块和 micro:bit 开发板串口通信参数、IOT 模块连接 Wi-Fi 等代码略
#micro:bit 和服务器建立连接相关代码略
while True:
hum=pin0.read_analog()
errno,resp=Obloq.get("sd id= 1&value="+str(hum), 10000)
if errno==200:
display.show(resp)
if resp=="1":
pin8.write_digital(1)
else:
pin8.write_digital(0)
else:
display.show(errno)
sleep(1000*5)
①根据上述代码,智能终端每隔 秒钟传送一次 id 和 value 值给服务器;若要向服务器提交 id=1 和 value=80 的数据,则 URL 应该
②系统正常工作一段时间后,由于室外湿度较大,LED 灯发亮,小陈用浏览器查看湿度数据时,发 现浏览器显示“Not Found” 。请结合第 14 题图 a ,从硬件角度简要说明造成上述问题的原因
(注:回答 2 项,1 项正确得 1 分)。
(
【答案】

1

BD
(
2

)

2


act
_
name
=i[2]

2

)

s.
index
(2

)

3


5 (1

)
http
://192.168.1.233: 5050/
sd

id
=
1&
value
=80(1

)

(

:
答对
1
项得
1
分,共
2

)
1 .
客户端的网络问题(只要写客户端不能上网或联网等相关问题都可以
)

.
服务器与互联网的连接问题(可以写服务器有线网络问题或有线网卡问题等
)
【解析一】
本题考查信息系统搭建

1
)选项
A
:“正确性证明”只证明程序功能是正确的,并不能证明程序的动态特性
是符合要求的,无法
确保程序无错;选项
C
:选择数据库管理系
统属于概要设计。

2
)①分析可得,代码段中
i
表示
data
中的每一条记录
,结合
dic
字典中的键值对关系,
dic
[
act
_
name
]+=
1
用来统计记录中的投票,所以需要用
act
_
name
读取每条记录中的投票结果,即
act
_
name
=i[2]

② 缺失的空表示图表中标示在
y
轴上的数
据为活动项目,而代码段中的将字典
dic
封装成
Series


s
,其中
dic
的键
(
活动项目名称
)
作为
s
的索引
(
index
),
所以答案为
s.
index


3
)①根据代码段中的“
sleep
(1000*5)
”可得,智能终端每隔
5
秒钟传送
一次
id

value
值给服务器。
根据代码段中的
IP
、端口、以及通过
GET
方式传递
的参数可得,
第二空答案为
http
://
192.168.1.233
:
)
高三技术 试题卷 第 8 页(共 11 页)
(
5050/
sd

id
=1&
value
=80

② 根据题干描述,智能终端和传感器及服务器的数据通信没有问题, 智能终端和执行器
之间的连接没
问故障。浏览器显示“
Not
Found
”,说明浏览器与服务器之间的通信故障,所以可能是客户端的网络
问题
或者服务器与互联网的连接故障等其它等效答案。
【解析二】
本题考查信息系统搭建、
Pandas
数据处理、数据可视化、
Flask
框架及信息系统故障分析。

1
)选项
A
:正确性证明不可能包含所有数据,只是选择了一些具有代表性的数据来测试程序,只能发现
程序错误,但不能证明程序无错,故选项
A
错误;选项
B
智能终端连接传感器不需要安装驱动程序,这是
因为连接的传感器已经预装了通用驱动程序
,
可以兼容大多数智能终端系统,故选项
B
正确;选项
C
:选择
数据库管理系统属于概要设计的步骤,故选项
C
错误;选项
D
:通过观察第
14
题图
a
可知选项
D
正确。

2
)①由代码
dic
={"
足球
":0,"
篮球
":0,"
排球
":0,"
长跑
":0}

dic
[
act
_
name
]+=
1
可知,
act
_
name
为字典
dic

键,即
act
_
name
表示投票项目,程序中缺少
act
_
name
的初值,查询结
果在
data
变量中,循环变量
i
逐行存
储数据,结合第
14
题图
b
可知,投票项目为
i[2],
故该空答案为
act
_
name
=i[2]
;②由代码
s=
pd
.
Series
(
dic
)

知,
s

Series
类型的数据集,只有一列
index
和一列
values
,
因此图像
x
轴为
s.
index

y
轴为
s.
values
,
故该
空答案为
s.
index


3

①由代码
sleep
(1000*5)
可知,智能终端每隔
5
秒钟传送一次
id

value
值给服务器;
由题干及代码
IP
="
192.168.1.233
";
PORT
="5050"

errno
,
resp
=
Obloq
.
get
("
sd

id
=
1&
value
="+
str
(
hum
),10000)
可知,
Web
服务
器的
IP
地址为
http
://
192.168.1.233
,端口号为
5050
,服务器端应用实例
app
中与该
URL
关联
的路由设置路
径是
/
sd
,传输数据
id
=
1

value
=80
(获取参数对
应值,访问时,在路由地址后,以
” ”
开始,给对应变量赋
值,同时给多个变量时中间用
”&”
连接
),
确定答案为
http
://192.168.
1.233:5050/
sd

id
=
1&
value
=80

②由题
干可知,室外湿度较大,
LED
灯能够,说明服务器与智能终端的连接都正常,但用浏览器访问
时却显示

Not
Found

,说明网络出现异常,则需要从服务器端和互联网网络方向分析。系统中可能造成上述问题的原因:
可能原因一是客户端的网络问题(只要写客户端不能上网或联网等相关问题都可以
),
二是服务器与互联
网的连接问题(可以写服务器有线网络问题或有线网卡问题等)
)
15.进入新学期第一天,班主任老师将班上N 个同学(学号为1-N)排成一排,分配座位。从排队到分配座位 步骤如下:
步骤一:先将1号同学安排进队;
步骤二:2 N号同学由老师依次指定入队位置,如学号为i的同学由老师指定站在队中某位同学的左侧或 右侧;
步骤三:所有同学按照上述方法入队完毕后,2人一组的方式依次分配到四个组别中;步骤四:输出每组学 生的名单。
请回答下列问题。
(1)若某班有4位同学,学号为1 4 ,完成步骤一后,执行步骤二的指令3次,每次指令包含两个整数k 和p(p为0或1) 。若p为0 ,则表示插在k号同学的左侧,p为1则表示插在k号同学的右侧。若三条指令
分别为1 0 、2 1 、1 0,则执行指令后队伍从左到右学号分别为: ▲ 。 (2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#insert(k,x)函数的功能是在k号的右侧插入x号同学;
#L和R列表分别用于记录每位同学的左侧和右侧的同学学号。
def insert(k,x):
R[x]=R[k]
L[x]=k

R[k]=x
L=[0]* 100;R=[0]* 100
insert(0,1) # 0的右边插入1号同学
高三技术 试题卷 第 9 页(共 11 页)
# info列表存储各学生姓名和学号,格式如[["张三",1],["李四",2]…],代码略
n=int(input("请输入同学人数:"))
for i in range(2,n+1):
k=int(input("请问插入在几号同学旁边?"))
p=int(input("请输入该同学的左侧还是右侧"))
if p==0:

else:
insert(k,i)
q=[[] for i in range(4)]
i=m=0

while x!=0:
q[i].append(x)
m=m+1
if m%2==0:

x=R[x]
for i in range(4):
for j in q[i]:
print(info[j-1][0],end=" ")
(
print
()
【答案】

1

2341

2
)①
L[R[k]]=x

insert
(L[k],i)

x=R[0]

i=(i+1)%4
【解析一】
考查根据题意建模,代码的分析理解能力;双向链表思想

1
)根据题意,每条指令执行如下:
1
0

2

1

2
1

2

3

1

1
0

2

3

4

1
所以最终结果是:
2 3 4
1

2
)①
k
号的右侧插入
x
号同学,就是将
x
节点插入在节

k

R[k]
之间,
x
右侧是原来
k
节点的右侧:
R[x]=[R[k]]

x
左侧就是
k
节点:
L[x]=k

k
节点的右侧更新为
x

R[k]=
x
、此时还要更新
x
右侧节点
R[k]
的左侧指向:
L[R[k]]=x
② 代码分析至此,题意已经很清晰了,
k
节点的左侧也就是
L[k
]
节点的右侧:
insert
(L[k],i)
③ 题目没有明确挑人的顺序,但是根据代码
x=R[x]
以及循环条件
x!=0
,应该是从最左侧开始,每二个
人一组,最左侧的编号是
R[0]
,代码:
x=
R[0]
④ 每二个要换到下一组:
i=(i+1)%4
【解析二】
本题考查双向链表及算法的综合应用能力。

1
)依据题意,历次的排队情况如下:
)
入队学号 指令 队列 备注
1 1 初始状态
2 (
1
0
) 2 1 2 号站在 1 号左侧
高三技术 试题卷 第 10 页(共 11 页)
(
3
2
1
2
3
1
3
号站在
2
号右侧
4
1
0
2
3
4
1
4
号站在
1
号左侧
故最终从左至右为:
2341

2
)① 分析题意,每个同学的左、右两侧学号由
R[
x]

L[x]
存储,所有同学最终会形成一个双向链表,

k
号同学右侧插入
x
,过程如下图所示:
可见①处的代码,应为
k
右侧同学的左侧为
x
,即

L[R[k]]=x
② 依题意,当
p=0
时,要将
i
插在
k
号同学的
左侧,但自定义函数
insert
(k,x)
只是将
x
插在
k
的右侧,
不能直接调用
insert
(k,i)
。由于建立了双向链表,插在
k
的左侧
,就相当于插在
k
左侧同学的右侧 ,本空填:
insert
(L[k],i)
。此空难度适中,比较巧妙。函数调用时用小括号,
L[k]
用中括号,这一点答题时要注意。
双向链表建立完毕后开始分组,分组的过程是遍历整个链表,
每两人一组分配到各组,从循环条件
while
x!=0
,结合最后一句
x=R[x]
,可以看出,本题是从链表
左端点向右遍历,③空填
x
的初值,即链表的左端
点。程序开始时,
insert(0,1) #0
的右边插入
1
号同学,可以看出
0
的右边即双向链表的左端点
,③处填
:x=R[0]

注意此处不能填
x=1
,因为随着数据不断插入,创建完毕的双向链表中,
1
号不一定是左端点。
列表
q
存储
4
个分组,遍历链表当
m%2==0
时,需要将
x
添加到新的分组
q[i]
中,④空是分组
i
值的变
化,
由于
i
值只能在
0--3
之间,故④空填

i=(i+1)%4
本题是考查了双向链表的创建、插入、遍历,结合了自定义函数等,整
体代码量不大,难度适中,思
维巧妙,是一道很好的算法题。
)
高三技术 试题卷 第 11 页(共 11 页)

展开更多......

收起↑

资源预览