当前位置: 高中信息技术 / 综合题
  • 1. 大数据是当今最热门的领域之一,小王同学利用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表示未购买。

    b(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(1To200) As Integer       '各个用户原始的购买记录

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

    Dim i As Integer, t As Integer, nc 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) 在程序划线处填入合适代码,使程序完整。

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