试题

试题 试卷

logo

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

浙江省温州市2021届高三上学期信息技术11月适应性测试卷

小温编写了一个有关环形数据排序的VB程序,实现如下功能:排序前的原始数据在窗体左边环形显示,单击“排序”按钮Command1后,原始数据中最小元素的位置固定不变,从该位置开始数据按逆时针升序,排序后的数据在右边环形显示。例如,排序前a(1)到a(10)的数据依次为“1,11,19,18,016,8,9,17,4",按顺时针顺序在窗体左边环形显示,则排序后a(1)到a(10)的数据依次为9,4,1,19,18,17,16,11",在窗体右边环形显示。程序运行界面如图所示。

请回答下列问题。

(1)、该环形数据排序的VB程序主要采用(选填:冒泡排序/选择排序)算法。
(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。

Constn= 10

Dim a(1 To n) As Integer

Private Sub Command1_ Click()

     Dim Left As Integer, Right As Integer, Lstart As Integer, Rstart As Integer

     Dim i As Integer, j As Integer, t As Integer, s As String

     '随机生成n个不重复元素的数组a,并在左边环形显示,代码略

     k= 1

     For i= 2 Ton

         If a(i) < a(k) Thenk=i

     Next i

     Lstart = (k+n- 2) Mod n+ 1: Rstart= k Mod n+ 1

     i= 1

     Do Whilei<= (n-1)\2

         Left = Lstart

         For j= 1 To

             p= (Left+ n-2) Mod n+ 1

             If a(Left) > a(p) Then

                 t= a(Left): a(Left) = a(p): a(p)= t

             End If

             Left= p

         Next j

         Rstart= Rstart Mod n + 1

         Right = Rstart

         Do While

             p=RightModn+1

             If  Then

                 t= a(Right): a(Right) = a(p): a(p)=t

             End If

             Right= p

         Loop

         Lstart =

          i=i+ 1

     Loop

     排序后的数据在右边环形显示,代码略

End Sub

(3)、程序中加框处代码有错,请改正。
举一反三
返回首页

试题篮