VB程序的设计数组.pptVIP

  • 8
  • 0
  • 约1.36万字
  • 约 62页
  • 2018-06-09 发布于福建
  • 举报
VB程序的设计数组

Private sub form_click( ) Static s(3) as Integer End sub 与前述的静态变量类似,静态数组的特点是,在调用过程时,它的各个元素会继承上次退出该过程时对应元素的值。 数组函数和数组语句 Lbound函数:返回数组某维的维下界值。 Lbound(数组名,[维数]) 例:Lbound(A,1) Ubound函数 Ubound(数组名,[维数]) 例:Ubound(B,2) Erase语句 重新初始化固定大小数组的各元素,或者释放动态数组的存储空间。 For Each -Next语句 为数组中的每个元素重复执行一组语句。 利用Array函数可以把一个数据集赋值给一个Variant变量,再将该Variant变量创建成一个一维数组。 变体变量名=Array([数据列表]) Option Base 1 private sub form_click( ) dim a as variant , I as integer , b(4) as variant a=array(5,4,3,2,1) print a(1);a(2);a(3);a(4);a(5) a=array(1.5!,2.3!,3.6!,4.1!) ‘!为单精度类型 print a(1);a(2);a(3);a(4) a=“no array” print a B=array(1,2,3,4,5,6) ’错误语句why? end sub Option base 1 Private sub form_click() Dim compare(12) as integer,I as integer Dim mas as integer,min as integer Randomize For i=1 to 12 compare(i)=int(90*rnd)+10 print compare(i); Next I Print 建立动态数组的方法是: 1、使用Dim、Private、Public等语句声明括号内为空的数组,给数组赋予一个空维数表。 如:Dim Dyn()as Integer 2、在过程中 用Redim语句指明该数组的大小。 格式:Redim [preserve ] 数组名 ( 下标1 [,下标2 …]) 功能:声明动态数组的大小。 如: redim preserve dyn(2,1) as integer Dim a( ) as Integer Do m = InputBox(成绩为: + Str(i)) If m -99 Then i = i + 1 ReDim Preserve a(i) a(I)=m else Exit Do End If Loop 基本概念:由一组具有名称和相同类型的控件组成,数组中的每一控件共享同样的事件过程。当建立控件数组时,系统给每个元素赋一个唯一的索引号(Index),通过属性窗口的Index属性,可以知道该控件的下标是多少,第1个下标是0。 例如:一个控件数组有三个option按钮,不论单击哪一个,都会调用同一个Click事件过程。 建立的方法:1、创建同名控件。2、复制现存控件。 控件数组示例 实验指导书P159 排序算法 选择法 直接排序法 冒泡法 查找算法 顺序查找 折半查找 素数的求法 定义法 筛选法 例5-12 有15名学生按照已有的编号顺序围成一圈,1~3报数,凡报到3者出圈,并给他一个新的编号。最先出圈者新的编号为1,第二个出圈者新的编号为2,依次类推,直到所有的学生都重新编号。 例: Redim语句的使用。 输入若干学生的成绩并把大于60分的输到一维数组。 1、如何实现学生数的动态变化?可考虑用动态数组,其元素数表示学生数。 2、怎样结束学生成绩的输入?可用一个特殊值(如:-99)表示结束输入。 3、如何实现在保留原来数据的前提下,将分数高于60的人数追加到数组里面? If m =60 then i=i+1 redim preserve a(I) End if 5.4 控件数组 例8 例7 5.5 程序示例 常用算法 一、 常用的排序算法 1:选择排序法(比较排序法) 基本过程(以降序为例):将第一个元素顺序与其后面的元素比较,比第一个大则进行交换,第一轮完毕后,最大的元素被挪到了第一个位置,第二轮从第二个元素开始重复上

文档评论(0)

1亿VIP精品文档

相关文档