⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例6.10.frm

📁 一本学习Visual Basic编程的好书
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "折半查找法"
   ClientHeight    =   2010
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   2010
   ScaleWidth      =   4680
   StartUpPosition =   3  '窗口缺省
   Begin VB.TextBox Text5 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   405
      Left            =   3360
      TabIndex        =   7
      Text            =   " "
      Top             =   1320
      Width           =   855
   End
   Begin VB.TextBox Text2 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   360
      TabIndex        =   6
      Text            =   " "
      Top             =   1320
      Width           =   735
   End
   Begin VB.TextBox Text4 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   2400
      TabIndex        =   5
      Text            =   " "
      Top             =   1320
      Width           =   615
   End
   Begin VB.TextBox Text3 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   1440
      TabIndex        =   4
      Text            =   " "
      Top             =   1320
      Width           =   615
   End
   Begin VB.CommandButton Command1 
      Caption         =   "查询"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   3240
      TabIndex        =   2
      Top             =   360
      Width           =   855
   End
   Begin VB.TextBox Text1 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   1440
      TabIndex        =   1
      Text            =   " "
      Top             =   360
      Width           =   735
   End
   Begin VB.Label Label2 
      Caption         =   "学号    数学    语文    平均分"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   600
      TabIndex        =   3
      Top             =   1080
      Width           =   3615
   End
   Begin VB.Label Label1 
      Caption         =   "学号"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   960
      TabIndex        =   0
      Top             =   480
      Width           =   495
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim h(10) As Integer, d(10, 2) As Integer
Private Sub Form_Load()
                                '学号存放在数组h()中
   h(1) = 1201: h(2) = 1202: h(3) = 1203
   h(4) = 1205: h(5) = 1206: h(6) = 1207
   h(7) = 1209: h(8) = 1210: h(9) = 1211
   h(10) = 1215
                                '成绩存放在数组d(,)中
   d(1, 1) = 92: d(1, 2) = 86
   d(2, 1) = 78: d(2, 2) = 71
   d(3, 1) = 83: d(3, 2) = 74
   d(4, 1) = 67: d(4, 2) = 75
   d(5, 1) = 71: d(5, 2) = 55
   d(6, 1) = 62: d(6, 2) = 80
   d(7, 1) = 98: d(7, 2) = 83
   d(8, 1) = 99: d(8, 2) = 80
   d(9, 1) = 57: d(9, 2) = 67
   d(10, 1) = 80: d(10, 2) = 78
End Sub
Private Sub command1_Click()
    Dim no As Integer, flag As Integer
    Dim m As Integer, top As Integer, bott As Integer
    flag = -1                    '置未找到标志
    top = 1: bott = 10           '设定范围
    no = Val(Text1.Text)         '取学号
    If no < h(top) Or no > h(bott) Then
        flag = -2                '若超出学号范围, 置特殊标志-2
    End If
                   
    Do While flag = -1 And top <= bott
        m = (top + bott) / 2     '取中点
        Select Case True
          Case no = h(m)         '找到
            flag = m             '置找到标志
            Text2.Text = h(m)
            Text3.Text = d(m, 1)
            Text4.Text = d(m, 2)
            Text5.Text = (d(m, 1) + d(m, 2)) / 2
          Case no < h(m)          '小于中间数据
            bott = m - 1          '上半部
          Case no > h(m)          '大于中间数据
            top = m + 1           '下半部
        End Select
    Loop
    If flag < 0 Then              '判是否找不到
        Text2.Text = ""
        Text3.Text = ""
        Text4.Text = ""
        Text5.Text = ""
        MsgBox "无此学生!"
    End If
    Text1.SetFocus
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -