时间:2022-10-22 08:53:42
文章编号:1672-5913(2008)16-0123-02
摘要:本文介绍了笔者针对非计算机专业“Visual FoxPro程序设计”课程教学的探索。
关键词:Visual Foxfro程序设计;教学方法;循序渐进
中图分类号:G642
文献标识码:B
在Visual FoxPro程序设计的教学过程中,学生对输入、输出以及分支结构和循环结构都难以理解,教材中的一些例题也有一定的难度。因此,笔者选取一些较为容易又能说明问题的例题,循序渐进,将问题逐渐引向深入,收到了较好的效果。
1关于输入的教学
在程序输入中,其方法是灵活多样的,有:
赋值输入:<内存变量>=<表达式>或STORE <表达式> TO <内存变量名表>
交互式输入:
(1)ACCEPT [<提示信息>] TO <内存变量>
(2)INPUT [<提示信息>] TO <内存变量>
(3)WAIT [<提示信息>] [TO <内存变量>]
格式输入:
@<行,列> [SAY <提示信息>] GET <变量>
READ
学生在初次学习过程中,对此的理解是很困难的。笔者在教学中采取了利用一个简单的小程序循序渐进的教学,取得了良好的效果。
例1输入简单字符并显示。
SET TALK OFF
X=“*****”
?X
RETURN
如要另外输出5个“#”号,则要修改程序,将赋值语句改为X=“#####”,这样将比较麻烦。改为:
SET TALK OFF
ACCEPT “输入字符:” TO X
?X
RETURN
反复执行程序,可输入任何字符,并显示。学生通过此例明白了交互式输入的特点。也可用格式输入:
SET TALK OFF
X=“”
@5,10 SAY “输入字符:” GET X
READ
?X
RETURN
用格式输入,必须赋初值,以决定变量的类型和宽度,经执行后,学生对此体会较深。
例2计算圆面积。
SET TALK OFF
R=10
S=3.1416*R^2
?S
RETURN
此输入只能计算一个固定半径的圆面积。如要计算任意半径的圆面积,则改为:
SET TALK OFF
INPUT “输入半径:”TO R
S=3.1416*R^2
?S
RETURN
这里注意讲清ACCEPT与INPUT的区别,并指出这里也可用格式输入。
经过这两个例题的讲解,学生对输入的掌握就比较好了。
2关于输出的教学
在程序输出中,其方法也是灵活多样的,有:
非格式输出: ?<表达式>或 ??<表达式>
格式输出:@<行,列> SAY <表达式> [FUNCTION <功能符>] [PITURE <格式符>]
对例2可以利用非格式输出使输出结果更加美观易读:
SET TALK OFF
INPUT “输入半径:”TO R
S=3.1416*R^2
?“圆的面积为:”,S
RETURN
也可使上例输出更加紧凑,改为:
SET TALK OFF
INPUT “输入半径:”TO R
S=3.1416*R^2
? “圆的面积为:”+STAR(S,15,4)
RETURN
用格式输出,即可在指定的位置输出:
SET TALK OFF
INPUT “输入半径:”TO R
S=3.1416*R^2
@10,10 SAY “圆的面积为:”+STAR(S,15,4)+“平方米”
RETURN
至于功能符和格式符的应用,在以后的例题中结合讲,可得到更好的效果。
通过这样的对比使用输出,且使用一个简单的例题,突出了重点,使学生理解容易,加深了记忆。
3分支结构程序的教学
分支结构对初学者也是一个难点,特别是有嵌套结构时,学生更难掌握。利用一个简单的例子,可将分支嵌套和多分支结构结合讲,收到良好的效果。
例3利用分支结构计算分段函数的值
利用分支嵌套编写如下程序:
SET TALK OFF
INPUT “X=” TO X
IF X<0
Y=X^2+1
ELSE
IF X=0
Y=1
ELSE
Y=X^2-1
ENDIF
ENDIF
?”Y=”,Y
RETURN
此程序是分支嵌套中较简单的一个,但对初学者来说,理解也存在一定的难度。这里关键是要理解这是一个三分支,即三种选择,如用双分支结构来处理,就必须要嵌套,才能解决三个选择的问题。
结合多分支结构处理这个问题,容易理解,讲解了多分支选择结构。程序改为:
SET TALK OFF
INPUT “X=” TO X
DO CASE
CASE X<0
Y=X^2+1
CASE X=0
Y=1
CASE X>0
Y=X^2-1
ENDCASE
?”Y=”,Y
RETURN
或者改为:
SET TALK OFF
INPUT “X=” TO X
DO CASE
CASE X<0
Y=X^2+1
CASE X=0
Y=1
OTHERWISE
Y=X^2-1
ENDCASE
?”Y=”,Y
RETURN
这样对比讲解,学生比较容易理解。特别是在多分支中用OTHERWISE代替原来的CASE X>0,对嵌套中的为什么没有X>0的条件的理解有一定的帮助。
4循环结构的讲解
在循环结构中,学生不易理解的有:
循环变量,它的定义及变化;
在循环中其它变量的变化;
循环的次数及循环终结;
双重循环的循环过程的理解。
在循环中,常用的循环结构有:
DO WHILE <条件>
语句块
ENDDO
和
FOR X=A TO B STEP C
语句块
ENDFOR|NEXT
不管在那一种循环中,都牵涉到循环变量和其他变量的变化。有时,循环变量也是其他变量,交叉在一起。在循环的过程中,都会按照程序的要求而变化。在教学中,以最简单的例题入手,逐步解决这些问题。
例4求10个1相加
SET TALK OFF
S=0
X=1
DO WHILE X<=10
S=S+1
X=X+1
ENDDO
?S
RETURN
在这个例题中,引入了循环变量X和求和变量S,它们的变化很简单,学生容易抓住主要矛盾。循环变量X的变化控制着循环的次数,当X变为11时,循环结束。在这里,也很容易看出,循环的次数是10次。
接着,将问题引向深入,在此基础上,求整数1加到10。最好让学生思考,就会使学生加深理解循环变量X和求和变量S该如何变化。由此举一反三,从1到任意整数N的相加学生都会编写程序了。
对于循环的嵌套,程序的编写就更难了。在教学中,对于双重循环,采用一个简单的例题,着重讲解循环的过程,学生比较容易理解。
例4双重循环的过程
SET TALK OFF
FOR X=1 TO 5
?”*****”
FOR Y=1 TO 5
?”#####”
ENDFOR
ENDFOR
RETURN
程序运行之后,学生对内循环和外循环的过程都有了较深的理解。
5结束语
程序设计课程,对于非计算机专业的学生来说,主要是通过学习进一步理解计算机工作的原理,以及对于逻辑思维的训练,而不是培养编程能力。因此,在教学中采用类似的循序渐进的教学方法,可达到教学的目的。当然,对于计算机专业的学生,特别对于高职高专的学生,采用循序渐进和着重讲解的方式,也会收到很好的效果。
参考文献:
[1] 杨克昌,莫照. Visual FoxPro 程序设计教程[M]. 湖南科学技术出版社,2004.
[2] 谢红霞,孟学多.“Visual Basic 程序设计”课堂教学模式改革[J]. 计算机教育,2007,(18):104-106.