当前位置: 高中信息技术 / 综合题
  • 1. (2020高三下·浙江开学考) 一位茶叶商人从南方收购了 n 吨新茶,由于产地偏僻不通铁路,茶商准备先沿水路运到武汉,再发往全国各地销售。码头上只有 10 条规格不同的小货船,每条船舶都不足以装载全部茶叶。各船舶的最大载重量分别为 W(i)吨,需 f(i)费用(该艘船每吨的费用)(1≤i≤10)。当然,由于茶商是老主顾,而且货船舶还可以搭配载其他货物,因此船主比较客气,声称可以装一部分货物,按实际装多少货物计费(例如,只装了 1/3 吨,则费用为 1/3*f(i))请问茶商应该选择哪些货船,使得费用最低。若有费用相同,输出用船数最少的。

    解题思路:随机生成 10 条船的载重量[1,10]和费用[1,30],然后将它们按费用从小到大排序,若费用相同,则载重大的在前,运输时,先把费用低的船装满,再按费用向下将船装好,运输。

    1. (1) 根据图a所示,可以发现有 (填数字)个对象没有 caption属性。

      图 a

    2. (2) 根据上述描述设计如下 VB 程序,请在划线处填入合适的代码。

      Dim f(1 To 10) As Integer, w(1 To 10) As Integer, b(1 To 10) As Integer

      Private Sub Command2_Click()

          Dim n As Integer, count As Integer, yf As Integer

          Dim s As String, i as integer

          n = Val(Text1.Text)

          count = 0

          yf = 0

          cz = n

          i = 1

          Do While n > 0

              If n >= w(b(i)) Then

                 

              Else

                  yf = yf + n * f(b(i))

              End If

              count=count+1

              s = s + Str(b(i)) + "号船"

              i=i+1

             

          Loop

          Label2.Caption = "总计费用为:" + Str(yf) + "元 " + Str(count) + " 条船,分

      别为 " + s

      End Sub

      Private Sub form_load()

          Dim t As Integer, i as integer, j as integer

          List1.Clear

          List1.AddItem "编号 载重 费用'"

          For i = 1 To 10

              w(i) = Int(Rnd * 10 + 1)

              f(i) = Int(Rnd * 30 + 1)

              b(i) = i

              List1.AddItem Str(b(i)) + " " + Str(w(i)) + " " + Str(f(i))

          Next i

          For i = 1 To 9

              For j = 10 To i + 1 Step -1

                  If  Then

                      t = b(j): b(j) = b(j - 1): b(j - 1) = t

                  End If

              Next j

          Next i

      End Sub

    【知识点】
    考点
    抱歉,您未登录!暂时无法查看答案与解析,点击登录

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

试题篮

0

备课组卷

备课组卷助手小程序

返回顶部
您的试题篮还没有试题,
马上添加试题吧!