试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省七彩阳光新高考研究联盟2021届高三下学期信息技术返校联考试卷

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

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

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

图 a

(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

举一反三
返回首页

试题篮