VB中控制结构的应用实例

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:qq11qq11qq11qq11qq11
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:Visual Basic语言符合结构化程序设计原则,程序代码由顺序结构、选择结构和循环结构组成,这三种程序结构统称为控制结构。控制结构是编写程序代码的基础。本文论述了控制结构的几个应用实例。
  关键词:VB;控制结构;程序设计
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)20-30256-03
  
  Control Structure Application Example in VB
  QU Shen-ming, XIE Yuan
  (Computing Center of Henan University, Kaifeng 475004, China)
  Abstract: Visual Basic language conforms to the structurization programming principle, the procedure code is composed by the sequence structure, the choice structure and the recurrent structure, these three kind of program structure is called as the control structure. The control structure is the basis for writting program code. This paper discusses several examples of the control structure.
  Key words: Visual Basic; Control Structure; Program Design
  
  1 引言
  
  Visual Basic采用可视化编程技术、面向对象的事件驱动编程机制,可以快速开发数据库、多媒体和网络应用程序,是目前广泛使用的程序设计语言之一。
  Visual Basic语言符合结构化程序设计[1]原则,程序代码由顺序结构、选择结构和循环结构组成,这三种程序结构统称为控制结构。控制结构是编写程序代码的基础。顺序结构是一种最简单、最常用的程序结构,选择结构和循环结构都要用到顺序结构。顺序结构中的语句按先后顺序执行,每个语句执行一次。在实际应用中,常常需要对给定的条件进行分析、比较和判断,并根据判断结果采取不同的操作。在Visual Basic中,这样的问题通过选择结构来解决,选择结构可以控制程序的执行流程。在实际应用中,也会经常遇到一些操作并不复杂,但需要反复多次处理的问题。使用循环结构的程序,可以解决这类问题。所谓循环结构,就是当满足设定的循环条件时,重复执行一个语句序列。本文介绍几个实例[2,3],说明如何使用选择结构和循环结构解决实际问题。
  
  2 应用实例
  
  2.1 输出设计
  例1:在窗体上输出“九九乘法表”,显示结果如图1所示。
  
  程序代码如下:
  Private Sub Form_Click()
  Print Tab(40); "九九乘法表"
  Print Tab(40); "__________"
  For i = 1 To 9
  For j = 1 To i
  k = i & "×" & j & "=" & i*j
  Print Tab(j*8); k;
  Next j
  Print
  Next i
  End Sub
  代码中用到了For…Next循环嵌套,关于For…Next循环语句,几点说明如下:
  (1)循环变量是一个数值变量,初值、终值和步长是数值表达式;
  (2)Next子句中的循环变量与For子句中的循环变量必须是同一个变量;
  (3)For…Next循环用于循环次数已知的情况,循环次数=((终值-初值)/步长+1)。
  初学VB者设计程序代码时常犯如下错误:
  (1)初值和终值写成非数值表达式;
  (2)Next子句中的循环变量与For子句中的循环变量不是同一个变量。
  例2:编写程序,显示图2所示的“数字金字塔”。
  图2 数字金字塔
  程序代码如下:
  Private Sub Form_Click()
  Print
  For i = 1 To 9
  For j = 1 To 30-3*i
  Print " ";
  Next j
  For k = 1 To i
  Print k;
  Next k
  For k = i-1 To 1 Step-1
  Print k;
  Next k
  Print
  Next i
  End Sub
  2.2 数列求和
  例3:求斐波那切(Fibonacci)数列的前20个数(1、1、2、3、5、8、13…)。
  f1=1 (n=1)
  f2=1 (n=1)
  fn=fn-2+fn-1 (n≥1)
  程序代码如下:
  Private Sub Form_Click()
  Dim fl As Long, f2 As Long
  f1 = 1
  f2 = 1
  For i = 1 To 10
  Print f1, f2,
  If i Mod 2 = 0 Then Print
  f1 = f1+f2
  f2 = f2+f1
  Next i
  End Sub
  上例循环结构中使用了顺序结构和选择结构。
  2.3 数据查找
  例4:先产生一个有序数组,在数组中查找从键盘输入的数据。输入能被5整除的数,找到后输出数组下标和要查找的数;如果不能被5整除,则输出“数据未找到!”的信息。
  程序代码如下:
  Private Sub Form_Click()
  Dim S(1 To 1000) As Integer
  For i = 1 To 1000
  S(i) = i*5
  Next i
  Top = LBound(S)
  Bottom = UBound(S)
  K = InputBox("输入要查找的数据K!")
  Do Until Top > Bottom
  Middle = (Top+Bottom)\2
  If K = S(Middle) Then
  Print "第" & Middle & "个元素是:" & K
  Exit Do
  ElseIf K < S(Middle) Then
  Bottom = Middle - 1
  Else
  Top = Middle + 1
  End If
  Loop
  If Top > Bottom Then Print "数据未找到!"
  End Sub
  在实际应用中,数据查找是常见的问题。本例中将循环结构语句、多分支选择结构语句和数组联合使用解决了数据查找问题。
  2.4 求解代数方程组
  例5:百元买百鸡问题。用100元买100只鸡,公鸡每只5元,母鸡每只3元,小鸡每3只1元,求公鸡、母鸡和小鸡的个数。
  设公鸡数为x,母鸡数为y,小鸡数为z,可建立代数方程组如下:
  x+y+z=100
  5x+3y+z/3=100
  让x、y、z都从0到100变化,需要使用三重循环,循环次数101×101*101≈100万次。为了减少循环次数,假设100元全部买公鸡,只能买20只;100元钱全部买母鸡,只能买33只。让x从0~20变化,y从0~33变化,而z=100-x-y,两重循环就可以解决问题。
  程序代码如下:
  Private Sub Form_click()
  For x = 0 To 20
  For y = 0 To 33
  z = 100-x-y
  If 5*x+3*y+z/3 = 100 Then
  Print "公鸡"; x, "母鸡"; y, "小鸡"; z
  End If
  Next y
  Next x
  End Sub
  
  3 结束语
  
  文中論述了控制结构的几个应用实例,旨在起举一反三的作用,熟练掌握了VB中的控制结构,就可以编写较为复杂的程序。控制结构的应用还有待进一步探讨。
  
  参考文献:
  [1] 刘炳文,杨明福,陈定中.全国计算机等级考试二级教程——Visual Basic语言设计[M]. 修订版. 高等教育出版社,2002:155-175.
  [2] 毕广吉.Visual Basic基础与课件制作[M].电子工业出版社,2002:50-55.
  [3] 申石磊,张东生.Visual Basic程序设计[M].中国科学技术出版社,2007:82-109.
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
摘要:通过SQL语句优化后查询速度可以得到有效的提升。  关键词:SQL语句;查询速度;查询优化  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)20-30200-01  SQL Statement in Improving the Optimization of Data Query  MA Li-ming, WANG Shou-tao, XU Yan-lei  
期刊
摘要:配置是VHDL语言的一个基本设计单元,用来为设计实体指定综合或仿真时采用的结构体。论文结合教学实际讨论了VHDL语言中配置语句的常用的三种用法:默认配置、元件配置和结构配置。论文首先论述了每种配置语句的格式,然后以数字电路中的半加器和全加器的VHDL描述为例,说明每种配置语句格式的使用方法。最后对论文内容进行归纳并得出几点结论。论文对VHDL语言教学及基于VHDL层次化电路设计都具有一定的指
期刊
摘要:对继电保护装置中模数转换电路进行了探讨,提出了以AD7856芯片为功能核心,DSP芯片TMS320VC33作为控制的具体硬件实现电路和软件设计流程。试验表明该电路满足设计要求,保护电流、电压测量精度达到3%,测量电流精度达到0.2%。  关键字:继电保护;AD7865;采样频率  中图分类号:TM771 文献标识码: 文章编号:1009-3044(2008)13-20764-03
期刊
摘要:介绍数据仓库的概念,通过数据仓库、数据挖掘技术,创建数据挖掘模型,实现了图书流通分析系统,为图书馆管理者提供了决策支持。  关键词:数据仓库;流通分析;数据挖掘;图书馆  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)20-30201-03    Research and Application of Books Circulation Analysis Sy
期刊
摘要:数据仓库作为数据库技术应用到特定领域中的一门新技术,在决策系统中起着重要作用。本文阐述了数据仓库的应用背景、基本概念和特点,主要将数据仓库与传统数据库进行对比,并指出传统数据库在创建数据仓库中可充分利用。  关键词:数据仓库;传统数据库  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)20-30206-02    From Traditional Databas
期刊
摘要:Junit 和Eclipse两种软件的原代码都能从网上免费获得,因此成为许多人的喜爱。对Junit的主要对象类进行了研究,通过实例说明在Eclipse中使用Junit测试的方法。在Eclipse中使用Junit测试Java程序,能实现测试的自动化,从而降低开发费用,最终使软件质量得到提高。  关键词:Eclipse;Junit;Java;测试  中图分类号:TP311文献标识码:A文章编号:
期刊
摘要:本文主要介绍基于编译器构造技术中的由正规表达式到最小化DFA的算法设计和实现技术,以及自动机转换正规式的方法。正规式与自动机理论以不同方式表达相同语言,两者相互转换在编译器构造过程中起至关重要的作用,也被广泛应用于计算机科学的各个领域。  关键词:DFA;NFA;正规表达式;子集构造法  中图分类号:TP314文献标识码:A文章编号:1009-3044(2008)20-30221-03   
期刊
摘要:演化算法因其内在的并行行,在求解多目标优化问题时具有独特的优势。本文介绍多目标演化算法的基本原理,并详细讨论基于Pareto最优概念的多目标演化算法。  关键词:多目标优化;Pareto最优解;演化算法  中图分类号:TP301文献标识码:A文章编号:1009-3044(2008)20-30262-02    Evolutiaon Algorithm for Multi-Objective
期刊
摘要:本文研究了基于VPRS的投标风险规则获取问题,从经验数据中发现风险规律和知识,用于风险预测,可以有效消除项目投标风险系统中的分类错误,得到强规则,支持风险规避决策。  关键词:变精度粗集;投标风险规避;数据挖掘  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)20-30208-03    Research of VPRS Based on Data Mining
期刊
摘要:首先对网上开放虚拟实验室的基本概念、体系结构和管理模式进行介绍,分析了设计网上开放虚拟实验室的关键技术。最后设计和实现了网上开放虚拟实验室。  关键词:开放虚拟实验室;VNC;用户管理;LDAP  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)20-30227-02    The Research and Design of Open Virtual Labor
期刊