题目

某图书馆整理系统会自动将借阅归还的书籍按照书籍编号从小到大进行排序,以便于图书管理员查阅各阅览室书籍的在架情况。小明模仿该系统设计了如下程序,程序运行时,会自动对在架的书籍根据编号进行升序排序,在文本框Text1中输入阅览室编号,点击“查询”按钮,程序会将该阅览室的所有书籍及其对应的位置和书名全部输出到列表框List1中,如图所示。已知该图书馆分成四个阅览室,1号阅览室放置图书大类为A-F的书籍,2号阅览室放置图书大类为G-N的书籍……以此类推,每本书的编号第一位代表该书所属的图书大类。 实现上述功能的VB程序如下,请回答下列问题: (1) 下列属于VB窗体文件的是               (单选,填字母)。 A . dj.vbp B . dj.frm C . jd.exe D . dj.Vbw (2) 请在划线处填上合适的代码。 Dim book(1 To 100) As String    '存储书籍的编号 Dim bname(1 To 100) As String    '存储书籍的书名 Dim pos(1 To 100) As String       '存储书籍所在阅览室的位置 Dim rroom(1 To 4) As String       '存储每个阅览室存放书籍的大类 Dim n As Integer'在架书籍总数 Private Sub Form_ Load () '在架书籍根据编号进行升序排序,书籍编号、书籍名称和所在阅览室的位置分别存放在数组book、bname 和pos中,在架书籍总数为n,代码略     rroom(1)="ABCDEF":rroom(2)="GHIJKN"     rroom(3)="OPQRST":rroom(4)="UVXZ"     '每个阅览室存放的书籍大类 End Sub Private Sub Command1_Click ()     Dim id As Integer,i As Integer,key1 As String,key2 As String,flag As Integer     Dim start1 As Integer,end1 As Integer     id = Val(Text1. Text)     key1= Mid(rroom(id),1,1)     key2=     start1 =check (key1,1)     end1 = check (key2,-1)     For i = start1 to         List1.AddItem "编号:"+gs(book(i))+"位置:"+gs(pos(i))+"书名:"+gs (bname(i))     Next i End Sub Function check(key As String, flag As Integer) As Integer     Dim left As Integer, right As Integer, m As Integer     left=1:right=n     Do While left <= right         m= (left + right) \ 2         If  Then             right= m - 1         Else             left=m+1         End If     Loop     check = left End Function Function gs(s As String) As String     Dim i As Integer     For i=1To15-Len(s)         s=s+""     Next i     gs=S End Function (3) 程序加框处代码有错误,请改正。 答案: B 【1】Mid(rroom(id), Len(rroom(id)), 1)【2】end1 - 1 Mid(book(m), 1, 1) > key Or Mid(book(m), 1, 1) = key And flag = 1 或 flag= -1 And Mid(book(m), 1, 1)> key or flag= 1 And Mid(book(m), 1, 1)>= key
信息技术 试题推荐
最近更新