? \,Y
注:请打开调试器,来跟踪该程序的执行情况。
7.参照上一题的程序,编写程序求S=1!+2!+3!+4!+5!的值。
S=0 Y=1
FOR X=1 TO 5
Y=Y*X &&循环执行过程中,Y中存放的分别是1、2、3、4、5的阶乘值 S=S+Y &&累加Y中存放的分别是1、2、3、4、5的阶乘值 ENDFOR ? \,S
8.用调试器跟踪下面程序的执行情况,并写出运行结果。 Store 0 to x, y, s1, s2, s3 Do while x<10
x=x+1 Do case
Case int(x/2)=x/2 &&判断X是偶数
S1=s1+x/2 &&S1中累加的是2、4、6、8、10几个数和的一半 Case mod(x,3)=0 &&判断X是3的倍数
S2=s2+x/3 &&S2中累加的是3、9两个数和的三分之一 Case x%2!=0 &&判断X不是偶数
s3=s3+1 &&S3存放的是非偶数的个数(1、5、7)
Endcase Enddo ? s1,s2,s3
运行结果: 15.0000 4.0000 3
9.找出100—900之间的“水仙花数”(指一个三位数,其各位数字的立方和等于该数本身,如:153=1+5+3),下面是部分代码,调试该程序。 *****SXH.PRG求水仙花数**** CLEAR
3
3
3
FOR K=100 TO 999
A=INT(K/100) &&取百位数字 B=INT((K-100*A)/10) &&取十位数字
C=MOD(K,10) &&取个位数字,看看取十位是否还有别的方法? IF k=A**3+B**3+c**3 ? K ENDIF ENDFOR
运行结果:153,370,371,407
10.用scan-endscan循环结构来显示zgda表中所有女讲师的记录信息。 USE ZGDA
SCAN for 性别=“女” and 职称=“讲师” DISPLAY ENDSCAN
11、用3种循环显示ZGDA.DBF的所有记录,请对比3种循环。 (1)用SCAN循环显示ZGDA.DBF的所有记录: USE ZGDA SCAN DISPLAY ENDSCAN
(2)用DO循环显示ZGDA.DBF的所有记录: USE ZGDA
DO WHILE NOT EOF()
DISP skip ENDDO
(3)用FOR循环显示ZGDA.DBF的所有记录: USE ZGDA K=RECCOUNT()
FOR J=1 TO K
DISP skip ENDFOR
【实训6】数据表的操作
实训目的:
(1)熟练掌握数据表文件的建立、复制、删除和表记录的插入、删除等命令操作。 (2)会用命令方式来给表建立索引。 实训内容: 1.建立zgda表文件
(1)在D盘新建一个文件夹vfpok。
(2) 设置d:\\vfpok为工作目录,在命令窗口中输入命令:set defa to d:\\vfpok &&可根据需要设置。
(1)在命令窗口中输入命令:create zgda,打开表设计器。
(2)接下来的操作与项目管理器中的建表操作相同。建立表文件的过程分2步:即先建立表结构(规定表的列数及类型等);输入记录(决定表有多少行的数据) 2.表文件的复制
use zgda &&打开表zgda
list && list显示全部记录后,指针指向文件尾 ? eof() && .t.
copy to danew.dbf for 性别='男' &&复制打开的表文件zgda 中男生记录到danew.dbf use danew &&打开danew,此时自动关闭前一个表zgda disp all
&&显示全部记录后,指针指向文件尾
3.表结构的复制与修改 use zgda
display structure &&显示表的结构信息
copy stru to dast.dbf fiel 姓名,性别,年龄,职称 &&复制zgda表文件结构到dast.dbf use dast &&打开danew,此时自动关闭前一个表zgda list structure &&显示表的结构信息 modi stru &&修改结构danew表的结构 4.文件的复制
close all &&关闭所有文件
copy file zgda.dbf to zgdabak.dbf &&复制zgda表文件到zgdabak表文件中