试题

试题 试卷

logo

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

浙教版高中信息技术基础模块综合检测卷

小李利用所学的VB知识,编写了一个简单计算器:在文本框Text1中输入一个加减算式(只包含数字和“+”“一”符号,以“=”结束),点击“计算”按钮 Command1,计算结果在标签 Label上显示,程序运行界面如图所示。

(1)、要实现程序运行时,单击文本框Text1即可将文本框清空,则应在

(A .Command1_Click        B .Form_load     C .Text1_Click)事件处理过程中添加语句 Text1. Text=“”。

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

Private Sub Command1_Click(  )

  Dim s As String, ch As String, sum As Integer

  Dim fh As Integer

  s= Text1.Text:fh=1:p=0:sum =0

  For i= 1 To Len (s)

    ch= Mid(s, i, 1)

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

      p=   ①  

    Else

      sum=   ②  

      p=0

      If ch ="—"Then

        fh=-1

      Elself ch ="+" Then

        fh=1

      End If

    End If

  Next i

  Labell. Caption= Str(sum)

End Sub

 ② 

(3)、若文本框Text1中输入的内容为“12*10=”(不包括双引号),单击“计算”按钮后,标签 Label1上将显示(A .120    B .22        C .0        D .程序出错无法显示)
举一反三
【加试题】某加密程序,对输入的原始字符串进行加密处理,输入加密后得到的字符串。数据加密方法为对原始字符串中的每个字符进行如下处理:

  ①将该字符的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

将一个十进制正整数x转换成十六进制数的方法和转换成二进制类似,反复除16取余法,它的算法如下:

第一步:x被除16取余数r1,r1是所求的十六进制数的一个数(第一次就是个位数);

第二步:r1转换成十六进制数的一个基数并转换成字符,追加到十六进制数s的左边;

第三步:求出x被除16的商x1;

第四步:对x1重复第一、二、三步,直至商为0;

第五步:最后的s即为所求的十六进制数;

下列Visual Basic程序的功能是将一个十进制正整数x转换成十六进制数。界面如图所示,在文本框Text1中输入一个十进制数,单击“十进制转十六进制”按钮(Command1)后,在文本框Text2中输出转换的结果。

相应的Visual Basic程序如下:

Private Sub Command1_Click()

 Dim s As String, r As Integer

 dec=val(Text1.Text)      ‘dec得到一个十进制整数,例如:255

 base=16       ‘base表示16

  s=“”      ‘s变量存放要转换到的十六进制整数

  Do While dec <> 0

     r=(1)     

     If r >=10 Then       ‘如果base>10,r可能>10

      s=Chr(65+(r-10))+s     ‘Chr(65)=“A”,16进制数A对应10;

     Else

      s=Str(r)+s      ‘余数r<10时,十进制数和十六进制基数相同

     End If      ‘Chr(65+( r-10))或str(r)在s左边,实现了反次序输出

     dec=(2)     

  Loop

 Text2.Text=s

End Sub

在(1)处应填入{#blank#}1{#/blank#} , 在(2)处应填入{#blank#}2{#/blank#}

A.base Mod dec   B.dec/base

C.dec Mod base   D.dec\base

返回首页

试题篮