学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
某超市想通过对商品的关联分析来改进商品摆放位置,既方便消费者购物又促进销量。根据超市某个时期内的流水记录,统计商品的关联次数(两个不同商品如果同时出现在同一个单号中, 表示这对商品关联 1 次),统计出超市销售商品中关联次数最多的一对商品。
例如:超市某时间段销售流水记录如图 a 所示:

图a


在上表中关联次数最多的一对商品是“怡泉+C 柠檬味汽水330ml”和“统一ALKAQUA矿泉水570ml”,关联次数为2次。
编写 VB 程序,实现超市商品关联分析功能。运行程序,单击“读取销售数据”按钮 Cmd1, 从数据库文件中读取销售单号、商品编号、商品名称等信息,再单击“销售数据分析”按钮 Cmd2, 在文本框 Text1 中输出统计结果。程序运行界面如图b所示。

b


请回答下列问题:
(1)如果同一单号中有5件不同商品,那么总共产生______种不同的商品关联。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Const num = 100000'所有销售数据不超过 10 万条
Dim numk As Long'销售流水数据总条数 numk
Dim spmc(1 To 1000) As String'商品名称,不超过 1000 种
Dim dh(1 To num) As String ,bh(1 To num) As String'销售单号 dh,商品编号 bh
Dim n As Integer '商品种数n(n<1000)
Dim spgl(1 To num * 2) As Long'商品关联情况 spgl
Private Sub Cmd1_Click()
'从数据库文件中读入销售单号、商品编号、商品名称等信息,按销售单号升序分别保存在数组dh、bh、spmc 中,并统计出总销售数据数量 numk、商品种数 n,代码略
End Sub
Private Sub Cmd2_Click()
Dim i As Long, j As Long, k As Long, t As Long, p As Long, q As Long
Dim x As Integer, y As Integer, maxc As Integer, maxg As String, numc As Long
numc = 1001 : p = 1
numk = numk + 1 : dh(numk) = "00000"'结尾增加一单虚拟单号作为结束标记
For i = 2 To numk

If______Then'前同一销售单号内的商品关联情况

q = i

If q - p > 1 Then

For j = p To q - 2

For k = j + 1 To q - 1

If bh(j) < bh(k) Then

x = Val(bh(j)) : y = Val(bh(k))

Else


y = Val(bh(j)) : x = Val(bh(k))

End If

If spgl(x) = 0 Then'该商品首次出现关联s

spgl(x) = numc

spgl(numc) = y: spgl(numc + 1) = 1: spgl(numc + 2) = 0

numc = numc + 3

Else

t = spgl(x)'查找该商品关联是否出现过

Do While______

t = spgl(t + 2)

Loop

If spgl(t) = y Then

spgl(t + 1) = spgl(t + 1) + 1

Else

spgl(t + 2) = numc

spgl(numc) = y: spgl(numc + 1) = 1: spgl(numc + 2) = 0

numc = numc + 3

End If

End If

Next k

Next j

End If

p = q

End If


Next i
'查找并输出首次出现关联次数最多的一对商品及次数
maxc = 0
For i = 1 To n

t = spgl(i)

Do While t <> 0

If spgl(t + 1) > maxc Then

maxc = spgl(t + 1)

maxg = spmc(i) + "<-->" + spmc(spgl(t))

End If

_________

Loop


Next i
Text1.Text = maxg + ",关联" + Str(maxc) + "次" End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交