VFP中的数组(一)
1、定义数组命令:declare或者dimension命令
dimension ar (10) &&定义一个一维数组ar,该数组有10个元素,数组下标从1开始。
display memory &&已定义一个变量,数组不管有多少个元素,显示内存变量时只算一个变量,但每一个数组元素都可以象一个普通内存变量一样来使用。
dimension ab[3,2] &&定义一个二维数组ab,该数组有6个元素。
display memory &&用户定义的数组但没有赋值,系统自动初始化其值为逻辑假.F
注:二维数组在内存中以行主序方式存放,即先顺序存储第1行的数据元素,再顺序存储其他行的数据元素,可以用一维数组(下标为其排列序号)的方式来访问,即:
第1个元素:ab[1,1]
第2个元素:ab[1,2]
第3个元素:ab[2,1]
第4个元素:ab[2,2]
第5个元素:ab[3,1]
第6个元素:ab[3,2]
ab[1,1]可以看作是ab[1]、ab[1,2] =ab[2] , ab[2,1]= ab[3] , ab[2,2]= ab[4] ,ab[3,1]= ab[5] ab[3,2]= ab[6]
2.数组初始化
ar[1]=1 && 给数组元素ar[1] 赋值为1
ab[1,2]=3 && 给数组元素ab[1,2] 赋值为3
注:每一个数组元素都可以象一个普通内存变量一样来进行赋值。
ar=100 && 给数组ar的所有元素赋值为100
display memory &&看到ar数组的所有元素值为100
ar[1]=“OK” &&给数组元素ar[1] 赋值为OK字符串
?A &&OK 输出数组元素ar[1]的值。
注:数组名在赋值表达式中,代表所有的数组元素;在输出语句中,数组名代表该数组的第一个元素。
3.调试程序MX.PRG,程序功能是从键盘输入10个数保存到数组N中,并输出10个数中的最大值。
Dimesion N[10]
For k=1 to 10
Input “一个数:” to N[k]
Endfor &&用循环初始化数组N
Max=N[1] &&假设数组第一个元素的值最大。
For k=2 to 10
If max<N[k] &&依次与后面的元素比较
Max=N[k] &&将遇到的较大元素值保存在max变量中
Endif
Endfor &&数组比较完毕,max变量中保存该数组的最大值
? “本数组的最大值是:”,max &&输出该数组的最大值
注:求最大值算法的思想是先假设第一个元素的值是最大的,并保存到max变量中,然后将max变量与数组后面的元素值依次比较,若遇到的更大的元素值,则将其保存在max变量中,直到所有元素都比较完毕,max变量中保存的就是数组中的最大值。