当前位置: 高中信息技术 / 综合题
  • 1. (2020高三上·浙江开学考) 暑假小明的弟弟问了他一道小学一年的数学题,题目是:“小红去超市买东西,里面有:巧克力一盒28元、火腿肠一包24元、皮球一个16元、毛巾一条4元、N95口罩一包15元、笔记本一本8元、铅笔盒一个7元、水晶泥一盒12元、水彩笔一盒24元、牛奶一瓶5元等很多商品。小红带的钱刚好购买其中的两样东西。请问她可以买哪两样东西,有几种组合?”为解决这个问题,小明专门编写了一个VB程序。在文本框中text1输入商品和价格,在文本框text2中输入带的钱,单击“挑选”按钮,在列表框list1中输出查询结果。程序运行界面如下图:

    请回答下面问题:

    1. (1) 下列对象中,有Caption属性的是(单选,填字母:A .Command1/B .Text1/C .Lis1)。
    2. (2) 实现挑选两样商品功能的VB程序如下,请在划线处填入合适的代码。

      Private Sub Command1_Click()

      Dim n,i,j,k,x,L,R,c As Integer

      Dim goods(1 To 20)As String      'goods(i)存储商品的名称

      Dim price(1To 20)As Integer       'price(i)存储商品的价格

      Dim s,ch As String

      s=Text1.Text:x=Val(Text2. Text)

      j=1:k=0

      For i=1 To Len(s)

          ch=Mid(s,i,1)

          If ch="," Then

            k=k+1

            If k Mod 2=1 Then

             

            Else

                price(k\2)=Val(Mid(s,j,i-j))

            End If

            j=i+1

          End If

      Next i

      n=k\2

      For i=1 To n-1

          For i=1 To n-i

            If price(j)>price(j+1)Then

              k=price(j):price(j)=price(j+1):price(j+1)=k

             

            End If

          Next j

      Next i

      For i=2 To n

       

        L=i:R=n

        Do While L<=R

          m=(L+R)\2

          If price(m)+price(k)=x Then

              c=c+1

              List1. Addltem goods(k)& Str(price(k))&"元 和" & goods(m)& Str(price(m))& "元"

              j=m

              Do While price(j)=price(j-1)

                j=j-1

                c=c+1

                Listl. Addltem goods(k)& Str(price(k))& "元 和" & goods(j)& Str(price(j))& "元"

              Loop

              Do While

                m=m+1

                c=c+1

                List1. Addltem goods(k)& Str(price(k))& "元 和" & goods(m)& Str(price(m))& "元"

              Loop

              Exit Do    ‘Exit Do 表示退出Do循环

          Elself price(m)+price(k)>x Then

              R=m-1

          Else

              L=m+1

          End If

         Loop

      Next i

      List1. Addltem"共有:" & Str(c)& "种组合"

      End Sub

    3. (3) 程序中加框处代码有错,请改正。

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