学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
张三是一名计算机专业的大学生,为了帮助同学们学习专业相关的英语词汇,编写一个简易字典程序。该程序中存放词汇数据库,在学习中输入英文单词,可以获得中文翻译结果。程序中的词汇数据库采用链表方式存储,首字母相同时按升序排序。查找单词时,首先根据首字母找到同首字母最小单词所在链表,再按照链表顺序查找该单词。
(1)根据题意,部分的单词库数据逻辑结构如图所示,查找单词“byte”的过程是“binary”→“bit”→“byte”,补充图中空白单元格的值为________

列表索引

数据区域

指针区域

0

audio

音频

-1

1

binary

二进制数

6

2

byte

字节

-1

3

cursor

光标

-1

4

access

存取

1

5

cache

高速缓存

3

6

bit

比特

________

(2)wordlist(data,info)函数实现将词汇数据库data以链表的方式按字母序升序排列。info表示词汇数据库中各字母开头的最小单词位置,如info[0]表示字母a开头的最小单词在词汇数据库data中的位置。实现该功能的程序如下,请在划线处填入合适的代码。
def wordlist(data,info):
n=len(data)
for i in range(n):

data[i].append(—1)   #data[i]追加一个元素—1


for i in range(n):

d=data[i][0]


_______      
if   info[k] ==-1:

info[k] = i


else:

head=info[k]

q=head

while②_______

p=q

q=data[q][2]

if q!=head:

data[p][2]=i

data[i][2]=q

else:

data[i][2]=head

______

return data,info


(3)searchword(data,info,key)函数实现单词的查找。程序如下,请在划线处填入合适的代码。
def searchword(data,info,key):

k=ord(key[0])—ord("a")

head=info[k]

p=head

while p!=-1:

if data[p][0]==key:

return___________

p=data[p][2]

return"没有找到该单词"


读取词汇数据库,存入列表data中,列表的每个元素包含2个数据项,分别为英文单词和中文翻译,如data=[['audio','音频'],['binary','二进制数']…],数据读取存入的代码略。
’’’
info=[-1]*26
data,info=wordlist(data,info)
key=input("请输入查找单词:").lower()       #转化为小写字母
res=searchword(data,info,key)
print(key,“查找结果是:”,res)
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交