当前位置: 高中信息技术 / 综合题
  • 1. (2016·杭州模拟) 某仓库货物查询系统,数组id保存货物编号(货物编号已经按照从小到大的顺序保存),数组n保存货物名称,数组c保存货物数量。数组中的数据信息一一对应。该系统提供3种查询方式,查询优先级最高的是按编号查询,其次是按名称查询,最低的是按数量查询(在输入多个查询条件的情况下,只按照优先级高的条件进行查询,其中按数量查询可以查询到所有货物数量小于输入值的结果)并将查询结果在list1中显示。程序界面如图2-1所示。

    部分程序代码如下:

    Public number As String  '货物编号

    Public na As String  '货物名称

    Public co As String  '货物数量

    Private Sub Command1Click()

    Dim flag As Integer  '查询结果标志

    number = Text1.Text

    na = Text2.Text

    co = Text3.Text

    If (number = "" And na = "" And co = "") Then MsgBox ("你还没有输入查询条件") ’第一种情况

    If number <> ""Then ’第二种情况

    flag = searchnum(1, n)  'n 表示总的货物种类数量

    List1.AddItem id(flag) + n(flag) + c(flag)

      If flag = -1 Then MsgBox ("查询无结果,检查是否输入有误")

    End If

    If na <> "" Then  ‘第三种情况

    flag = searchna(1, n)  'n 表示总的货物种类数量

    List1.AddItem id(flag) + n(flag) + c(flag)

      If flag = -1 Then MsgBox ("查询无结果,检查是否输入有误")

    End If

    If co <> "" Then ‘第四种情况

    flag = searchco(1, n)

    If flag = 0 Then MsgBox ("查询无结果,检查是否输入有误")

    End If

    End Sub

    Function searchnum(i, j) As Integer  '按编号查询函数

    Dim m As Integer

    Do While i <= j

    m = Fix((i + j) / 2)

    If id(m) = number Then

    searchnum = m: Exit Function  '查询到结果返回值并结束该函数

    End If

    If id(m) > number Then         Else i = m + 1

    Loop

    searchnum = -1

    End Function

    Function searchna(i, j) As Integer  '按名称查询函数

    For i = 1 To j Step 1

    If n(i) = na Then searchna = i: Exit Function

    Next i

    searchna = -1

    End Function

    Function searchco(i, j) As Integer  '按货物数量函数

    Dim f As Integer

    f = 0

    For i = 1 To j Step 1

    If        Then

    List1.AddItem id(i) + n(i) + c(i)

    f = 1

    End If

    Next i

    searchco (f)

    End Function

    回答下列问题:

    1. (1) 程序中划线处应填入的代码是:①
    2. (2) Sub Command1 Click()事件处理过程中,使用了4个IF语句区分四种情况分别进行查询。按照题目所给的程序代码能否实现只按照优先级高的条件进行查询?(填是/否)

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