试题

试题 试卷

logo

题型:综合题 题类:模拟题 难易度:困难

浙江省名校信息技术仿真训练卷(三)

【加试题】在计算机系统中,数值一般用补码来表示和存储,补码由符号位和数值位两部分组成,符号位用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

(1)、-27用8位二进制补码表示为

 

(2)、请在画线处填入合适的代码。

 ②

举一反三
【加试题】筛选法求素数的核心思想是先找最小素数,然后剔除其所有的倍数,在留下的数中再剔除最小素数的倍数,重复执行,直到剔除所有的非素数。

小张编写了一个2查找孪生素数对(差值为 2)的 VB 程序,功能如下:在文本框Text1中输入一个整数n(n≤1000000),单击“求素数对”按钮Command1,在列表框List1中显示2到n范围内的素数,在标签Label2中显示素数个数,在标签Label3中显示孪生素数对个数。程序运行界面如图所示。

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

Private Sub Command1_Click()

Dim n As Long, i As Long, j As Long

Dim tAs Long '存储素数个数

Dim countAs Integer '存储素数对个数

Dim p As Long

Dim a(2 To 10000000)As Integer

n = Val(Text1.Text)

For i = 2 To n

    a(i) = 1

Next i

p = 2

Do While p <= Int(Sqr(n))

    If a(p) = 1 Then

        j = 2

        Do While j <= n \ p

                       '(1)

            j = j + 1

        Loop

    End If

    p = p + 1

Loop

t = 0

For i = 2 To n

    If a(i) = 1 Then t = t + 1

Next i

count = 0

For i = 2 To n - 2

    If  Then      '(2)

        count = count + 1

        List1.AddItem ads(i, 1) & ads(i + 2, 5)

    End If

Next i

Label2.Caption = "总共有" + Str(t) + "个素数"

Label3.Caption = "其中有" + Str(count) + "个孪生素数对"

End Sub

Function ads(xAs Integer, n As Integer) As String

'整数转换成长度固定的字符串,代码略

End Function

返回首页

试题篮