文档详情

《第六章数组》-课件设计.ppt

发布:2018-11-28约3.18千字共20页下载文档
文本预览下载声明
第六章 数组 §1 数组的概念 一、数组与数组元素 二、数组的维数 VFP允许定义一维或二维数组 数组应事先声明,才能应用 VFP的数组中的各个元素可放置不同类型的数据 举例说明 §2使用数组 一、数组的定义 1.数组的声明 ⑴私有数组的声明 私有数组:该数组只能在命令所在的过程及其所调用的过程中使用(可向下使用) 语法: {DIMENSION /DECLEAR} 数组名(行数[,列数]) ⑵全局数组的声明 全局数组: 该数组在整个VFP工作期中可以被任何程序访问(上下都可)。 语法: PUBLIC 数组名(行数[,列数]) 注意: 若在程序中不释放全局数组,则在程序运行结束后,该数组仍然保留原值 ⑶局部数组的声明 局部数组:只能在创建它们的过程或函数中使用或修改(既不能上,也不能下) 语法: LOCAL 数组名(行数[,列数]) 2. 数组的赋值 ⑴ 整体赋值 数组在声明后,每个元素被默认地赋初值.F. 整体赋值就是给已经声明的数组一次性赋同一个值。 例:DIMENSION a(6,3) a=10 ⑵ 单独赋值 单独赋值是给每一个元素赋不同的值,其数值类型可相同,也可不相同。 举例 例6-1 二、数组的使用 1. 重新定义数组的维数和大小 ① 三种声明语句都可以改变维数和大小。 ② 改变大小时,应使用原来的声明语句类型。 ③ 改变维数时,可以采用新的声明语句类型,既可以改变维数,也可以改变数组性质 ④ 增加的数组元素初始化为“假”(.F.) 演示举例 2. 数组变量的释放 语法:RELEASE{变量名列表/数组名列表} 其中:列表中的变量名或数组名用逗号分隔。 例:RELEASE a,b 释放a,b数组 例6-2婓波那契数列问题 其中说明: LIST1的NumberOfElements属性 指定数组中有多少数据项用来填充组合框或列表框控件中的列表部分(初始为0) 表单的Unload事件:释放一个对象时发生 3. 二维数组表示为一维数组 VFP的二维数组也可以当作一维数组使用,不需另外定义 例 :DIME A(2,3) 则: A(1)=A(1,1) A(2)=A(1,2) A(3)=A(1,3) A(4)=A(2,1) A(5)=A(2,2) A(6)=A(2,3) 也可以用以下函数推出二维数组元素是对应哪一个一维数组元素 序号=AELEMENT(数组名,行数,列数) *根据数组元素的下标返回其编号 三、数组数据的处理 1. 处理数组元素的函数 ⑴数组元素的排序 语法:ASORT(数组名[,排序的开始元素[,参与排序的数目或行数[,排序的顺序(0升1降)]) 描述:以升序或降序对数组排序 说明: ①开始元素省略,从第一个元素开始排 ②若是二维数组,则起始元素既决定从第几行开始排序,又决定以每行中的第几列元素作为排序依据 ③参加排序的数组元素必须具有相同的类型 ④一维数组对元素排序,二维数组对行排序 ⑤如果排序成功,则返回1;否则,返回-1. 举例 例6-4 ⑵ 数组元素的搜索 语法: ASCAN(要查找的数组名,查找用的基本表达式[,查找开始的元素号[,参加查找的元素个数]]) 描述: 在数组中查找包含与指定表达式相同类型、相同数据的元素。 说明: ①省略元素号,则查找整个数组 ②省略元素个数则直到最后 ③引用二维数组中的元素用单个元素编号。 可用函数AELEMENT根据行、列下标返回二维数组中元素相应的元素号 ④如果发现匹配,函数ASCAN( )返回元素号,如果没有发现匹配, ASCAN( )返回0. 举例 例6-5 ⑶ 数组元素的删除 语法: ADEL(需删除的数组名,指定要删除的元素的编号[,2]) 描述: 从一维数组中删除一个元素,或者从二维数组中删除一行或者一列。 说明: ①元素的编号也可以是行或列的编号,要从数组中删除某一列,必须在函数中包含可选参数2. ②删除数组的元素或某一行某一列,不改变数组的大小。后续元素依次填补,多余元素置为.F. ③删除成功后,返回1 举例 例6-4‘ 排序后将最大值和最小值删除,然后显示出来 ⑷ 数组元素的插入 语法: AINS(要插入的数组名,指定在那里插入新元素、新行或新列[,2]) 描述: 在一维数组中插入一个元素,或者在二维数组中插入一行或一列元素。 说明: ①新元素插入到指定位置之前 ② 2 表示在二维数组中插入一列 ③在数组中插入元素、行或列不改变数组的大小,数组后续的元素或者列被逐步向后移,最后的元素、行或者列被丢弃,新插入的元素、行或列初始化为(.F.) ④如果插入成功返回1。. 举例 例6-4‘’ 可在数组中连续插入多个数据
显示全部
相似文档