当前位置:首页计算机类软件水平考试初级程序员->阅读以下应用说明、属性设置以及VisualBasic程序代码

阅读以下应用说明、属性设置以及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 从下列3道试题(试题五至试题七)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。

【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,或其等价表示

本题考查VB应用开发中菜单应用技术与基本的程序设计技术。

菜单的基本作用有两个:一是提供人机对话的界面,以便让使用者选择应用系统的各种功能;二是管理应用系统,控制各种功能模块的运行。

在实际应用中,菜单可分为两种:弹出式菜单和下拉式菜单。

Visual Basic中的菜单通过菜单编辑器,即菜单设计窗口建立,可以通过以下4种方式进入菜单编辑器。

(1)执行“工具”菜单中的“菜单编辑器”命令。

(2)使用Ctrl+E组合键。

(3)单击工具栏中的“菜单编辑器”按钮。

(4)在要建立菜单的窗体上单击鼠标右键,从弹出的快捷菜单中选择“菜单编辑器” 命令。

菜单编辑器窗口分为数据区、编辑区和菜单显示区三个部分,如下图所示。

初级程序员,章节练习,基础复习,案例分析

数据区用来输入或修改菜单项、设置属性。该区分为若干栏,包括标题、名称、索引、快捷键、帮助上下文、协调位置、复选、有效、可见和显示窗口列表。

编辑区有左、右箭头,上、下箭头,下一个,插入和删除7个按钮,用来对输入的菜单项进行简单的编辑。菜单在数据输入区输入,在菜单项显示区显示。

菜单项显示区位于菜单设计窗口的下部,输入的菜单项在这里显示出来,并通过内缩符号(…)表明菜单项的层次。条形光标所在的菜单项是“当前菜单项”。

为使菜单项在运行时起作用,还需要在该窗体的代码窗口内,为有关的菜单项对象的单击事件编写程序代码。

弹出式菜单平常在窗体中并不可见,当用鼠标右击窗体(或其中某个控件)时,就会在鼠标所指位置处弹出该菜单。弹出式菜单也称为上下文相关菜单(菜单的内容常与运行时实际的状态有关)。

弹出式菜单和下拉式菜单的不同之处是:应在各弹出式菜单项的上级设置一个顶层菜单项,而且在菜单编辑器中应取消该菜单项的“可见”属性,使其不可见,因此空(1)处应填入“Visible”。

程序启动时,要求命令按钮cmdProc(运算要求)不可用,因此应在Form_Load事件中设置cmdProc.Enabled为False,空(2)处应填入“cmdProc.Enabled"。当命令按钮cmdGendat的Click事件发生并产生数据后,应设置cmdProc可用,因此空(3)处应填入“cmdProc.Enabled=True”。

n个记录进行简单选择排序的基本方法是:通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,并与第i(1≤i≤n)个记录进行交换,当i等于n时所有记录有序排列。本题中,由于只需找出中位数,因此不需要将全部元素排序。以下代码实现部分元素的选择排序,其中a(0)和k分别用于记录本趟选择过程中最小元素其下标。

For i=1 to round((n+1)/2)

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

显然,一旦发生a(j) < a(0),则更新a(0)和k的值,因此空(4)处应填入j。

若数列a(1)~ a(n)中的元素个数n为偶数,则中间的两个元素为a(n/2)和a(n/2+1);若元素个数n为奇数,则最中间的元素为a((n+1)/2),因此空(5)处应填入(n+1)/2或n\2+1或n/2+1。

更新时间:2021-11-18 18:05

你可能感兴趣的试题

单选题

( )is that it provides guidance and direction on how quality will be managed and verified throughout the project.

  • A.Plan Quality Management
  • B.Manage Quality
  • C.Control Quality
  • D.Project Charter
查看答案
单选题

( )the process of determining,documenting,and managing stakeholder needs and requirements to meet Project objectives.

  • A.Plan Scope Management
  • B.Collection Requirements
  • C.Validate Scope
  • D.Control Scope
查看答案
单选题

The information security management system preserves the confidentiality,integrity and availability of information by applying a( ).

  • A.technology management process
  • B.resource management process
  • C.quality management process
  • D.risk management process
查看答案
单选题

( )is a decentralized database,ensure that the data will not be tampered with and forged.

  • A.Artificial intelligence
  • B.Blockchain
  • C.Sensing technology
  • D.Big datA
查看答案
单选题

( )puts computer resources on the web,and must meet the requirements of super capacity,super concurrency,super speed and super security.

  • A.Cloud computing
  • B.Big datA
  • C.Blockchain
  • D.Internet of things
查看答案
单选题

分配甲、乙、丙、丁四个人去完成五项任务。每人完成各项任务时间如表所示。由于任务多于人数,故规定其中有一个人可兼完成两项任务,其余三人每人完成一项。为了花费时间最少,( )应该完成两项任务。

高级信息系统项目管理师,历年真题,2021年下半年《信息系统项目管理师》真题

  • A.甲
  • B.乙
  • C.丙
  • D.丁
查看答案
单选题

已知某公司生产AB两种产品,其中生产1件A产品需要1个单位的甲资源,3个单位的丙资源;生产1件B产品需要2个单位的乙资源和2个单位的丙资源。已知现有甲乙丙三种资源4个单位、12个单位和18个单位。通过市场预测,可知A产品的单位市场利润为2元,B产品的单位市场利润为5元。该公司获得最大的市场利润应生产A产品(68)件,此时(69)资源仍有剩余。

  • A.甲
  • B.乙
  • C.丙
  • D.甲及丙
查看答案
单选题

已知某公司生产AB两种产品,其中生产1件A产品需要1个单位的甲资源,3个单位的丙资源;生产1件B产品需要2个单位的乙资源和2个单位的丙资源。已知现有甲乙丙三种资源4个单位、12个单位和18个单位。通过市场预测,可知A产品的单位市场利润为2元,B产品的单位市场利润为5元。该公司获得最大的市场利润应生产A产品(68)件,此时(69)资源仍有剩余。

  • A.0
  • B.2
  • C.4
  • D.6
查看答案
单选题

某项目2016年投资额12万元,2018年开始取得项目的净收益(产品一原料辅料及公用工程)6万元/年,2018-2021年每年还会产生其他成本(包括人员工资、管理成本、制造成本等)1.1万元/年;増值税0.35万元/年、营业税金及附加0.05万元/年。则该项目的静态投资回收期为(66)年,截止到2021年底该项目的投资收益率是(67)。

  • A.0.25
  • B.0.33
  • C.0.35
  • D.0.6
查看答案
单选题

安全审计的手段主要包括( )。

  • A.①②③
  • B.②③④
  • C.①②④
  • D.①③④
查看答案