试题

试题 试卷

logo

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

浙江省杭州市2016年信息技术高考模拟卷三

【加试题】郑强收集了某月部分品牌电脑在某城市的销售量,并设计了一个VB排序程序。程序运行界面如图所示,左边列表框List1中显示排序前数据,单击“排序”按钮Command1,在右边列表框List2中显示按销售量从低到高排序后的结果,在标签Label3中显示比较次数。程序中数组a和数组b分别存储品牌名称和对应的销售量。

 

Const n As Integer = 10      'n为品牌数

Dim a(1 To n) As String      '数组a用于存储品牌名称

Dim b(1 To n) As Integer     '数组b用于存储销售量

Private Sub Form_Load()

    '此过程用于对数组a和数组b进行赋初值,并显示在List1中,代码略

End Sub

Private Sub Command1_Click()

Dim i As Integer, j As Integer, k As Integer, x As Single, y As String

Dim n As Integer

n = 1

For i = 1 To 9

    k = i

    For j = i+1 To 10

If Then k = j

n=n+1

    Next j

    If     ①     Then

x = a(i): a(i) = a(k): a(k) = x  

y = b(i): b(i) = b(k): b(k) = y 

    End If

Next i

For i = 1 To 10

List2.AddItem Str(a(i)) + "      " + b(i)

Next i

Label3.Caption = "比较次数为:" + + "次"

End Sub

(1)、实现上述功能的程序代码如下,但加框处代码有错,请改正。
(2)、请在划线①处填入合适代码。
举一反三
【加试题】某排序算法思想如下:若有11个桶,编号从0~10,随机产生多个整数,每产生一个整数时,就在以该整数位编号的桶中放一面小旗子,最后只要按顺序数每个桶中有几面小旗子,就能得到这几个整数的有序排列。例如2号桶中有1个小旗子,表示2出现了一次;3号桶中有1个小旗子,表示3出现了一次;5号桶中有2个小旗子,表示5出现了两次;8号桶中有1个小旗子,表示8出现了一次,按桶的编号顺序读出旗子数量,没有旗子的桶略过,得到有序整数为“2,3,5,5,8”。

为此,小李编写了一个VB程序,功能如下:运行程序,窗体加载时随机产生6个[0,9]的随机整数,并在列表框List1中依次显示排序前数据,单击“排序”按钮Command1,在列表框List2 中显示经过上述排序算法后的数据。运行结果如图所示。

实现上述功能的VB代码如下,但横线处代码有错,请改正。

Dim a(10) As Integer'数组a表示桶的编号,如a(0)表示第0号桶

Private Sub Command1_Click()

Dim i As Integer, j As Integer

For i = 0 To 10

For j = 1 To     i      错①处

List2.AddItem CStr(i)

Next j

Next i

End Sub

Private Sub Form_Load()

Dim i As Integer

Randomize

For i = 0 To 10'将数组初始化为0

a(i) = 0

Next i

For i = 1 To 6'产生6个[0,9]的随机数

t = Int(Rnd * 10)

a(t) =  t + 1  '第t桶中小旗子数量加1  错②处

List1.AddItem CStr(t)

Next i

End Sub

①{#blank#}1{#/blank#} ②{#blank#}2{#/blank#} 

返回首页

试题篮