浙江省台州市黄岩第二高级中学2019-2020学年高二下学期信息技术返校考试试卷

修改时间:2024-07-31 浏览次数:150 类型:开学考试 编辑

选择试卷全部试题 *点击此按钮,可全选试卷全部试题,进行试卷编辑

一、选择题(本大题共12小题,每小题2分,共24分。每小题列出四个备选项中只有一个符合题目要求的,不选,多选错选均不得分)

  • 1. 在VisualBasic中,能表示整数x是完全平方数(如=3*3,9是完全平方数)的表达式是(    )
    A . x^2=x*x B . sqr(x)=x\2 C . int(sqr(x))^2=x D . (x\2)^2=x3
  • 2. 下列程序执行后文本框Text1显示的内容是(    )

    x= "abcdcba": ans = 0

    For i= 1 To Len(x) \2.

    If Mid(x, i, 1) = Mid(x, Len(x)-i+ 1, 1) Then ans = ans+ 1

    Next i

    Text1.Text = Str(ans)

    A . 1 B . 2 C . 3 D . 4
  • 3. 有如下程序:

    Private Sub Command1_Click()

      Dim a(5) as Integer

      Dim n as Integer, i as Integer

      n=Val(Text1.Text)

      i=0

      a(1)=1: a(2)=1

      For i=3 To n

         a(i)=a(i-1)+a(i-2)

      Next i

      Label1.Caption=a(i)

    End Sub

    若在Text1中输入5,则点击按钮后的运行结果为(    )

    A . Label11中输出5 B . Label1中输出10 C . 报“下标越界”错误 D . Label11中无内容
  • 4. 有如下VB程序段:

    Fori=1 To 3

       For j=6 To i+1 Step-1

        If a(j) > a(j-1) Then

          k=a(j): a(j)=a(j-1): a(j-1)=k

    End If

    Next j

       s=s+“"”+str(a(i))

    Next i

    Text1. Text=str(s)

    数组元素从a(1)到a(6)的数据依次为“3、7、25、8、9”,经过该程序“加工”后,文本框Text1中显示的是(    )

    A . 2  3 5 B . 9 8 7 C . 3 7 2 D . 7 3 2
  • 5. 某算法的部分流程图如下图所示,执行这部分流程后,输出c,s的值分别是(    )

    A . 8,10 B . 10,14 C . 12,6 D . 12,24
  • 6. 有如下VisualBasic自定义函数:

    Function f(x As Integer) As Single

      f=Abs(x)

    End Function

    该函数返回值的数据类型是(    )

    A . 整数型 B . 日期型 C . 逻辑型 D . 单精度实数型
  • 7. 下列VB表达式中,不是字符串的是(    )
    A . Chr((Rnd*26)+65) B . Len("中国2019") C . Mid("r12b",2,2) D . (n+1) Mod 5&6
  • 8. 有VB编写的程序如下:

    Dim a(0 To 9) As Integer, t as Long

    t=Val(Text1.Text)

    Do While t<>0

     a(t Mod 10) = 1

     t = t \ 10

    Loop

    For i = 0 To 9

     x = x + a(i)

    Next i

    Text1中输入10242048,则程序执行后x的值为(  )

    A . 1 B . 2 C . 5 D . 10
  • 9. 下列程序执行后文本框Text1显示的内容是(    )

    Dimx As String, y As String, ans As Integer

    x="12": y="100"

    if x> Then ans=Val(x) Else ans=val(y)

    Text1.Text Str(ans)

    A . 12200 B . 12112 C . 124 D . 21210
  • 10. 某排序算法的VB程序段如下:

    For i=1 To 4

      k=i

      For j=5 To i+1 Step-1

        If a(j)<a(k) Then k=j

      Next j

      If k<> i Then

         tmp=a(k) : a(k)=a(i) : a(i)=tmp

        f(i)=True

     End If

    Next i

    当数组元素a(1)到a(5)的值依次为“8,2,1,21,3”数组f的初值均为 False,执行该程序段,f数组中元素值为True的个数有(    )

    A . 1个 B . 2个 C . 3个 D . 4个
  • 11. 有一段VB程序,代码如下:

    For i=1 To 3

     For j=8 To i+1 Step-1

      If a(j) < a(i) Then

       t=a(j): a(j)=a(i): a(i)=t

      End If

     Next j

    Next i

    数组元素a(1)到a(8)的值依次为“35, 18, 14, 20, 30, 15, 28, 26”,运行该程序段后,a(5)到a(8)的值依次是(  )

    A . 30,26,28,35 B . 14,15,18,20 C . 26,15,18,14 D . 26,28,30,35
  • 12. 某对分查找算法的VB程序段如下:

    t="": i=0: j=9: key=62: f=False

    Do While i <=j And Not f

       m=Fix((i+j)/2)

       t=t+Str(m)

       If a(m)= key Then

         f=True

         ElseIf a(m)>key Then

           i=m+1

           t=t+"→"

       Else

         j=m-1

         t=t+"←"

       End If

    Loop

    数组元素a(0)到a(9)的值依次为“99,94,90,87,78,70,63,56,45,36”执行该程序段的值是(    )

    A . "4→7←5→" B . "4→7←5→6→" C . "4→7←5→6" D . "4→7←-5"

二、非选择(本大题共3小题,4+11+11)

  • 13. 编写VB程序实现如下功能程序运行时产生n个数据并按升序排序显示在列表框List1中,在文本框Text1中输入一个正整数key,单击“查找”按钮 Command1,则在标签Label2中显示查找结果。程序界面如图所示。

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

    Const n=10

    Dim d(1 To n)As Integer

    Private Sub Form Load()

    ′随机产生n整数并存储在数组d中,并把数组d按升序排序

    ′在列表框中显示排序后的数据,代码略

    End Sub

    Private Sub Command1_Click()

        Dim key As Integer, p As Integer

       key =Val(Text1.Text)

           ‘①

    If p<>0 Then

       Label2. Caption="该数据在第"+Str(p)+"个位置"

    Else

       Label2. Caption="没有找到! "

      End If

    End Sub

    Function search(key As Integer) As Integer

      i=1: j=n

      Do While i<= j

      m=(i+j)\2

      If d(m)=key Then

        search =m

        Exit Function

      ElseIf key<d(m)Then

        j=m-1

      Else

        i=m+1

      End If

    Loop

        ‘②

    End Function

  • 14. 逆序数在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。例如序列2431,逆序依次为(2,1),(4,3),(4,1),(3,1),因此该序列的逆序数为4,为偶排列。

    编写VB程序,功能如下:程序运行时,在文本框Text1中输入序列,单击“计算”按钮Command11,在文本框Text2中输出逆序数,并在 Label3中输出判断结果(偶排列或者奇排列)。程序运行界面如图所示。

    (1) 如果序列为“5872469”,则逆序数为
    (2) 实现上述功能的VB程序如下,完善填空。

    Function NiXuShu(s As String) As Integer        '逆序数计算

       Dim i As Integer, j As Integer, c As Integer , n(1 To 100) As Integer

       c=0

       For i= 1 To Len(s)

         n(i) =Val(Mid(s, i, 1))

         For j=1 To i- 1

           ifThen

             c=c+ 1

           End If

         Next j

       Next i

       

    End Function

    Private Sub Command1_ Click()

      Dim x As String, y As Integer

      x = Text1.Text

      

    Text2.Text = Str(y)

    If y Mod 2= 0 Then Label3.Caption = "偶排列" Else Label3.Caption = "奇排列"

    End Sub

  • 15. 编写“二进制加法”程序。

    程序运行时,在文本框Text1和文本框Text2分别输入两个二进制数,单击按钮 Command11后在文本框Text3上输出两个二进制相加后的结果。

    程序运行如图所示。

    (1) 观察代码触发代码执行的事件名是
    (2) 为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1_Click()

      Dim b1 As String, b2 As String, ans As String, t As String

      Dim dist As Integer, jw As Integer

      b1=Text1.Text: b2 Text2.Text: ans=""

      

      If dist <0 Then

        t=b1: b1=b2: b2=t: dist=-dist

      End If

      For i=1 To dist

        b2="0"+b2

      Next i

      jw=0

      For i= Len(b1)To 1 Step-1

        x= Val(Mid(b1, i, 1))+ Val(Mid(b2, i, 1))+jw

       

        ans Str(x Mod 2)+ans

      Next i

      IfThen ans ="1"+ ans

    Text3.Text=ans

    End Sub

试题篮