试题

试题 试卷

logo

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

浙江省杭州市建人高复2021届高三上学期信息技术第一次考试试卷

小王基于选择排序算法编写了一个VB程序,功能如下:数组a有n*n个元素,按列进行升序排序,例如6*6的数组,第一列将a(1),a(7),a(13),a(19),a(25),a(31)进行排序。运行程序,在列表概List1中显示n*n个数列单击“排序"按钮Command1,在列表概List2中显示排序后的结果,程序运行界面如图a所示。

图a

(1)、若要修改按钮上文字“排序”字体的字号,可以修改Command1对象中的属性(单选。填字母:A . Caption /B . BackColor/ C . Font)
(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。

Const n=6

Dina(1 To n*n)As Integer

Private Sub Form_Load()      ' 产生n*n个数组元素,每行按n个数显示在list1中

    Din i As Integer, s As String

   

    For i=2 To n* n

        a(i)=Int(Rnd*90)+10

        s =s+ Str(a(i))

        If i Mod n = 0 Then List1.AddItem s: s =“”

    Next i

End Sub

Private Sub Comnand1_ Click()

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

    For i = 1 To n*n

        k= i

        For j= To i+n step -n

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

        Next j

        If  Then t= a(k): a(k) = a(i): a(i) =t

    Next i

    ‘将排序后数组a的元素,每行按n个数显示在list2中.

End Sub

(3)、若要实现仅对偶数列进行升序排列,加框处的表达式应改为
举一反三
小吴为了探究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:

在列表框List1中显示排序前数据(存储在数组a中),在文本框Text1中输入初始位置(即下标值),单击“排序”按钮Command1后,在标签Label1中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如图所示。

实现上述功能的VB程序如下,请在横线处填上合适的代码,改正加框处的代码。

Dim a(1 To 8) As Integer

Dim n  As Integer

Private Sub Form_Load()

   'n = 8,排序前的8个数据存储在数组a中,并在列表框List1中显示

   '代码略

End Sub

Private Sub Command1_Click()

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

Dim pos As Integer      '变量pos存储指定数据的位置(既下标值)

Dim s As String         '变量s存储pos变化情况

s = Text1.Text

pos = Val(Text1.Text)

For i = 1 To n - 1

      For j =    ⑴            

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

                 ⑵             

              a(j - 1) = a(j)

              a(j) = k

               '如果pos位置的数据参与交换,则更新pos值,记录pos变化情况

              If pos = j Then

                  pos = j - 1

                  s = s + "→" + Str(pos)

                                               '(3)

                  pos = j

                  s = s + "→" + Str(pos)

              End If

          End If

      Next j

Next i

Label1.Caption = "位置变化情况:" + s

For i = 1 To n

      List2.AddItem Str(a(i))

Next i

End Sub

⑴{#blank#}1{#/blank#} ⑵{#blank#}2{#/blank#} ⑶{#blank#}3{#/blank#} 

返回首页

试题篮