教学设计
您当前的位置: 澳门新葡京app>教学设计

13.1循环及数组

发布时间: 2019-01-27      信息来源:       阅读次数:

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分钟