试题

试题 试卷

logo

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

浙江省金华市江南中学2019-2020学年高二下学期信息技术3月月考试卷

密码强度检测。编写VB程序,实现如下功能:在文本框Text1中输入要检测的密码,单击“检测”按钮Command1,则在标签Label3中输出检测结果,运行效果如图a所示。

将密码字符分为数字、字母和其他符号三类。

密码强度的检测方法为:

⑴若密码位数少于8位,则不进行强度检测,给出提示“密码位数不能少于8位,请重新输入!”。

⑵若密码位数在8位及以上,则进行强度检测:

若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不同的二类字符,则密码强度为“中等”;若密码字符属于不同的三类字符,则密码强度为“强”。

(1)、当前编辑的对象的属性窗口如图b所示,则其对象名为 。程序代码“Private Sub Command1_Click()”中的“Click”是  (填:对象/方法/事件/事件处理过程)。
(2)、为实现上述功能,请在程序划线处填入合适的代码。

Private Sub Command1_Click()

  Dim password As String, st As String

  Dim i As Integer, n As Integer, tj1 As Integer, tj2 As Integer, tj3 As Integer

  password = Text1.Text

  n = Len(password)

  If      ①      Then

    Label3.Caption = "密码位数不能少于8位,请重新输入!"

  Else

    tj1 = 0:  tj2 = 0:  tj3 = 0

    i = 1

    Do While      ②      

      st = Mid(password, i, 1)

      If st >= "0" And st <= "9" Then

        tj1 = 1

      ElseIf st >= "a" And st <= "z" Or st >= "A" And st <= "Z" Then

        tj2 = 1

      Else

        Tj3 = 1

      End If

      i = i + 1

    Loop

    If tj1 + tj2 + tj3 = 3 Then

      Label3.Caption = "强"

    ElseIf      ③      Then

      Label3.Caption = "中等"

    Else

      Label3.Caption = "弱"

    End If

  End If

End Sub

 ② ③ 

举一反三
如果一个自然数的每个质因数都至少是二重的(即每个质因数乘方次数都大于或等于2),如整数72=2^3*3^2(即72=2*2*2*3*3),判断2~72所有数中全部质因子的乘方次数,找出质因子“2”乘方次数为3;质因子“3”乘方次数为2,不是72的质因子,那么这个自然数称为“漂亮数”。小李编写了一个验证“漂亮数”的VB程序。在文本框输入小于1 000的正整数,单击“检查”按钮在列表框中显示该数的质因子及该因子乘方数,在标签Label1中显示判断结果,在标签Label4中显示所有质因数的分解过程。程序运行界面如下图所示。

实现上述功能的VB代码如下,但加框处代码有错,请改正。

Private Sub Command1_Click()

Dim a(1 To 999) As Integer

Dim n As Integer

Dim s As String

For i=1 To 999

 a(i)=0

Next i

n=Val(Text1.Text)

s =“”

Do While n<>1     ‘分解质因子过程并统计质因子出现次数

For i = 2 To n

 Do While n Mod i = 0

  s = s&“  ”&i

  a(i)= a(i)+1

       ‘①

 Loop

Next i

Loop

Label4.Caption =“质因子分解过程:” +s

For j = 2 To 999     ‘判断是不是漂亮数

 If Then      ‘②

  Label1.Caption = “不是漂亮数”

  Exit For

 Else

  Label1.Caption =“漂亮数”

  End If

Next j

For j = 2 To 999     ‘在列表框输出质因数及对应的乘方数

 If a(j)>0 Then

  List1.Additem Str(j)+“ ”+Str(a(j))

 End If

Next j

End Sub

①{#blank#}1{#/blank#} ②{#blank#}2{#/blank#} 

返回首页

试题篮