ENDCASE ?Y
SET TALK ON
运行结果: 【程序 2】
SET TALK OFF
S=0 P=5
DO WHILE P<=10 P=P+1 S=S+P*2 ENDDO ? S
RETURN
运行结果: 【程序 3】
SET TALK OFF
STORE 1 TO X,Y DO WHILE .T. X=X+1 Y=Y+X IF X>=5
EXIT ENDIF ENDDO ?X,Y RETURN
则程序运行后 x 为 【程序 4】
SET TALK OFF
CLEAR
DIMENSION B(5) B=5 I=1 S=0
DO WHILE I<5 S=S+B(I) I=I+2 ENDDO ? \RETURN
,y 为 。
运行结果: 【程序 5】
SET TALK OFF
CLEAR
第二部分 《Visual FoxPro 程序设计(第二版)》复习提要与学习指导、习题及参考解答 123
124 Visual FoxPro 程序设计实训与考试指导(第二版)
STORE 0 TO X,Y,S1,S2,S3 DO WHILE X<10 X=X+1 DO CASE
CASE INT(X/2)=X/2
S1=S1+X/2 CASE X % 3 = 0
S2=S2+X/3
CASE INT(X/2)<>X/2
S3=S3+1 ENDCASE ENDDO ? S1,S2,S3
SET TALK ON RETURN
运行结果: 【程序 6】
*运行以下程序,输入 10,5 两个数:
SET TALK OFF CLEAR
INPUT \请输入第一个数:\INPUT \第二个数:\ FOR I=1 TO a*b
IF MOD(I,a)=0 AND MOD(I,b)=0 ?I EXIT ENDIF ENDFOR RETURN
该程序的作用(功能): 【程序 7】
sta=\
stb=\stz=\
FOR I=1 TO LEN(stb)
IF SUBSTR(stb,I,1)<>sta stz=stz+ SUBSTR(stb,I,1) ENDIF ENDFOR ?stz
该程序的作用(功能): 【程序 8】
**主程序 PROG.PRG**
CLEAR
SET TALK OFF
X=\同学们\Y=\你们好!\? \主程序中 X=\ ? \主程序中 Y=\DO SUBPRO ? \返回主程序后 X=\ ? \返回主程序后 Y=\ ? \返回主程序后 Z=\Z=300
? \子程序中 X=\ ? \子程序中 Y=\ ? \子程序中 Z=\RETURN **过程 SUBPRO** PROCEDURE subpro PRIVATE X PUBLIC Z X=100 Y=2 Z=5 ENDPROC
运行结果: 【程序 9】
*MAIN.PRG
SET TALK OFF A=3 B=5
DO PP WITH 2*A,B SET TALK ON RETURN
PROCEDURE pp
PARAMETERS X,Y CLEAR S=X*Y
? \ENDPROC
运行结果: 【程序 10】
*MAIN PROGRAM
SET TALK OFF STORE 3 TO L,H AREA=0
DO SUB WITH L,H,AREA ? L,H,AREA
DO SUB WITH L,H,AREA
第二部分 《Visual FoxPro 程序设计(第二版)》复习提要与学习指导、习题及参考解答 125
126 Visual FoxPro 程序设计实训与考试指导(第二版)
? L,H,AREA RETURN
PROCEDURE SUB
PARAMETERS A,B,C C=A*B A=A*2 B=B*2 ENDPROC
运行结果:
三、在横线处填上适当的内容,使程序完整
1.下面程序是求 1~500 内被 3 整除的数的个数以及最后一个不能被 3 整除的数。
SET TALK OFF
N=0 I=1
DO WHILE I<500
IF N=N+1 ELSE ENDIF I=I+1 ENDDO ? N,P
SET TALK ON
2.以下程序的功能是判断自然数 n 是否为素数的程序。
set talk off
cleaR
input \for I=2 to n-1
if i%n=0 endif next if ?n, \是素数\ else
?n, \不是素数\ endif
set talk on return
3.在表 SSS.DBF 中查询某专业的学生, SSS.DBF 中有“专业”字段名。
SET TALK OFF
USE SSS