當(dāng)前位置:
章節(jié)挑題
請(qǐng)展開(kāi)查看知識(shí)點(diǎn)列表
>71.某明文字符串僅由大、小寫(xiě)英文字母組成,為實(shí)現(xiàn)加密,小朱依次對(duì)該明文中的每個(gè)字符進(jìn)行如下操作:
①將明文中每個(gè)字符轉(zhuǎn)換成其對(duì)應(yīng)的十進(jìn)制 ASCII 碼值;
②明文的密鑰由 0-7 這 8 個(gè)數(shù)字循環(huán)產(chǎn)生,如圖 a 所示;
③加密過(guò)程中,先將每個(gè)明文字符的十進(jìn)制 ASCII 碼值轉(zhuǎn)換成 8 位二進(jìn)制數(shù),再將每個(gè)字符對(duì)應(yīng)的密鑰轉(zhuǎn)換為 4 位二進(jìn)制數(shù),最后,將由明文字符的十進(jìn)制 ASCII 碼值轉(zhuǎn)換成的 8 位二進(jìn)制數(shù)中的左邊 4 位二進(jìn)制數(shù)和右邊 4 位二進(jìn)制數(shù),分別和由密鑰數(shù)字轉(zhuǎn)換成的 4 位二進(jìn)制數(shù)逐位進(jìn)行異或運(yùn)算:1⊕1=0,1⊕0=1,0⊕1=1,0⊕0=0。
例如:明文字符串“Programming”中字母“a”用二進(jìn)制表示是 01100001,其對(duì)應(yīng)的密鑰是數(shù)字 5,用二進(jìn)制表示是 0101,加密后結(jié)果是 00110100,如圖b所示。
④將每個(gè)字符的加密結(jié)果按行輸出,如圖c所示。請(qǐng)回答下列問(wèn)題:
(1)輸入字符串“China”,則字符“a”加密后的結(jié)果為
(2)實(shí)現(xiàn)上述功能的 Python 代碼段如下,請(qǐng)?jiān)冖佗跈M線處將代碼補(bǔ)充完整。
(3)加框處的代碼有錯(cuò)誤,請(qǐng)修改 ______。
s=input(“輸入待加密的原文:“)
k=0;s1=“”;s2=“”
print(“加密結(jié)果為:“)
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 發(fā)布: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(“請(qǐng)輸入一個(gè)整數(shù):“));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)
執(zhí)行該程序段后,下列說(shuō)法不正確的是( )發(fā)布:2024/11/22 11:0:2組卷:0引用:1難度:0.573.有Python程序段,功能如下:運(yùn)行程序后輸入要查找的key值,要求在一個(gè)由n個(gè)數(shù)組成的降序排序隊(duì)列的數(shù)組中,查找第一個(gè)小于等于key的元素下標(biāo)并輸出。
key=int(input( ?。?br />L,R=0,n
while L<R:
m=
if :
L=m
else:
R=m-1
if L=n:
print(“數(shù)據(jù)不存在“)
else:
print(str(L+1))
要使程序?qū)崿F(xiàn)上述功能,畫(huà)線處填入的代碼是( ?。?/h2>發(fā)布:2024/11/22 9:0:1組卷:1引用:2難度:0.574.在某餐廳點(diǎn)餐系統(tǒng)中,利用隊(duì)列來(lái)儲(chǔ)存當(dāng)前正在排隊(duì)顧客的編號(hào),head指向隊(duì)首元素,tail指向隊(duì)尾元素的下一個(gè)位置,若tail=head+3,則現(xiàn)在排隊(duì)的顧客數(shù)量為( )
發(fā)布:2024/11/21 16:30:5組卷:10引用:4難度:0.575.提取“Python”中相關(guān)子串信息,針對(duì)提取的子串,以下說(shuō)法不正確的是( ?。?/h2>
發(fā)布: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看作是一個(gè)雙向鏈表,則執(zhí)行上述語(yǔ)句后,雙向鏈表的結(jié)構(gòu)可以表示為( ?。?/h2>發(fā)布:2024/11/20 19:0:2組卷:2引用:1難度:0.577.著名游戲:數(shù)獨(dú)(又稱(chēng)九宮格),要求在9×9的方格中按照一定規(guī)則填入1-9的整數(shù)數(shù)字,如圖所示.在VB中,若定義一個(gè)二維數(shù)組a來(lái)存儲(chǔ)每個(gè)方格內(nèi)的數(shù)字,則正確的數(shù)組定義語(yǔ)句是( ?。?/h2>
發(fā)布:2024/11/20 17:30:1組卷:18引用:2難度:0.578.在Visual Basic中,要定義一個(gè)一維數(shù)組name,用于存儲(chǔ)10位學(xué)生姓名信息,則正確的數(shù)組定義語(yǔ)句是( )
發(fā)布:2024/11/20 16:0:2組卷:16引用:2難度:0.979.創(chuàng)建一個(gè)容量為3的隊(duì)列,元素2,3,5,1,3,5,2依次等待入隊(duì)。入隊(duì)規(guī)則為:
①若當(dāng)前待入隊(duì)元素已經(jīng)在隊(duì)列中,則跳過(guò)該元素,否則轉(zhuǎn)②
②若當(dāng)前隊(duì)列已滿,將隊(duì)首元素出隊(duì)列,否則轉(zhuǎn)③
③將當(dāng)前待入隊(duì)元素入隊(duì)列
操作完成后,隊(duì)列中的元素為( )發(fā)布:2024/11/19 18:0:1組卷:13引用:2難度:0.480.【加試題】要求將某一字符串中指定的字符改寫(xiě)成小寫(xiě)或大寫(xiě)(如果原先是大寫(xiě)就改成小寫(xiě),反之改成大寫(xiě)),并將處理后的字符重新輸出.
程序界面如下圖所示,在Text1中輸入原始字符串,在Text2中輸入需要改變的字符,單擊“改變”按鈕后,在Text3中輸出處理后的結(jié)果.
程序代碼如下:
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
在程序①、②、③橫線處填入適當(dāng)?shù)恼Z(yǔ)句或表達(dá)式,把程序補(bǔ)充完整.
(1)程序中①橫線處應(yīng)填入
(2)程序中②橫線處應(yīng)填入
(3)程序中③橫線處應(yīng)填入發(fā)布:2024/11/19 8:30:1組卷:27引用:3難度:0.1