操作题 较难0.4 引用1 组卷37
某班级学生为毕业晚会的一个男生节目设计一个仿“V”字队形,先筛选出班级里所有男生,然后将 参演的所有男生按照身高,摆出中间低两边高(先右后左)的队形,如图 1 所示。
图1
小孟同学用 VB 编写模拟“节目队形”程序,功能如下:从数据库中导入所有学生的编号、性别和 身高数据;单击“筛选并排序”Command1 按钮,筛选出所有男生的身高并按照从低到高的顺序进行排序, 结果显示在文本框 Text1 中;单击“设计队形”Command2 按钮,队形的编号结果显示在文本框 Text2 中。程序运行界面如图 2 所示。
图2
举例说明如下:
实现上述功能的 VB 程序如下,请回答下列问题:
(1)请在划线处填入合适的代码。
①__________________
②__________________
③__________________
(2)程序代码中,加框处有错,请改正。
改正:___________________
Const n = 8
Dim h(1 To n) As Integer, num1(1 To n) As Integer, num2(1 To n) As Integer Dim sex(1 To n) As Boolean ' 男生 sex = True,女生 sex = False
Dim i As Integer, j As Integer, m As Integer Private Sub Form_Load()
'n 名学生(包括男生和女生)的编号、性别和身高由数据库导出,分别存储在数组 num1、h 和 sex 中,代码略! End Sub
Private Sub Command1_Click() For i = 1 To n - 1
For j = n To i + 1 Step -1
If sex(j) = True Then
If ① Then
t = h(j): h(j) = h(j - 1): h(j - 1) = t
t = sex(j): sex(j) = sex(j - 1): sex(j - 1) = t
t = num1(j): num1(j) = num1(j - 1): num1(j - 1) = t
End If
End If
Next j Next i
For i = 1 To n
If sex(i) Then
Text1.Text = Text1.Text + " " + Str(h(i))
End If
If Not sex(i) Then : Exit For '改错
Next i
End Sub
Private Sub Command2_Click()
Dim L, R As Integer, mid As Integer
mid = Int((1 + m) / 2) L = 0: R = 0
② For i = 2 To m Step 2
R = R + 1
num2(mid + R) = num1(i)
L = L + 1
③ Next i
For i = 1 To m
Text2.Text = Text2.Text + " 男" + CStr(num2(i)) + "号 " Next i
End Sub
图1
小孟同学用 VB 编写模拟“节目队形”程序,功能如下:从数据库中导入所有学生的编号、性别和 身高数据;单击“筛选并排序”Command1 按钮,筛选出所有男生的身高并按照从低到高的顺序进行排序, 结果显示在文本框 Text1 中;单击“设计队形”Command2 按钮,队形的编号结果显示在文本框 Text2 中。程序运行界面如图 2 所示。
图2
举例说明如下:
实现上述功能的 VB 程序如下,请回答下列问题:
(1)请在划线处填入合适的代码。
①
②
③
(2)程序代码中,加框处有错,请改正。
改正:
Const n = 8
Dim h(1 To n) As Integer, num1(1 To n) As Integer, num2(1 To n) As Integer Dim sex(1 To n) As Boolean ' 男生 sex = True,女生 sex = False
Dim i As Integer, j As Integer, m As Integer Private Sub Form_Load()
'n 名学生(包括男生和女生)的编号、性别和身高由数据库导出,分别存储在数组 num1、h 和 sex 中,代码略! End Sub
Private Sub Command1_Click() For i = 1 To n - 1
For j = n To i + 1 Step -1
If sex(j) = True Then
If ① Then
t = h(j): h(j) = h(j - 1): h(j - 1) = t
t = sex(j): sex(j) = sex(j - 1): sex(j - 1) = t
t = num1(j): num1(j) = num1(j - 1): num1(j - 1) = t
End If
End If
Next j Next i
For i = 1 To n
If sex(i) Then
Text1.Text = Text1.Text + " " + Str(h(i))
End If
If Not sex(i) Then : Exit For '改错
Next i
End Sub
Private Sub Command2_Click()
Dim L, R As Integer, mid As Integer
mid = Int((1 + m) / 2) L = 0: R = 0
② For i = 2 To m Step 2
R = R + 1
num2(mid + R) = num1(i)
L = L + 1
③ Next i
For i = 1 To m
Text2.Text = Text2.Text + " 男" + CStr(num2(i)) + "号 " Next i
End Sub
20-21高二上·浙江·期中
类题推荐
阅读以下材料,结合所学知识完成下列问题:
材料一:凯撒加密(Caesar cipher)是一种简单的消息编码方式:它根据字母表将信息字符串中的每个字母移动常量位 k(k是一个正整数)。
举例:如果k取值3,则在加密编码后的消息中,每个字母都会向后移动3位:a会被替换为d;b会被替换成e;依此类推。如果字母表到末尾了,将自动回卷到字母表开头,例如w会被替换为z,x会被替换为a。
材料二:已知部分小写英文字母的ASCII码的十进制数表示为下表:
根据以上文字材料,完成下列题目:
(1)以下属于保障数据安全的措施有( )
①数据备份 ②数据加密 ③数据脱敏 ④访问控制 ⑤异地容灾
A.①②③④ B.①②③ C.②③④ D.②③
(2)字母a加密前的ASCII码在计算机中的存储方式是( )
A.097 B.97 C.1100001 D.01100001
(3)按照凯撒加密规则,将k设为5,并将单词“hello”进行加密编码。则加密后的字符应该是( )
A. cello B. mjqqt C. lipps D. ifmmp
(4)某安全系统截获一串数字:119117103116,经分析得知,这是一串用凯撒加密得来的加密后的“密文”的ASCII码(十进制表示),每三个数字代表一个字母,并且他们经过大量的对比,认为此段加密用的k值为2,请根据这段截获的数字以及上面材料进行分析,这段数字所代表的原始文本应该是( )
A. user B. ywiv C. vtfs D. zxjw
(5)一般来说,未加密的文本是有一定意义的(比如一个英语单词),而加密后的文本可能表面看起来没有意义。如果某系统截获到了一个用以上方法加密后的文本是“qke”,则加密者在对原始文本加密时,所使用的k值可能是( )
A.4 B.5 C.6 D.7
(6)小复同学发现,采用材料中所描述的方式对一个信息进行加密处理后,因为所有字母变化的规则是一致的,只要“破解”了其中的一个,其它字母也很快能够全部破解。于是他设计了一种新的加密编码方式,相对而言,破解时难度要增加很多。在小复同学设计的新的编码规则中,k的取值不是固定的,而是根据一个字母在字符串中的位置取值,如果一个字母在字符串中是第一个出现的,k的值就取为1,第二个出现的,k的值就取为2,……依次类推。按照小复同学新设计的规则,字符串“fdfz”加密后的字符应该是( )
A. fdfz B. gfid C. gega D. fegb
(7)若要实现小复同学的新设计方案,用Python语言编程实现,以下程序代码正确的是( )
材料一:凯撒加密(Caesar cipher)是一种简单的消息编码方式:它根据字母表将信息字符串中的每个字母移动常量位 k(k是一个正整数)。
举例:如果k取值3,则在加密编码后的消息中,每个字母都会向后移动3位:a会被替换为d;b会被替换成e;依此类推。如果字母表到末尾了,将自动回卷到字母表开头,例如w会被替换为z,x会被替换为a。
材料二:已知部分小写英文字母的ASCII码的十进制数表示为下表:
字母 | a | b | c | d | e | f | g | h | i | j |
ASCII码 | 097 | 098 | 099 | 100 | 101 | 102 | 103 | 104 | 105 | 106 |
字母 | k | l | m | n | o | p | q | r | s | t |
ASCII码 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 |
字母 | u | v | w | x | y | z | ||||
ASCII码 | 117 | 118 | 119 | 120 | 121 | 122 |
(1)以下属于保障数据安全的措施有
①数据备份 ②数据加密 ③数据脱敏 ④访问控制 ⑤异地容灾
A.①②③④ B.①②③ C.②③④ D.②③
(2)字母a加密前的ASCII码在计算机中的存储方式是
A.097 B.97 C.1100001 D.01100001
(3)按照凯撒加密规则,将k设为5,并将单词“hello”进行加密编码。则加密后的字符应该是
A. cello B. mjqqt C. lipps D. ifmmp
(4)某安全系统截获一串数字:119117103116,经分析得知,这是一串用凯撒加密得来的加密后的“密文”的ASCII码(十进制表示),每三个数字代表一个字母,并且他们经过大量的对比,认为此段加密用的k值为2,请根据这段截获的数字以及上面材料进行分析,这段数字所代表的原始文本应该是
A. user B. ywiv C. vtfs D. zxjw
(5)一般来说,未加密的文本是有一定意义的(比如一个英语单词),而加密后的文本可能表面看起来没有意义。如果某系统截获到了一个用以上方法加密后的文本是“qke”,则加密者在对原始文本加密时,所使用的k值可能是
A.4 B.5 C.6 D.7
(6)小复同学发现,采用材料中所描述的方式对一个信息进行加密处理后,因为所有字母变化的规则是一致的,只要“破解”了其中的一个,其它字母也很快能够全部破解。于是他设计了一种新的加密编码方式,相对而言,破解时难度要增加很多。在小复同学设计的新的编码规则中,k的取值不是固定的,而是根据一个字母在字符串中的位置取值,如果一个字母在字符串中是第一个出现的,k的值就取为1,第二个出现的,k的值就取为2,……依次类推。按照小复同学新设计的规则,字符串“fdfz”加密后的字符应该是
A. fdfz B. gfid C. gega D. fegb
(7)若要实现小复同学的新设计方案,用Python语言编程实现,以下程序代码正确的是
A. mingwen=input("请输入明文数据:") k=1 miwen="" for x in mingwen: k=k+1 根据 mingwen 的 ASCII 码+k 值算出密文对应字符 print("密文数据为:",miwen) | B. mingwen=input("请输入明文数据:") k=1 miwen="" for x in mingwen: 根据 mingwen 的 ASCII 码+k 值算出密文对应字符 k=k+1 print("密文数据为:",miwen) |
C. mingwen=input("请输入明文数据:") k=0 miwen="" for x in mingwen: 根据 mingwen 的 ASCII 码+k 值算出密文对应字符 k=k+1 print("密文数据为:",miwen) | D.。 mingwen=input("请输入明文数据:") k=0 miwen="" for x in mingwen: k=k+1 根据mingwen 的 ASCII 码+k 值算出密文对应字符 print("密文数据为:",miwen) |
组卷网是一个信息分享及获取的平台,不能确保所有知识产权权属清晰,如您发现相关试题侵犯您的合法权益,请联系组卷网