当前位置: 高中信息技术 / 综合题
  • 1. (2020高三上·绍兴月考) 大数据是当今最热门的领域之一,小王同学利用VB设计了一个模拟大数据应用的程序。有10种商品,数组a存储用户是否购买了各种商品;某个用户购买时,商品两两之间是否一起购买用另一个数组dsj来记录;各数组元素的解释如下表所示。

    数组元素

    数组元素的含义

    a(i)

    a(1)到a( 10)依次存储1号顾客购买商品1~商品10的记录:

    a(11)至a(20)依次存储2号顾客购买商品1~商品10的记录;依次类推。

    数组a的某个元素的值为1,则表示某位顾客购买了某种商品,若为0则表示没有购买

    该种商品。如a(6)=1表示1号顾客购买了商品6,a(6)=0表示未购买。

    dsj(i)

    dsj(1)~dsj(9)依次存储商品1与商品2~商品10的关联次数;

    dsj(10)~dsj(17)依次存储商品2与商品3~商品10的关联次数;依次类推。

    如dsj(5)=2表示商品1与商品6被同时购买过2次;

    如dsj(45)=4表示商品9与商品10被同时购买过4次。.

    数组dsj中,若dsj(45)的值最大,则表示商品9和商品10 的关联次数最多。

    小王按照上述算法设计了VB程序,统计了20个用户购买10种商品之间的关联性,VB程序如下,部分界面如题图所示。

    Private Sub Cmd1_Click( )

        Dim a(1 To 200) As Integer     '各个用户原始的购买记录

        Dim dsj(1 To 45) As Integer     '统计商品之间的关联次数

        Dim i As Integer, t As Integer, ne As Integer, j As Integer, max As Integer

        '数组a读入数据并在列表框分行输出,代码略

        For i= 1 To 20 '20个用户

            t= 1

            For j= 1 To 9      '10个商品,共45种组合

                For k=j+ 1 To 10

                    m=(i- 1)* 10

                    If  Then dsj(t) = dsj(t)+ 1

                         ①   

                Next k

            Next j

        Next i

        max=0

        For i=1 To 45

            If     ②     Then

                max=dsj(i)

                maxi=i

            End If

        Next i

        t=9:nc= 1

        Do While maxi>t

                ③   

            t=t-1

           nc=nc+1

        Loop

        Text1.Text="关联最多的是商品"+Str(nc)+Str(maxi+nc)+":"+Str(max)+"次"

    End Sub

    1. (1) 将按钮.上的文字“统计”修改为“计算”,可在Form_Load过程中使用        (单选,填字母)语句实现;
      A . Cmd1.Caption= "计算” B . Cmd1_Click="计算" C . Command1.Text="计算"
    2. (2) 加框处代码有错,请改正;
    3. (3) 在程序划线处填入合适代码,使程序完整。

       ② ③ 

微信扫码预览、分享更方便