试题详情
选择题 适中0.65 引用1 组卷34
有如下 VB 程序段:
s1 = "Shui"
For i = 1 To Len(s1)
       ch = Mid(s1, i, 1)
       If ch >= "a" And ch   <= "z" Then
             ch = Chr((Asc(ch) - Asc("a") + 23) Mod 26 + Asc("A"))
       End If
       s2 = ch + s2
Next i
Label1.Caption = s2
执行该程序段后,标签 Label1 中显示的内容是(     
A.FRESB.SerfC.freSD.SERF
2020·浙江·一模
知识点:VB程序的调试 答案解析 【答案】很抱歉,登录后才可免费查看答案和解析!
类题推荐
其8位日期加密授权码生成方法描述如下:
①授权码由9位字符组成,前三位为日期的密文,最后1位为验证码;
②日期的最后1位数字k(若k的值为0,令k=10),加密成26个大字英语字母表该位置对应的字母。
③将26个大写英文字母向左移k(日期的最后1位数字)个位置,并将移出的k个字母依次连接到最后。例如当k=3时,形成如下表所示新的字母排列顺序:

位置

1

2

3

4

……

23

24

25

26

字母

D

E

F

G

……

Z

A

B

C


④日期的第1个数字至第7个数字的加密方法是:计算第i个位置上的数字与第i+1个位置的数字及位置i三者相加的和,在新的字母表中取出该数字和对应的字母,作为第i个位置上数字加密字符。
⑤计算日期的各个位置上数字之和sum,若和sum的值大于26,在新的英文字表中,sum Mod 26对应字母转换成小写字母,作为验证码,否则验证码为新的英文字母表中对应字母。
(1)根据上述加密算法,若输日期为“20000101”,则生成的注册码为__________________________
(2)小张根据上述加密算法,设计了一个对应的解密程序,其VB代码如下,请在划线处填入合适的代码。
Private Sub Command1_Click()

Dim i As Integer, j As Integer, s As String, k As Integer

Dim mw As String, sum As Integer, t As Integer, t1 As Integer

strl="0123456789"

s=Text1.Text

_____

t=k:sum=t

s1=Mid(strl,t+1,1)

For i=7 To 1 Step-1

t1=Asc(Mid(s, i, 1))-64

j= _____

s1=Mid(strl1,t+1,1)+s1

sum=sum+t

Next i

mw=jm(k)

If sum>26 Then

sum=sum Mod 26

ch=Chr(Asc(Mid(mw, sun, 1))+32)

Else

ch=Mid(mw, sum, 1)

End If

If ch=Mid(s, 9, 1) Then Text2.Text=s1

Else Text2.Text="该系列号未能通过验证!"
End Sub
Function jm(t As Integer) As String

Dim i As Integer, p As Integer

If t=0 Then t=10

For i=1 To 26

p=(t+i-1) Mod 26

____

Next i

End Function
小明编写了一个有关整数闭区间合并操作的VB程序:从数据库读取闭区间数据(左端点和右端点),存储在数组a中,按区间数据左端点升序排序,然后进行合并操作,操作结果存储在数组b中。
例如,读取的数据为2、3、15、25、10、14、1、5、30、60、15、25,过程是:
(1)设置区间信息为[2,3],[15,25],[10,14],[1,5],[30,60],[15,25];
(2)按区间左端点升序排序,得到J区间信息为[1,5],[2,3],[10,14],[15,25],[15,25],[30,60],[15,25];
(3)合并区间,得到[1,5],[10,25],[30,60]。说明:区间[1,5]和[2,3]合并为[1,5],区间[10,14]和[15,25]合并为[10,25],区间[10,25]和[15,25]合并为[10,25],因此合并后的结果为:[1,5],[10,25],[30,60]三个区间。
程序功能如下:单击“读数据库”按钮Command1,程序从数据库读取数据,输出在文本框Text1中;单击“开始处理”按钮Command2,程序进行区间排序,并进行区间合并操作,操作后的结果输出在文本框Text2中。程序运行结果如图所示。

实现上述功能的VB程序如下,请回答下列问题:
(1)Private Sub Command1_CIick()中的Click()是____________(单选,填字母:A对象名、B属性名 、C事件名、D事件处理过程名)
(2)从数据库中读入的区间为[1,10],[15,20],[6,18],[25,30],[31,200],则合并操作后的区间为__________
(3)请在划线处填入合适的代码。

Dim a(l To 100) As Integer ′数组a存储合并前的区间

Dim b(l To 100) As Integer ′数组b存储合并后的区间

Dim n As Integer             ′n表示区间个数

Private Sub Command1_Click()

 Dim s1 As String, i As Integer

   '读取数据,并存储到数组a中,并输出在文本框Text1中,代码略

End Sub

Private Sub Command2_CIick()

   Dim s2 As String, i As Integer, j As Integer, k As Integer

   Dim n As Integer, t As Integer, x As Integer

   For i=1 To n-1

 For j=1 To 2 * n-2 * i Step 2

   If   __________ Then

    t=a(j): a(j)=a(j+2): a(j+2)=t

    t=a(j+1): a(j+1)=a(j+3): a(j+3)=t

   End If

 Next j

   Next i

   k=2

   b(1)=a(1): b(2)=a(2)

   i=2: j=3

   Do While j <=2 * n

    If b(i) >=a(j) Then

     If b(i) <=a(j+1) Then ②______________  

    Else If b(i)+1=a(j) Then

     b(k)=a(j+l)

    Else

     k=k+1:③____________

     k=k+1: b(k)=a(j+1)

     i=i+2

    End If

     j=j+2

   Loop

   For x=1 To k-2 Step 2

    s2=s2 &"["&b(x)&","&b(x+1)&"]"&","

   Next x

   s2=s2 &"["&b(x)&","&b(x+1)&"]"

   Text2.text=s2

End Sub

组卷网是一个信息分享及获取的平台,不能确保所有知识产权权属清晰,如您发现相关试题侵犯您的合法权益,请联系组卷网