网站大量收购闲置独家精品文档,联系QQ:2885784924

VB教材第3版全册配套精品完整课件.ppt

  1. 1、本文档共199页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
  当在编程时不能预料应该为数组定义多少个元素时,可以使用Visual Basic提供的动态数组。动态数组的维数和下标上下界可以在程序运行过程中改变。   定义动态数组的的语法结构与定义常规数组相似,只是括号是空的: Public|Private|Dim|Static动态数组名( )[As数据类型名]   定义语句确定了动态数组的名称、作用域和数据类型。在使用ReDim语句重新定义之前,动态数组没有元素,不能使用。   重定义是指定动态数组的维数和下标界限(不能再改变数据类型): ReDim[Preserve]动态数组名([m1 To] n1[, [m2 To] n2,…])   ReDim语句指定动态数组维数和下标界限的方法与Dim定义常规数组相同。对于同一个动态数组,重定义ReDim语句可以反复使用,即可以多次改变该动态数组的维数和下标界限。   如果不加关键字Preserve,ReDim语句会清除重定义之前动态数组所有元素中的数据,使用默认值来填充。如果希望重新定义之后,保留那些原来就有的数组元素值,则必须使用Preserve关键字。 动态数组 定义动态数组 重定义动态数组 Preserve关键字 【例7.3】矩阵的转置。   矩阵是由N行M列数值组成的特殊数据形式,本例涉及的是方阵(即N=M,N称为阶数)。矩阵的转置是指行列数据交换(即沿对角线反转,如图)。   如图所示,矩阵A可以使用二维数组表示。 打开【例7.3】 【例7.4】生成杨辉三角。   杨辉是我国南宋时期的数学家,它引用前人贾宪的研究成果提出了后人所说的“杨辉三角”。如图7.9所示,杨辉三角的两侧全部是1,中间的每个数是其左上方和右上方两个数之和。 打开【例7.4】 1.LBound函数、UBound函数   LBound(ArrayName[,Dimension])   UBound(ArrayName[,Dimension])   参数ArrayName指定数组名,参数Dimension指定第几维,函数LBound返回指定数组指定维的下标下界,函数UBound返回指定数组指定维的下标上界。 如果省略Dimension参数,则返回的是第一维的下界与上界。 2.IsArray函数   IsArray(VarName)   如果参数VarName是数组名,或是引用了数组的变体类型变量名,IsArray函数返回True;否则返回False。未重定义的动态数组返回的也是True。如果VarName是数组元素,返回False。 3.Array函数   Array(ArgList)   参数ArgList是由逗号分隔的多个值,Array函数将这些值组成一个一维变体类型的数组。数组元素的值依次为各参数值。 4.Erase语句   Erase数组名1[, 数组名2,…]   Erase语句对数组进行初始化操作。对于常规数组,Erase语句使其成为数据类型的默认值。对于动态数组,Erase语句释放动态数组的存储空间,要继续使用这个动态数组,则必须使用ReDim语句重新定义。 数组函数与语句   在编写通用过程时,允许定义数组参数,这样便可以使用一个参数传递大量的值。 (1)数组形参的定义      [ByRef]数组形参名()As数据类型名   数组形参名后必须加空括号,并且不能使用ByVal关键字修饰,因为数组参数必须按地址传递。 (2)调用时,相应的实参必须是与形参相同类型的数组名,可以带空括号。 (3)一个通用过程可以定义多个数组参数。 (4)作参数的数组可以是任意维的,由实参数组决定。   因为是按地址传递,在通用过程中修改形参数组的元素值可以改变父过程中实参数组的元素值。如果实参是动态数组,则相应的形参也可以被看作为动态数组,在子过程中可以使用ReDim语句重新定义,改变数组维数、下标上下界以及元素值,同时也改变了父过程的数组。 【例7.6】使用数组参数编写求和的函数sum。 【例7.7】顺序查找。 数组作参数 打开【例7.6】 打开【例7.7】 【例7.8】折半查找。    “折半查找法”比顺序查找效率更高一些。   折半查找的原理是:假设数组是递增的,并且被查找的数一定在数组中。如图所示,先拿被查找数(12)与数组中间的元素进行比较,如果被查找数大于元素值,则说明被查找数位于数组中的后面一半元素中。如果被查找数小于数组中间元素值,则说明被查找数位于数组中的前面一半元素中。   接下来,只考虑数组中包括被查找数的那一半元素。拿剩下这些元素的中间元素与被查找数进行比较,然后根据二者的大小,再去掉那些不可能包含被查找值的一半元素。这样,不断地减小查找范围,直到最后只剩下一个数组元素,那么这个元素就是被查找的元素。当然,也不排除某

文档评论(0)

gxf1976 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档