13.1循环及数组
目的与要求: 通过本次课的学习,掌握VFP程序基本结构和数组的使用方法。 | ||
教学内容与时间安排、教学方法: 教学安排: for循环 40分钟 数组 40分钟 教学方法: CAI、图形、表格 | ||
教学重点及如何突出重点、难点及如何突破难点: 教学重点: 循环结构、数组 教学难点: 循环结构 | ||
基本内容 |
教学 |
课堂设计和时间安排 |
二、for循环 【格式】FOR <内存变量>=<数值表达式1> TO <数值表达式2> [STEP <数值表达式3>] <语句序列> ENDFOR|NEXT 【功能】循环执行FOR和ENDFOR之间的语句。 【说明】语句格式中的<内存变量>称为循环变量,<数值表达式1>、<数值表达式2>、<数值表达式3>分别称为初值、终值、步长。 使用循环语句需注意以下几项: ⑴ 循环条件中的变量初值必须在循环体外部赋值; ⑵ 循环体中必须要有改变循环变量的语句,否则容易造成死循环; ⑶ 在预知循环次数的情况下,可以使用FOR循环,循环次数为INT(ABS(终值-初值))+1;如果不能预知循环次数,则使用DO WHILE循环。 三、扫描循环 【格式】SCAN [<范围>] [FOR <逻辑表达式1>][WHILE <逻辑表达式2>] <语句序列> ENDSCAN 【功能】扫描当前表中满足条件的记录。 【说明】SCAN循环针对当前表进行循环,<范围>子句表示记录范围,缺省值为ALL。语句执行时在<范围>中依次寻找满足 FOR 条件或WHILE条件的记录,并对找到的记录执行<语句序列>。 四、循环辅助语句 在各种循环语句的循环体中可以插入LOOP和EXIT语句,前者能使执行转向循环语句头部继续循环;后者则用来立即退出循环,转去执行ENDDO、ENDFOR或ENDSCAN后面的语句。图7-12和7-13是这两个语句转向功能的示意图。
【例】输入任意10个整数,将所有正整数显示出来 运行 * E7_14.PRG CLEAR FOR i=1 TO 10 INPUT "输入一个整数:" TO a IF a>0 ?a ELSE LOOP ENDIF ENDFOR 注意:在FOR循环语句中执行LOOP语句,将会先修改循环变量的值,然后转向循环语句头部。在SCAN循环语句中执行LOOP语句,将会先移动记录指针,然后转去判断循环条件。 -----------本节课结束----------- 五、多重循环 若一个循环语句的循环体内又包含其它循环,就构成了多重循环,也称为循环嵌套。较为复杂的问题往往要用多重循环来处理。 4. 数组 (1)数组的定义 【格式】DIMENSION/DECLARE <数组名1> (<数值表达式1>[,<数值表达式2>])[,<数组名2>(<数值表达式3>[,<数值表达式4>])…… 【功能】定义一个或多个一维或二维数组及其下标的上界。 说明:①VFP只能定义一维和二维数组,数组中的成员称数组元素或下标变量。 ②下标变量由数组名和其后用小括号括起来的下标组成,如:A(6),B(8)。 ③下标可以是常数、变量或表达式。如:A(8),A(I),A(I+3)(若下标为变量或表达式中有变量时,应事先赋值) ④下标值必须>0,即VFP规定各下标的下界为1。 ⑤数组大小由下标值的上下限决定,数值下限为1,上限在定义数组时由数值表达式给出。如果定义数组时给出两个数值表达式,则定义的数组是二维数组。 ⑥若为非整数时,系统自动取其整数。 【例】DIMENSION X(3.5)→DIMENSION X(3) ⑦组中的数组元素可以存放不同类型的数据,数据的类型由最后一次赋值决定。(即同一数组的不同元素,数据类型可以不一致) ⑧组一经定义,数组中元素的值自动取逻辑值.F. (2)数组的赋值 可以用store,=命令给整个数组,或者数组单元赋值。 |
讲述
|
For循环15分钟
扫描循环8分钟
循环辅助语句15分钟
多重循环10分钟
数组定义15分钟
数组的赋值与应用20分钟
|