VFP程序设计基础实验指导 下载本文

? \,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表文件中