试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省91高中联盟2018-2019学年高二下学期信息技术期中考试试卷

字符加密:用VB编写某字符串加密解密程序(仅针对ASCII码字符) ,其加密过程如下:

首先,分别求出特加密ASCII字符的ASCII码,然后用7位二进制来表示,比如“4”的ASCII码为十进制52,转换为7位二进制为“0110100”

其次,从左至右依次记为第1、2、3....7位,分别把第3、4、5位取反,即0变1, 1变0,至此“0110100”变为“0101000”,将此二进制转换为ASCII码为40,对应的字符为“(”,即“4”经过加密后得到加密字符左括号“(”。

在文本框Text1中输入ASCII字符,单击命令按钮Command,则在文本框Text2中显示经过加密的字符。VB代码如下,程序界面如图所示。

上述加密与解密过程实际上是可以互逆的,请完成下列问题。

(1)、若在文本框Text1中输入字符“46785”,则文本框Text2中显示加密字符
(2)、请在划线处填入合适的代码。

Private Sub Command1_Click()

  Dim a(1 To 7) As Integer

  Dim i As Integer, j As Integer, n As Integer

  Dim ascl As String, s As String, s1 As String

  i=1

  S=Text1.Text

  Text2.Text=“”

  Do While i=Len(Text1.Text)

      s1= Mid(s, i, 1)

      ascl=Asc(s1)

      n=0

      For j=7 To 1 Step-1

          If j=3 Or i=4 Or j=5 Then

              a(j)=

          Else

              a(j) = asc1 Mod 2

          End If

          ascl=asc1\2

          n=

      Next j

      Text2.Text =Text2.Text+

      i=i+1

  Loop

End Sub

举一反三
某次考试的流程为先笔试再面试,笔试成绩达到面试资格线的可以入围参加面试。入围面试的资格线根据计划录取人数的200%划定,即如果考试最终录取x人,则第2*x名选手的笔试分数为面试资格分数线(该分若有同分者可一同参加面试)。现在编写VB程序功能如下:自动读取数据库中考生考号和笔试成绩,依次存储在数组kh(i)、cj (i)中,并显示在Listl列表框中。

用户从Text1中输入计划人数,单击“入围划线”按钮Command1,面试分数线显示在文本框Text2 中,入围面试最终人数显示在 Text3中,进入面试考生的考号和笔试成绩显示在List2列表框中,如果成绩相同,则按考号从小到大的顺序显示。程序界面如图所示。

Dim kh(1 To 500) As String, cj(1 To 500) As Integer

Dim n As Integer ′参加考试总人数

Private Sub Form_Load()

Dim conn As New ADODB.Conncction

Dim rs As New ADODB.Recordset

conn.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;datasource=”+App.Path + ”\BSCJ.accdb”

conn.Open

Set rs.ActiveConnection = conn

rs.Open “select * FROM scoreinfo”

′本过程其他代码略

End Sub

Private Sub Commandl_click()

Dim m As Integer, i As Integer, j As Integer

Dim t1 As Integer, t2 As String, flag As Boolean

For i = 1 To n - 1

  For j = 1 To

    If cj(i) < cj(j) Then

      t1 = cj(i): cj(i) = cj(j): cj(j) = t1

      t2 = kh(i): kh(i) = kh(j): kh(j) = t2

    EleIf      ①      Then

      t2 = kh(i): kh(i) = kh(j): kh(j) = t2

    End If

  Next j

Next i

m =     ②     

If m <= n Then

  i = m

  flag = Flase

  Do While i < n And Not flag
    If cj(i) = cj(i + 1) Then

      i = i + 1

 Else

             ③     

 End If
  Loop

  Text2.Text = Str(cj(m))

  Text3.Text = Str(i)

  For j = 1 To i

    List2.Addltem kh(j) + “ ” + Str(cj(j))

  Next j

Else

  Text2.Text = “面试人数超过了总人数”

End If

End Sub

返回首页

试题篮