阅读以下应用说明、属性设置以及Visual Basic程序代码,将解答写在对应栏内。 【应用说明】 本应用运

15 查阅

阅读以下应用说明、属性设置以及Visual Basic程序代码,将解答写在对应栏内。

【应用说明】

本应用运行时,由用户输入一个正整数n后自动产生n个正整数,然后按照用户的指定要求对该组数进行处理。该应用的运行界面如下图所示:

1.窗体中有两个文本框。(txtSrc,txtObj)、两个标签(lblSrc,lblObj)、三个命令按钮(cmdGendat,cmdProc,cmdQuit)和一个弹出式菜单(procMenu,初始时不可见)。

2.文本框txtSrc(由标签lblSrc提示)用于显示产生的数据,文本框txtObj(由标签lblObj提示)用于显示处理结果,要求每行显示一个整数。

3.程序启动时,命令按钮cmdProc(运算要求)不可用。单击命令按钮cmdGendat(产生数据)后,提示用户输入一个n的值并生成n个正整数存入数组元素a(1)~a(n),然后将数据逐行显示在txtSrc中,并设置命令按钮cmdProc可用。

4.单击命令按钮cmdProc(运算要求)后弹出菜单。选择菜单项并单击后,进行相应处理并将结果显示在txtObj中,同时将lblObj的标题改为该菜单项表示的处理命令。

弹出式菜单“运算要求”的结构如下表所示:

一个整数序列的中位数是指对该序列进行非递减(增)排列后最中间位置上的元素。若序列长度为偶数,则取中间两个元素的平均值为其中位数。

【属性设置】

为实现单击命令按钮cmdProc后弹出“运算要求”菜单(procMenu),设计时需将 procMenu的(1)属性设置成false。

供(1)选择的属性:Default Enabled ScaleMode Style Visible

【Visual Basic程序代码】

Dim a() AS Integer, n As Integer

Private Sub Form_Load()

txtSrc.Text = "": txtObj.Text = "": (2) = False

End Sub

Private Sub cmdGendat_Click () "生成正整数序列并存入数组a

On Error GoTo Error handler

n = InputBox$ ("请输入数组元素个数:", "输入序列长度")

If (n < 1) Then

MsgBox "输入数据错误!", vbOKOnly, "提示:"

GoTo Error handler:

End If

ReDim a(n) As Integer

s = ""

For i = 1 To n "将生成的正整数存入a(1)~a(n)中

a(i) = Int(Rnd * 10000) : s = s & Str$(a(i)) & vbCrLf

Next

txtSrc.Text = s

(3) "设置运算要求命令按钮可用

Error handler:

End Sub

Private Sub cmdProc_Click()

PopupMenu procMenu

End Sub

Private Sub MidNum_Click() "求中位数

lblObj.Caption = MidNum.Caption & ":"

For i = 1 To round((n + 1)/2> "用选择排序法对数组a进行部分排序

a(0) = a(i):k = i "a(0)用作临时变量,暂存第i次选出的最小元素

For j = i + 1 To n

If a(j) < a(0) Then

a(0)= a(j): k =(4)

End If

Next

If k <> i Then

a(k) = a(i): a(i) = a(0)

End If

Next

If n / 2 - n \ 2 > 0 Then "n为奇数时,取中间一个数

txtObj.Text - Str$(a((5))

Else "n为偶数时,取中间两个数的平均值

txtobj.Text = Str$(Int((a(n \ 2) + a(n \ 2 + 1)) / 2))

End If

End Sub

"其他代码略

参考答案:

(1)Visible (2) cmdProc.Enabled (3) cmdProc.Enabled=True (4) j (5) (n+1)/2或n\2+1或n/2+1或其等价表示(1)Visible (2) cmdProc.Enabled (3) cmdProc.Enabled=True (4) j (5) (n+1)/2,或n\2+1,或n/2+1,或其等价表示 解析:本题考查VB应用开发中菜单应用技术与基本的程序设计技术。 菜单的基本作用有两个:一是

软考初级