当前位置:
章节挑题
请展开查看知识点列表
>71.某明文字符串仅由大、小写英文字母组成,为实现加密,小朱依次对该明文中的每个字符进行如下操作:
①将明文中每个字符转换成其对应的十进制 ASCII 码值;
②明文的密钥由 0-7 这 8 个数字循环产生,如图 a 所示;
③加密过程中,先将每个明文字符的十进制 ASCII 码值转换成 8 位二进制数,再将每个字符对应的密钥转换为 4 位二进制数,最后,将由明文字符的十进制 ASCII 码值转换成的 8 位二进制数中的左边 4 位二进制数和右边 4 位二进制数,分别和由密钥数字转换成的 4 位二进制数逐位进行异或运算:1⊕1=0,1⊕0=1,0⊕1=1,0⊕0=0。
例如:明文字符串“Programming”中字母“a”用二进制表示是 01100001,其对应的密钥是数字 5,用二进制表示是 0101,加密后结果是 00110100,如图b所示。
④将每个字符的加密结果按行输出,如图c所示。请回答下列问题:
(1)输入字符串“China”,则字符“a”加密后的结果为
(2)实现上述功能的 Python 代码段如下,请在①②横线处将代码补充完整。
(3)加框处的代码有错误,请修改 ______。
s=input(“输入待加密的原文:“)
k=0;s1=“”;s2=“”
print(“加密结果为:“)
for i in range(0,len(s)):
ch=①
m=k
for j in range(0,4):
t1=str((ch%2+m%2)%2)
t2=②
s1=t1+s1;s2=t2+s2
ch=ch//2;m=m//2
print(s2+s1)
s1=“”;s2=“”k=k%8+1 发布:2024/11/22 13:30:1组卷:3引用:2难度:0.472.有如下Python程序段:
a=[99,85,74,68,53,42,34,27,20,13]
key=int(input(“请输入一个整数:“));i,j,k,c=0,9,0,“N“
while i<=j:
m=(i+j+1)//2;k=k+1
if key==a[m]:
c=“Y“;break
if key>a[m]:
j=m-1
else:
i=m+1
print(c,k)
执行该程序段后,下列说法不正确的是( )发布:2024/11/22 11:0:2组卷:0引用:1难度:0.573.有Python程序段,功能如下:运行程序后输入要查找的key值,要求在一个由n个数组成的降序排序队列的数组中,查找第一个小于等于key的元素下标并输出。
key=int(input( ))
L,R=0,n
while L<R:
m=
if :
L=m
else:
R=m-1
if L=n:
print(“数据不存在“)
else:
print(str(L+1))
要使程序实现上述功能,画线处填入的代码是( )发布:2024/11/22 9:0:1组卷:1引用:2难度:0.574.在某餐厅点餐系统中,利用队列来储存当前正在排队顾客的编号,head指向队首元素,tail指向队尾元素的下一个位置,若tail=head+3,则现在排队的顾客数量为( )
发布:2024/11/21 16:30:5组卷:10引用:4难度:0.575.提取“Python”中相关子串信息,针对提取的子串,以下说法不正确的是( )
发布:2024/11/20 22:30:1组卷:0引用:1难度:0.576.有如下python程序段:
a=[[4,2,-1],[0,-1,2],[2,1,0]]
head=1
a.append([8,-1,-1])
p=head
while a[p][2]!=-1:
p=a[p][2]
a[p][2]=len(a)-1
a[-1][1]=p
上述代码段中的二维列表a看作是一个双向链表,则执行上述语句后,双向链表的结构可以表示为( )发布:2024/11/20 19:0:2组卷:2引用:1难度:0.577.著名游戏:数独(又称九宫格),要求在9×9的方格中按照一定规则填入1-9的整数数字,如图所示.在VB中,若定义一个二维数组a来存储每个方格内的数字,则正确的数组定义语句是( )
发布:2024/11/20 17:30:1组卷:18引用:2难度:0.578.在Visual Basic中,要定义一个一维数组name,用于存储10位学生姓名信息,则正确的数组定义语句是( )
发布:2024/11/20 16:0:2组卷:16引用:2难度:0.979.创建一个容量为3的队列,元素2,3,5,1,3,5,2依次等待入队。入队规则为:
①若当前待入队元素已经在队列中,则跳过该元素,否则转②
②若当前队列已满,将队首元素出队列,否则转③
③将当前待入队元素入队列
操作完成后,队列中的元素为( )发布:2024/11/19 18:0:1组卷:14引用:3难度:0.480.【加试题】要求将某一字符串中指定的字符改写成小写或大写(如果原先是大写就改成小写,反之改成大写),并将处理后的字符重新输出.
程序界面如下图所示,在Text1中输入原始字符串,在Text2中输入需要改变的字符,单击“改变”按钮后,在Text3中输出处理后的结果.
程序代码如下:
Private Sub Command1_Click ( )
Dim s As String,result As String,k As String
Dim zs As String,n As Integer
result=“”
s=Text1.Text
k=Text2.Text
For n=1To Len(s)
If zs=k Then
If Asc(zs)>=65And Asc(zs)<=90Then
zs=Chr(Asc(zs)+32)
Else lf Asc(zs)>=97And Asc(zs)<=122Then
zs=Chr(Asc(zs)-32)
End If
End If
Next n
End Sub
在程序①、②、③横线处填入适当的语句或表达式,把程序补充完整.
(1)程序中①横线处应填入
(2)程序中②横线处应填入
(3)程序中③横线处应填入发布:2024/11/19 8:30:1组卷:28引用:3难度:0.1
