相关试卷
-
1、下列给变量名a的赋值语句中,赋值后变量a不是实型的是( )A、a=5.0∥2 B、a='2.0' C、a=6/2 D、a=3%2.0
-
2、表达式100%8*2-5运算的结果为( )A、2 B、8 C、3 D、6
-
3、(多选)下列变量名中,合法的有( )A、_BMi B、true C、2bmi D、bmi E、B—mi F、B2mi
-
4、题目:输入两个数和一个运算符(+或-)。实现:如果运算符号为“+”,则输出a+b,否则输出a-b。
编写代码。请打开IDLE或者MUPython进行编辑。
调试运行。将代码与结果截图粘贴。
(1)、字符串是以单引号或双引号括起来的任意文本。为“+”意思是等于“+”,等于符号在Python中为(2)、从键盘输入一个数到计算机中需要借助输入函数。输入函数是( )A、read( ) B、input( ) C、in( )(3)、input( )默认的类型是字符串类型。如果需要输入数值的话,需要用int( )或者float( )转换为数值。这里使用获取第一个数。获取第二个数的代码为。 -
5、程序运行结果是:
-
6、str[0:7 ]字符串的索引是从为0开始在。这里是从字母开始,到字母结束,一共个字母.
-
7、表达式(‘5’+‘6’)*3的结果是( )A、33 B、‘565656’ C、‘168’ D、语法错误,程序报错
-
8、下列Python程序执行后,可以输出“中国”在代码段是( )A、name=='中'; print(name) B、name='中国'; print('name') C、print(中+国) D、name='厦门'; name='中国'; print(name)
-
9、以下不属于Python关键字的是( )A、no B、or C、is D、in
-
10、Python不支持的数据类型( )A、int B、char C、float D、chr
-
11、Python表达式30+2**5//3-2的值为( )A、29 B、30 C、38 D、31
-
12、下列Python表达式值为5的是( )A、5.0**1 B、10//2 C、10.2/2 D、10%2
-
13、小明设计一种简易的加密方式,规则如下:
A)在输入的字符串中提取英文字母,作为需要加密的明文(明文字符数必须是3的倍数,不足3位的舍去)
B)将明文ASCII码分成3个字节一组,顺次连接后得到24位二进制数;
C)将得到的24位二进制数字按每6位一组分成4组,每组6个位;
D)在C)中得到的6个位前补上2个0,得到8个字节的二进制数;
E)将D)中得到的8个二进制数分别转换为十进制数;
F)将得到的数字用随机产生的大写字母连接起来,以大写字母结尾
按照上述规则,设计了一个加密VB程序,功能如下:单击“加密”按钮Command1,程序依次将文本框Text1中英文字母提取,将3的倍数个的字母转换为4个数字,并输出在文本框Text2中程序运行效果如下图所示。请回答下列问题:
(1)、在Text1中输入A9B20C@D1E,已知产生的随机字符顺序为英文字母表,则在Text2中显示的是。(2)、请在划线处填入合适代码。Private Sub Command1_ Click()
Const maxn= 100
Dim s As String, i As Integer, n As Integer
Dim ch As String, k As Integer, jg As String
Dim a(1 To maxn) As Integer, b(1 To maxn) As Integer
s= Text1. Text
n=0
For i=1 To Len(s)
ch= Mid(s, i, 1)
If Then
n=n+1
a(n)= Asc(ch)
End If
Next i
For i=0 To k
b(i * 4+1)=a(i*3+1)\ 4
b(i*4+2)=
b(i*4+3)=(a(i*3+2)Mod16)* 4+a((i- 1) *3+3)\ 64
b(i*4+4)=a(i*3+3)Mod64
Next i
Randomize
jd= ""
For i=1 To 4 * (k+1)
jd=jd+Str(b(i)) +
Next i
Text2. Text=jd
End Sub
Function pd(c As String) As Boolean
pd= False
If c>="A" And c<="Z" Or c>="a" And c<="z" Then:
pd= True
End If
End Function
-
14、某数据解密方法描述如下:对输入的密文(由英文字母或阿拉伯数字组成的字符串)进行解密,解密后输出明文。解密时对密文中的每个字符进行如下处理:
1)将该字符的ASCII码转换成对应的8位二进制;
2)将对应的8位二进制数进行按位取反(1变0,0变1);
3)将产生的8位二进制数循环左移2次;
4)将最后产生的8位二进制数转换成对应的十六进制数。例如,密文小写字母“d”通过上述解密算法解密后生成的明文是“6E”,信息加密过程如图b所示。
实现上述功能的VB程序如下:在文本框Text1中输入密文,单击“解密”按钮Com-mand1,程序对密文数据依次进行解密处理,在文本框Text2中显示解密后生成的明文。
程序运行界面如图c所示。实现上述功能的VB程序如下,请回答下列问题:
(1)、如果输入密文为小写字母“a”,则解密后得到的明文是。(2)、请在划线处填入合适代码。Function jiemi(m As String) As String '将4位二进制数转换成相应的十六进制数
Dim k As Integer, i As Integer
Dim str As String
str=“0123456789 A BCDEF”
k=0
For i=1 To 4
k=k * 2+Val(Mid(m, i, 1))
Next i
End Function
Private Sub Command1_Click()
Dim ans As String, s As String, ch As String, ret As String
Dim s1 As String, s2 As String
Dim i As Integer, m As Integer, asc1 As Integer, n As Integer
s= Text1. Text
ans=“”
For i=1 To Len(s)
ch= Mid(s,i, 1)
'取出第i个字符存入变量ch
asc1= Asc(ch)
ret =“”
For m=1 To 8
'完成解密步骤(1)和步骤(2)
ret=n & ret
asc1=asc1 \ 2
Next m
ret= Mid(ret, 3,6) +Mid(ret, 1, 2)
'完成解密步骤(3)
s1 = jiemi(Mid(ret, 1, 4))
ans= ans &s1 &.s2 '将第i个解密后的字符添加到变量ans的末尾
Next i
Text2. Text= ans
End Sub
-
15、下面是一个加密/解密程序。加密的算法是:将原文中每个字符的ASCII码加上该字符在原文中的位置数(设字符在原文中是第n个字符,则其位置数是n被10除的余数,当余数为0时,其位置数为10。例如,原文字符串为“meet me at sunset”,第一个字符“m”,其位置数为1,而“s”为第12个字符,其位置数是被10除的余数2,其余依次类推)作为密文字符的代码,再将密码字符逆序排列(例如ABCD,逆序排列为DCBA)即为密文。解密算法是加密算法的逆运算,运行效果如图所示:
(1)、如图所示,如果原文中字母“g”后面添加字母“h”,按“加密”按钮后,字母“h”对应的密文为: 。(2)、实现上述功能的VB程序如下,请在划线处填入合适代码:Private Sub Command1_Click( ) '加密
Dim enc As String, dec As String, i As Integer
Dim s As String, n As Integer
dec= Text1. Text
For i=1 To Len(dec)
s=
n=i Mod 10
If n=0 Then n= 10
enc=Chr(Asc(s)+n) & enc
Next i
Text2. Text= enc
End Sub
Private Sub Command2_ Click( ) '解密
Dim enc As String, dec As String, i As Integer
Dim n As Integer, s As String, p As Integer
enc= Text2. Text
n= Len(enc)
For i=1 To n .
s= Mid(enc, i, 1)
p=
If p=0 Then
dec= Chr(Asc(s)-p) & dec
Next i
Text1. Text= dec
End sub
-
16、某字符(限ASCII字符)加密算法,对明文中的每个字符进行下列加密处理:
1)将该字符的ASCII码转换成对应的2位十六进制数;
2)将产生的十六进制数互换位置;
3)步骤(2)产生的二位十六进制数即为该明文字符加密后的密文字符。
小明按照上述方法,设计了一个字符串加密的VB程序,功能如下:单击“生成密文”按钮Command1,程序依次将文本框Text1中每个字符按上述规则进行加密处理,连接这些加密字符,最后在文本框Text2中输出加密结果。程序运行界面如图所示

实现上述功能的VB程序如下:
Private Sub Command1_ Click()
Dim s As String, a As String, ans As String
Dim c As Integer, i As Integer
Dim c1 As Integer, c2 As Integer
Dim d1 As String, d2 As String
s= Text1. Text
ans =“”
For i=1 To Len(s)
a=Mid(s, i, 1)
c= Asc(a)
c1=c \16
c2= ①
d1= Mid(Str(c1), 2, 1) '使用Str(c1)将在字符c1前增加一个空字符
If c2>>=10 Then ② Else d2 = Mid(Str(c2), 2, 1)
ans= ③
Next i
Text2. Text= ans
End Sub
(1)、按照上述加密算法,明文“B”生成的密文是。(2)、请在划线处填入合适代码。① ② ③
-
17、某日期加密授权码生成方法描述如下:
1)授权码由10位字符组成,前8位为日期的密文,后2位为验证码;
2)取日期的第1位字符,若该字符第一次出现,则直接取其对应加密字符,否则取下一个不重复的加密字符。按此操作,依次取出该日期余下各位对应的加密字符;
3)求出所有日期字符数值的和,将和除16取余加1得到一位验证码字符;若和不小于16,则将和除16取整加1得到另一位验证码字符,否则另一位验证码字符为“X”。取出验证码重复时,处理规则与(2)相同。
加密(验证码)字符对应表如下。
值(十进制)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
加密(验证码)字符
K
n
G
j
L
t
W
b
O
a
P
H
Z
q
Y
c
小明设计了一个生成8位日期(YYY YMM-DD格式)授权码的VB程序。程序功能如下:在文本框Text1中输入一个8位有效日期,单击“生成授权码”按钮Command1,在标签Label2中显示出该日期的授权码。运行效果如图所示。
实现上述功能的VB程序段如下:
(1)、请在划线处填入合适代码:Dim f(0 To 15) As Integer
Const Code=“KnGjLtWbOaPHZqYc”
Private Sub Command1_ Click()
Dim rq As String, sq As String
Dim c As Integer, i As Integer, d As Integer
For i=0 To 15
f(i)=0
Next i
rq= Text1. text
sq =””:d=0
If Len(rq) <> 8 Then
Label2. Caption=“请输入8位日期!”
Else
For i=1 To 8
c= Val(Mid(rq,i, 1))
d=d+c
sq =+sq
Next i
If d >=16 Then
yz= GetChar(d Mod 16+1) +GetChar(d \ 16+1)
Else
yz= GetChar(d Mod 16+1)+“X”
End If
Label2. Caption=sq+yz
End If
End Sub
'获取不重复的加密字符
Function GetChar(x As Integer) As String
Dim flag As Boolean
flag= False
Do While flag= False
f(x)=f(x)+1
If f(x)=1 Then
f(x)=f(x)+ 1
flag= True
Else
x=(x+1) Mod 10
End If
Loop
End Function
(2)、若输入的日期是“20170818”,则该授权码的验证码字符是。 -
18、某字符串(字节数为3的倍数)编码规则如下:
1)将该字符串内码分成3个字节一组,顺次连接后得到24位二进制数;
2)将得到的24位二进制数字按每6位一组分成4组,每组6个位;
3)在每组数字前补上两个0,得到4个字节的二进制数;
4)将(3)中得到的四个二进制数分别转换为十进制数;
5)将每个十进制数转换为1个加密字符,对应的“密码表”按数值由小到大依次为“ABCDEF GHIJKLMNOPQRSTUV WXYZ-abcdefghijklmnopqrstuvw xyz0123456789+/”
小明按照上述方法,设计了一个字符串(仅包含ASCII字符)加密的VB程序,功能如下:
单击“加密”按钮Command1,程序依次将文本框Text1中每3个字符的ASCII码值作为4个字节转换为四个加密字符,连接这些加密字符,最后在文本框Text2中输出加密结果。
程序运行效果如图所示。
实现上述功能的VB程序如下:
(1)、在上述加密算法步骤(4)中,得到的十进制数最大是。(2)、请在划线处填入合适代码。Function Code2Char(c As Integer) As String
Dim s As String
s=“ABCDEFGHIJKLMNOPQRSTU-VWXYZabcdefghijklmnopqrstuvwxyz 0123456789+ /”
Code2Char=
End Function
Private Sub Command1_Click() '加密过程
Dim n As Integer, s As String, i As Integer, ss As String
Dim a1 As Integer , a2 As Integer, a3 As Integer
'存储加密前字符ASCII码
Dim b1 As Integer, b2 As Integer '分别存储分割、转换后的前两个十进制数
Dim b3 As Integer , b4 As Integer '分别存储分割、转换后的后两个十进制数
s= Text1. Text
n= Len(s)
ss=””
For i=1 To n ()
a1= Asc(Mid(s, i, 1))
a2= Asc(Mid(s, i+1, 1))
a3= Asc(Mid(s, i+2, 1))
b1=a1\ 4
b2=(al Mod 4) * 16+(a2 \ 16)
b3=
b4=a3 Mod 64
ss=ss+Code2Char(b1)+Code2Char(b2) + Code2Char( b3)+Code2Char( b4)
Next i
Text2. Text= ss
End Sub
-
19、小明编写了一个字符串加密程序,功能如下:在文本框Text1中输人明码,单击“加密”按钮Command1后,在文本框Text2 中显示加密后的密文,运行界面如图所示。加密算法如下:
①将明码中每个字符的八位二进制ASCII码(不足八位的左端补0,凑足八位)分成两段(左4位一段,右4位为另一段),如字符“C”的二进制ASCI值为01000011,分段后为0100,0011 ;
②将高位段(左边4位)左移一位,并将原第一位数码移到第4位(如0100转化为1000),再转化为十六进制数(如1000 化为8);
③对另一段(右4位)执行2)所示算法,如0011→0110→6;
④顺次连接两位十六进制数,得到该字符的暗码,如“C”的暗码为“86”;
⑤将每个字符的暗码按照明码的顺序连接。
实现上述功能的VB程序如下,请回答下列问题:
Private Sub Command1_Click()
Dim i As Integer, j As Integer, m As Integer, k As Integer
Dim c As String, x As Integer, y As Integer
Dim d(1 To 8)As Integer '数组d存储字符ASCII码二进制从左到右的各位数码
Dim mw As String 'mw存储暗码
mw = " "
For i=1 To Len(Text1. Text)
c= Mid(Text1. Text, i, 1)
For j=1 To 8
d(j)=0
Next j
m= Asc(c)
①
Do While m>0
d(k)=m Mod 2
m=m\2
k=k-1
Loop
x=d(1) : y=d(5)
For j=1 To 3
d(j)=d(j+1)
②
Next j
d(4)= x:d(8)=y
mw= mw十btoh(d)
Next i
Text2. Text= mw
End Sub
'以下函数是将数组元素中的二进制数转换成对应的十六进制数
Function btoh(m() As Integer) As String
'将数组m作为函数的参数
Dim s As Integer, i As Integer
Dim str As String, ch As String
str=" "
s=0 : ch=" "
For i=1 To 8
s=s * 2+m(i)
If i=4 Then
ch= Mid(str, s+1, 1)
s= 0
End If
Next i
③
End Function
(1)、按照加密算法,字符“J”的密文是;(2)、请在划线处填入合适代码。① ② ③
-
20、用英文字母A~D对数字字符0~9进行编码,规则如下表所示:
数字字符
0
……
7
8
9
二进制值
0
0
0
0
0
0
0
1
……
0
1
1
1
1
0
0
0
1
0
0
1
十进制值
0
0
0
1
……
1
3
2
0
2
1
对应编码
A
A
A
B
……
B
D
C
A
C
B
例如,数字字符串“709”的编码为“BDAACB”
用VB程序实现上述编码,功能如下:在文本框Text1中输入编码的一串数字字符,单击“编码”命令按钮Command1,在文本框Text2中显示编码结果。程序运行界面如图所示。
(1)、下列属于VB窗体文件的是 (单选,填字母)。A、szbm. vbp B、szbm. frm C、szbm. exe(2)、实现_上述功能的VB程序如下,请在划线处填入合适的代码。Private Sub Command1_ Click( )
Dim code As String, s As String, ch As String, result As String
Dim i As Integer, numL As Integer, numR As Integer
Dim flag As Boolean
code= "ABCD"
s= Text1. Text
flag= True
result=“”
For i= 1 To Len(s)
ch= Mid(s, i, 1)
If ch<"0" Or ch>"9" Then
Exit For '退出循环
Else
numL= Val(ch) \ 4
numR=
result = result +Mid ( code, numL+1, 1)+Mid(code, numR+1, 1)
End If
Next i
If flag Then
Text2. Text= result
Else
Text2. Text="输入错误"
End If
End Sub
(3)、运行该程序,若在文本框Text1中输入“A5”,单击“编码”命令按钮Command1,在文本框Text2中显示编码结果为 。