Visual FoxPro中For循环的理解及应用(二)

2019-10-18 09:21尉文刚
新一代 2019年16期
关键词:案例

尉文刚

摘 要:笔者在《数据库应用基础—Visual FoxPro(第三版)》教学中发现学生在“案例5.4.1循环结构程序设计”章节知识的理解及应用环节存在很大困难,特别是在运用For语句进行程序设计时困难更大。结合学生实际学情,通过深入剖析For语句知识点,提出“Visual FoxPro中For循環的理解及应用”心得来解决教学中的困惑,并应用于教学实践,在教学中取得了良好的效果。

关键词:循环结构;For循环流程图;满足条件;案例

笔者就以教学中For循环语句的理解及应用为例,谈谈从For循环流程图中学应用的几点心得。循环结构的程序可以根据指定的条件重复执行某个程序段,Visual FoxPro提供了3中循环结构:基于条件的循环(Do-while循环)、针对记录的循环(Scan循环)、指定次数的循环(For循环)。

一、For循环流程图

(一)指定次数的循环For循环流程图如下:

(二)我们从以下四个方面理解For循环流程图:

1.处是将<初值>赋给“循环控制变量”,使其在接下来判断是否执行循环体时有确切的值,程序设计时我们要根据For语句完成的任务给“循环控制变量”确定正确的初值。有些应用中“循环控制变量”只起控制循环执行次数的作用,有些应用中“循环控制变量”不仅控制循环执行的次数,而且还参与完成?处循环所执行操作任务的实现(本文所举的案例属于这种情况)。

2.处“满足条件?”是指判断“循环控制变量”是否满足介于“初值”和“终值”之间(包括“初值”和“终值”)这一条件。如果满足,则执行?,不满足则执行“Endfor之后的语句”。

3.处指定For循环体要执行的操作,程序设计时我们要根据任务要求正确设计此处的语句序列,以完成任务。

4..④处根据可选项[step 步长]中的“步长”值修改“循环控制变量”的值:若[step 步长]缺省,则“循环控制变量”增值1,若[step 步长]出现,则“循环控制变量”按“步长”确定的值增值(“步长”为正,则增;“步长”为负,则减)。

二、For循环应用案例——编程打印九九乘法表

(一)九九乘法表结构如下:

1×1=1

2×1=2  2×2=4

......

(二)结合For流程进行案例分析

1.从案例要完成的任务分析,九九乘法表打印的45个式子有共同的结构:被乘数×乘数=积,程序实现时可以不换行输出这样的形式:被乘数(i)×乘数(j)=积(i*j),该处任务由For流程图中?处实现。

2.分析九九乘法表结构可知换行情况:被乘数每增一,则要换行(输出换行),该处任务由For流程图中?处实现。

3.分析九九乘法表中被乘数递变规律:每行被乘数相同,九行被乘数从1按自然数递增至9,该处任务由For流程图中??④出实现。

4.分析九九乘法表中乘数递变规律:每行乘数从1按自然数递增至该行被乘数,该处任务由For流程图中??④出实现。

5.综合上述分析,用嵌套For循环实现:外层For的“循环控制变量”i表示被乘数,则i由1递增至9;内层For的“循环控制变量”j表示乘数,则j由1递增至i;i*j的值表示乘积。

(三)该任务的实现程序如下:

*for语句应用-----九九乘法表

CLEAR

FOR i=1 to 9&&流程图中??④处

FOR j=1 to i&&流程图中??④处

?? ALLTRIM(STR(i)) +"×" +ALLTRIM(STR(j)) +;

"="+ ALLTRIM(STR(i*j))&&输出:被乘数*乘数=积流程图中?处

??"   "

ENDFOR

?&&被乘数每增一,换行流程图中?处

ENDFOR

Return

从上述案例我们可以看出,在For语句流程图的理解中,我们从四个方面做了彻底认识;在应用中紧扣For流程图的理解,实现任务时巧妙地与解决实际问题的方法相结合,达到准确深刻地理解知识点、巧妙高效地解决实际问题的目的。笔者在实际教学中取得不错的教学效果。

猜你喜欢
案例
案例点评
THE STARSHIP CEDIA 2020案例大赛获奖案例
LAKERIDGE CEDIA 2020案例大赛获奖案例
案例4 奔跑吧,少年!
TWO VILLAS IN ONE CEDIA 2020案例大赛获奖案例
Superheroes CEDIA案例大赛优秀案例
Smarter Homes Experience Centre CEDIA案例大赛优秀案例
随机变量分布及统计案例拔高卷
发生在你我身边的那些治超案例
随机变量分布及统计案例拔高卷