试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

浙江省杭西高2019-2020学年高二下学期信息技术6月月考试卷

  【加试题】编写一个VB程序,将一个长度为n的有序序列a(1)、a(2)、……a(n),以整数t(1≤t≤n)将该有序序列划分为两段,并将序列a的前t个数与后n-t个数对调,且保持这两段数(t个数和n-t个数)之间的相对位置不变(即t个数和n-t个数各自有序)。例如,长度为6的有序序列10、19、24、32、76、87,当t=2时重排结果为24、32、76、87、10、19。功能如下:在文本框Text1中输入n,单击“生成”按钮Command1后在列表框List1中显示n个有序数,在文本框Text2中输入t,单击“对调”按钮Command2,在列表框List2输出t个数与n-t个数对调后的数字序列。程序运行界面如下图所示。

实现上述功能的VB程序如下,请在划线处填入合适的代码。

Dim a(1 To 100)As Integer

Dim n As Integer

Private Sub Command1_Click()       '生成n个有序数,显示在List1中

’有序代码略

End Sub

Private Sub Command2_ Click)

Dim t As Integer,i As Integer,j As Integer,temp As Integer

t=Val(Text2.Text)

For

Temp=

For j=i To i+1-t Step -1

a(j)=a(j-1)

Next j

 

Next i

For i=1 To n

List2.AddItem Str(a(i))

Next i

End Sub

举一反三
【加试题】某加密程序,对输入的原始字符串进行加密处理,输入加密后得到的字符串。数据加密方法为对原始字符串中的每个字符进行如下处理:

  ①将该字符的ASCII码值转化为8位二进制数;

  ②将后4位二进制数进行按位取反(1变0,0变1);

  ③将操作②生成的4位二进制数均左移1位(原第1位变为新的第4位);

  ④原高4位二进制数连接到新的后4位二进制数成为最终加密后字符的内码。

  例如:字符“a”经过上述加密运算,可得到字符“m”。

ASCII码值

转二进制

后四位取反

后四位左移

拼合

转十进制

转字符

97D

01100001B

1110

1101

01101101B

109D

“m”

程序运行界面如图所示,请改正加框处有误的代码:

Private Sub Command1_Click()

    Dim s As String:Dim sl As String:Dim jg As String

    Dim n As Integer:Dim x As Integer:Dim i As Integer:Dim j As Integer

    Dim a(15)As String

    a(0)=“0000”:a(1)=“0001”:a(2)=“0010”:a(3)=“0011”

    a(4)=“0100”:a(5)=“0101”:a(6)=“0110”:a(7)=“0111¨

    a(8)=“1000”:a(9)=“1001”:a(10)=“1010”:a(11)=“1011¨

    a(12)=“1100”:a(13)=“1101”:a(14)“1110”:a(15)=“1111”

    jg=“ ”

    s=Text1.Text

    For i=1 To Len(s)

        n=Asc(Mid(s,i,1))

        low=n Mod 16

        low=15-low          ‘执行步骤②

        s1=Mid(a(low),2,3)&Mid(a(low),1,1)  ‘执行步骤③

        For i=l To 4

            x=x+Val(Mid(s1,j,1))*         ‘⑴{#blank#}1{#/blank#}

        Next j

        x= *16+x                        ‘⑵{#blank#}2{#/blank#}

jg=jg&Chr(x)

    Next i

    Text2.Text=jg

End Sub

条形码按照一定的编码规则排列,用以表达一组信息的图形标识符。其中,EAN-13条形码是由13位数字组成,最右边的是校验位。校验规则如下:

⑴从左向右将13个数字按顺序排列,最左边的是第1位,最右边的是第13位(即校验位)。将所有偶数位的数据相加,结果乘3,得到p。将除校验位以外所有奇数位的数据相加,得到q。

⑵计算p加q得到的和除以10的余数,再计算该余数以10为模的补数(如3以10位模的补数为7,8以10为模的补数为2)。

⑶若补数与校验位相等,则验证正确,否则验证错误。

小李对上述校验规则进行了加密处理,他将前12位数字分成3个一组。每组上每个数字分别循环向左移1位轮换(如第2位移到第1位,第7位移到第9位),再分别加上所处的位置后除以10 的余数,示例如下:

位置

1

2

3

4

5

6

7

8

9

10

11

12

13

原文

9

7

8

7

5

1

0

1

3

7

0

1

3

轮换

7

8

9

5

1

7

1

3

0

0

1

7

3

密文

8

0

2

9

6

3

8

1

9

0

2

9

3

小李还编写了解密验证程序,代码如下,运行界面如图所示。

Private Sub Command1_Click()

Dim i As Integer, t As Integer, code As String, res As String

Dim p As Integer, q As Integer, x As Integer

Dim a(1 To 13) As Integer

code = Text1.Text

For i = 1 To 12

    ch = Mid(code, i, 1)

t =     ①        

a(i + 1 - (     ②     ) * 3) = t

Next i

For i = 1 To 12

    If i Mod 2 = 0 Then  p = p + a(i)  Else  q = q + a(i)

Next i

x =      ③      

If x = Val(Mid(code,13,1)) Then res = "验证正确" Else res = "验证错误"

Label3.Caption = res

End Sub

请回答下列问题:

返回首页

试题篮