试题

试题 试卷

logo

题型:判断题 题类:模拟题 难易度:容易

新疆昌吉回族自治州第一中学2020-2021学年高三学业水平信息技术模拟测试卷

在运行程序时,先执行主程序再调用函数。
举一反三
【加试题】在计算机系统中,数值一般用补码来表示和存储,补码由符号位和数值位两部分组成,符号位用0表示正数,用1表示负数。例如,整数n(-128≤n≤127)用8位二进制补码的表示方法为:

①数:正整数补码的数值即其二进制表示。

例:12的8位二进制表示00001100,最高位即符号位“0”表示正数。

②数:除符号位外,所有位取反,然后+1。

例:-5的8位二进制补码表示方法如下,5对应7位二进制数为0000101(原码),所有位取反后为1111010(反码),再加1后为1111011(补码),再设置符号位为1,因此-5用8位二进制补码表示为11111011。

    小明设计了一个VB程序,点击“补码”按钮Command1,将文本框Text1中输入的整数n(-128≤n≤127)转换成相应的补码,并在文本框Text2中输出,程序运行界面如图所示,请将画线处的代码补充完整。

Private Sub Command1_Click()

  Dim n As Integer,a As Integer,i As Integer

  Dim m(1 To 8)As Integer

  Text2.Text=" "

  n=Val(Text1.Text)

  If n>=0 Then

    ‘计算二进制原码

    For i=8 To 2 Step-1

      m(i)一n Mod 2

      n=n\2

    Next i

    ‘设置符号位

    m(1)=0

  Else

    n=-n

   ‘计算二进制反码

    For i==8 To 2 Step-1

      m(i)=    ①  

      n=n\2

    Next i

    ‘加1计算

    i=8

    Do While m(i)=1

           ②  

        i=i-1

      Loop

      m(i)=1

     ‘设置符号位

     m(1)=1

  EndIf

  ‘输出结果

  For i=1 To 8

    Text2.Text=Text2.Text & m(i)

  Next i

End Sub

编写VB程序,功能为:单击“发牌”按钮“Command1”后,从一副扑克牌(不包括大王、小王、J、Q、K、A)中随机抽取5张牌,牌的花色(♠♥♣♦)忽略,显示在列表框“List1”中。如果这5张牌由一个对子和一个顺子(3张牌连续)组成,则在标签“Label1”中显示“运气不错:)”,否则显示“运气一般:|”。程序运行界面如图所示。

实现上述功能的VB程序如下:

Private Sub Command1_Click()

  List1.Clear

  Dim five(1 To 5) As Integer

  Dim i As Integer, j As Integer, k As Integer

  Dim p As Integer, find_pair As Boolean

  '随机抽取5张牌,将牌的点数存储在数组five中,并在List1中显示。代码略

  i = 5: p = 1: find_pair = False

  Do While i>= 2

    j=p

    Do While j <= i - 1

      If five(j) > five(j + 1) Then

        t = five(j): five(j) = five(j + 1): five(j + 1) = t

      ElseIf five(j) = five(j + 1) And Not find_pair Then

        t = five(1): five(1) = five(j): five(j) = t

        t = five(2): five(2) = five(j + 1): five(j + 1) = t

        find_pair = True

        i = i + 1

        p = _____________

        Exit Do

      End If

      j = j + 1

    Loop 

    i = i - 1

  Loop

  k = 0

  For i = 3 To 4

    If  Then k = k + 1

  Next i

  If five(1) = five(2) And k = 2 Then

    Label1.Caption = "运气不错:)"

  Else

    Label1.Caption = "运气一般:|"

  End If

End Sub

请回答下列问题:

返回首页

试题篮