- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
(加试题)某种字符加密方法描述如:
①将待加密的字符分成若干个字符串组,每组n个字符,剩余字符(个数小于n)自成一组。
②将每组字符按以下方法重新组合,得到新的字符串。
例如:明文="ABCDEFGHIJK",n=4的字符加密过程如下:

(1)已知n=3,则待加密数据"ABCDEFG"加密后的密文为_________________。
(2)小张根据上述加密算法,设计了一个对应的加密程序,其VB代码如下,请在划线处填入合适的代码。
下面进行重新组合:重组后数据保存到s1中


下面进行字符变换:字符变换后数据保存到ans中

划线处应填入的代码分别为:(1)______________ (2)______________ (3)______________
①将待加密的字符分成若干个字符串组,每组n个字符,剩余字符(个数小于n)自成一组。
②将每组字符按以下方法重新组合,得到新的字符串。
重新组合规则:取每组第个字符依次连接生成第i个新的字符串,共n组。
③将底组后的n组字符串依次进行字符交换,得到加密字符(加密前后字符均为大写)。字符变换规则:按字母顺序后移i个位置后输出。
④依次合并变换后的字符串,即为密文。例如:明文="ABCDEFGHIJK",n=4的字符加密过程如下:

(1)已知n=3,则待加密数据"ABCDEFG"加密后的密文为_________________。
(2)小张根据上述加密算法,设计了一个对应的加密程序,其VB代码如下,请在划线处填入合适的代码。
下面进行重新组合:重组后数据保存到s1中


下面进行字符变换:字符变换后数据保存到ans中

划线处应填入的代码分别为:(1)______________ (2)______________ (3)______________
纪念品分组问题。某教师节晚会的纪念品分组规则如下:按纪念品价值进行分组,每组总价值不超过限定值w且最多包含两件,要求分组数最少。编写VB程序解决该问题,程序运行时,在文本框Text1中依次输入每件纪念品的价格(不超过w),以逗号分隔,在文本框Text2中输入限定位w,单击“分组”按钮,在标签Labe12上输出最少的分组数。程序运行界面如图所示。

(1)要使程序启动后,窗体的标题栏显示“纪念品分组”文字,可在Form_Load事件过程中添加语句__________(单选,填字母:
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码;并且加框处代码有错,请改正。
①___________________________________
②__________________________________
③__________________________________


(3)若在文本框Text1中输A“50,30,100,70,80,40,50,20,",文本框Tcxt2中输“110”,单击“分组”按钮,标签Labe12中显示的内容是______________

(1)要使程序启动后,窗体的标题栏显示“纪念品分组”文字,可在Form_Load事件过程中添加语句__________(单选,填字母:
A.Forml="纪念品分组"/ | B.Forml.Name="纪念品分组"/ | C.Forml.Caption="纪念品分组"/ | D.Forml.Text="纪念品分组")。 |
①___________________________________
②__________________________________
③__________________________________


(3)若在文本框Text1中输A“50,30,100,70,80,40,50,20,",文本框Tcxt2中输“110”,单击“分组”按钮,标签Labe12中显示的内容是______________
有如下VB程序段:
s = Text1.Text
t = 0: Sum = 0
For i = 1 To len(s)
c = Mid(s, i, 1)
If c >= "0" And c <= "9" Then
t = t * 10 + Val(c)
ElseIf c >= "a" And c <= "z" Then
Sum = Sum + t
Else
t = 0
End If
Next i
Text2.Text = Str(Sum)
在文本框Text1中输入“123aBc456”,执行程序段,文本框Text2中显示的内容是( )
s = Text1.Text
t = 0: Sum = 0
For i = 1 To len(s)
c = Mid(s, i, 1)
If c >= "0" And c <= "9" Then
t = t * 10 + Val(c)
ElseIf c >= "a" And c <= "z" Then
Sum = Sum + t
Else
t = 0
End If
Next i
Text2.Text = Str(Sum)
在文本框Text1中输入“123aBc456”,执行程序段,文本框Text2中显示的内容是( )
A.456 | B.654 | C.579 | D.123 |
(加试题)以下一段程序其功能是对数组a(下标范围为1 to n)中的数据进行升序排序,划线处应填入的正确语句是( )
For i =
For j = 2 To i
If a(j) > a(j - 1) Then
k = a(j): a(j) = a(j -1): a(j -1) = k
End If
Next j
Next i
For i =
For j = 2 To i
If a(j) > a(j - 1) Then
k = a(j): a(j) = a(j -1): a(j -1) = k
End If
Next j
Next i
A.n to 2 Step -1 | B.2 to n | C.n-1 to 1 Step -1 | D.1 to n -1 |
某对分査找算法的VB程序段如下:
i = 1: j = 7: s = ""
key = Int(Rnd * 100)
Do While i <= j
Text1.Text = s
数组元素a(1)到a(9)的值依次为“24,35,38,41,45,69,78”。若该程序段执行后,文本框Text1中显示的内容可能是( )
i = 1: j = 7: s = ""
key = Int(Rnd * 100)
Do While i <= j
m = (i + j) \ 2
If key = a(m) Then
s = s + "M": Exit Do 'Exit Do 表示退出循环
ElseIf key < a(m) Then
j = m - 1: s = s + "L"
Else
i = m + 1: s = s + "R"
End If
LoopText1.Text = s
数组元素a(1)到a(9)的值依次为“24,35,38,41,45,69,78”。若该程序段执行后,文本框Text1中显示的内容可能是( )
A.RL | B.LMR | C.RLR | D.LRLM |
交换LABEL2和LABEL3中的数据
PRIVATE SUB FORMCLICK( )
LABEL2.CAPTION=90 : LABEL3.CAPTION=86
C=LABEL2.CAPTION
________
________
END SUB
PRIVATE SUB FORMCLICK( )
LABEL2.CAPTION=90 : LABEL3.CAPTION=86
C=LABEL2.CAPTION
________
________
END SUB
某地1900-1999年的平均降水量数据保存在数据库中。现要求找出相邻两年年平均降水量变化(即本年度与上年度“年平均降水量”差值的绝对值)最大的年份区间。如果多个符合要求的年份区间,只输入距今最近的。小吴为此编写了VB程序,程序运行时,单击按钮Command1后,在文本框Text1中输出运行结果。实现上述功能的VB代码如下,但加框处代码有错,请改正。
Dim w(1 To 100) As Single '依次存储1900-1999年的年平均降水量数据
Const n = 100
Private Sub Form_Load()
'本过程从数据库中按19000-1999年依次读取年平均降水量数据,并存储在数组w中
'代码略
End Sub
Private Sub Command1_Click()
Dim w(1 To 100) As Single '依次存储1900-1999年的年平均降水量数据
Const n = 100
Private Sub Form_Load()
'本过程从数据库中按19000-1999年依次读取年平均降水量数据,并存储在数组w中
'代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, imax As Integer
imax = _______________
For i = 3 To n
If Abs(w(i) - w(i - 1)) >= Then imax = i ____________
Next i
Text1.Text = "年平均降水量变化最大的年份区间是" + Str(imax + 1889) + "-" + Str(imax + 1899)
End Sub