第2章 Visual FoxPro基本操作
第6题
⑴(-b+SQRT(b^2-4*a*c))/(2*a)
(-b-SQRT(b^2-4*a*c))/(2*a)
⑵X>=10.AND.X<=20
⑶3*(X**2-Y**2)/(M+N)
⑷(3.14*R^3)/3
第7题
⑴ 年龄<=20.AND.性别="男"
⑵ YEAR(出生日期)>1980.AND.(数学=100.OR.英语=100)
第8题
⑴“大学”,C
⑵ .F.,L
⑶ .T.,L
⑷ .F.,L
⑸"234.2732",C
⑹ .F.,L
⑺ .T.,L
⑻ .T.,L
第9题
.T.、.F.、.F.、.F.、.F
第3章
数据表文件
二、操作题
1、CREATE D:\XJB
2、USE D:\XJB
COPY STRUCTURE TO D:\STUD1
USE D:\STUD1
LIST STRUCTURE
3、USE D:\XJB
COPY TO
D:\STUD2 FOR XB="男" FIELDS XM,XB,RXCJ
4、USE D:\XJB
COPY TO D:\DAB
5、USE D:\DAB
MODIFY STRUCTURE (按题的要求修改并存盘)
6、USE D:\XJB
COPY TO D:\GZB FIEL XH,RXCJ
7、USE D:\GZB
MODIFY STRUCTURE (按题的要求修改并存盘)
8、USE D:\DAB
COPY TO A:\DAB
USE D:\GZB
COPY TO A:\GZB
第4章 记录的基本操作
二、操作题
2.执行结果:
3
.T.
.F.
.T.
3.USE D:\STUD1
⑴ LIST FOR .NOT.HF.AND.XB="女"
⑵ LIST FOR XB="男".AND.RXCJ>650
⑶ LIST FOR YEAR(DATE())-YEAR(CSRQ)<=26
(2009-04-16修改)
⑷ LIST FOR
YEAR(CSRQ)>=1970.AND.YEAR(CSRQ)<1980
⑸ REPLACE FOR XB="女" RXCJ WITH RXCJ+50
⑹ LIST FOR "杨"$XM FIEL XM,XB
⑺ DELETE FOR HF
⑻ RECALL FOR XB="女"
⑼ PACK
⑽ ZAP
或 DELETE ALL
PACK
4.USE GZB
REPLACE ALL
SFGZ WITH JBGZ+JJ-KK
第5章 数据检索与统计
二、操作题
1、
⑴ INDEX ON XM TAG XM
⑵
① 打开表的“表设计器”窗口,选择“ZGH”字段,单击“索引”选项卡。
② 在“索引名”中输入“ZGH”,在“类型”下拉列表中选择“普通索引”;在“表达式”中输入“ZGHSY”。
③ 单击“确定”按钮。
⑶ INDEX ON XB+STR(ZPCJ) TAG XBCJSY
思考题:INDEX ON XB+STR(700-ZPCJ) TAG XBCJSY DESC
⑷ INDEX ON XB+STR((YEAR(DATE())-YEAR(CSRQ))) TAG XBNLSY
DESC
思考题:INDEX ON XB+STR(100-(YEAR(DATE())-YEAR(CSRQ)))TAG XBNLSY
或INDEX ON XB+DTOC(CSRQ,1) TAG XBNLSY
⑸ SET ORDER TO TAG XM
BROWSE
LIST
SET ORDER TO
TAG ZGHSY
……
SET ORDER
TO
⑹ 打开表的“表设计器”窗口,单击“索引”选项卡,选择要删除的索引“XBCJSY”,单击“删除”按钮。
⑺
① LOCATE FOR "杨"$XM(不能用SEEK查)
DISPLAY
CONTINUE
……
② LOCATE FOR YEAR(CSRQ)<1980
DISPLAY
CONTINUE
……
用SEEK查
INDEX ON YEAR(CSRQ) TAG CSRQ1
DESC
SEEK 1979
DISPLAY
SKIP
……
③ LOCATE FOR YEAR(DATE())-YEAR(CSRQ)<26
(2009-04-16修改)
DISPLAY
CONTINUE
……
用SEEK查
INDEX ON
YEAR(DATE())-YEAR(CSRQ) TAG NL DESC
SEEK 25 (2009-04-16修改)
DISPLAY
SKIP
……
④ LOCATE FOR XB="男".AND.ZPCJ>=650
DISPLAY
CONTINUE
……
用SEEK查
INDE ON XB+STR(ZPCJ,5,1) TAG
XBCJSY &&如该索引已存在,此处可用SET ORDER TO TAG
XBCJSY
SEEK "男650.0"
DISPLAY
SKIP
……
⑤ LOCA FOR ZGH="031"
DISPLAY
CONTINUE
……
用SEEK查
INDEX ON SUBSTR(ZGH,1,3) TAG
ZGH1 &&如该索引已存在,此处可用SET ORDER TO TAG
ZGH1
SEEK "031"
DISPLAY
SKIP
……
2、
⑴ COUNT FOR ZGH="032" AND FOR XB="男"
COUNT FOR
ZGH="032" AND FOR XB="女"
⑵ INDEX ON JBGZ+JJ TAG GZSY
⑶ SUM JBGZ,JJ,KK TO S1,S2,S3 FOR ZGH="031"
AVERAGE JBGZ, JJ, KK TO A1,
A2, A3 FOR ZGH="031"
第6章 编程基础
二、操作题
1、
INPUT "请输入朱熹的诗句:" TO A
ACCEPT "请输入朱熹的诗句:" TO A
?A
2、
INPUT "是否继续查询(Y/N)? " TO B
ACCEPT "是否继续查询(Y/N)? " TO B
WAIT "是否继续查询(Y/N)? " TO B
?B
第7章 程序设计
二、操作题
1、
⑴ 执行结果:
记录号 XM ZC
3 赵竟雄 工程师
记录号 XM ZC
9 高雅 工程师
⑵ 执行结果:
记录号 XM CSRQ JL
4 李杨阳 09/09/85 原籍山西
记录号 XM CSRQ JL
5 龙保国 09/09/86 原籍北京
⑶ 执行结果:
18 12
⑷ 执行结果:
XM XB ZC
赵竟雄 女 工程师
XM XB ZC
高雅 女 工程师
2、
(1)
SET TALK OFF
CLEAR
INPUT "请输入一个数:" TO X
IF X>=1
Y=(X-1)/2
ELSE
IF
X<0
Y=(1-X)/2
ENDIF
ENDIF
? "X=",X
? "Y=",Y
SET TALK
ON RETURN
⑵
SET TALK OFF
USE DAB CLEAR
STORE 0 TO NAN,NV
DO WHILE .NOT.EOF( )
IF
XB="男"
NAN=NAN+1
ELSE
NV=NV+1
ENDIF
SKIP ENDDO ? "性别是男的有"+STR(NAN,2)+ "人!"
? "性别是女的有"+STR(NV,2)+ "人!"
USE SET TALK
ON RETURN
⑶
SET TALK OFF
CLEAR
T=1
I=1
DO WHILE I<=10
T=T*I
I=I+1
ENDDO ?
"10!等于"+STR(T) SET TALK ON
RETURN
求N!
SET TALK OFF
CLEAR
? "本程序是求N!"
INPUT "请输入N值:" TO N
T=1
I=1
DO WHILE I<=N
T=T*I
I=I+1
ENDDO ?STR(N,2)+
"!="+LTRIM(STR(T)) SET TALK ON
RETURN
⑷
SET TALK
OFF USE GZB CLEAR
STORE 0 TO S
DO WHILE .NOT.EOF( )
IF
SFGZ>700
S=S+1
DISP ZGH,SFGZ
ENDIF
SKIP ENDDO ? "实发工资在700以上的有"+STR(S,2)+ "人!"
USE SET TALK
ON RETURN
(5)
SET TALK OFF
USE GZB CLEAR
STORE 0 TO S031,S032
DO WHILE .NOT.EOF( )
IF
LEFT(ZGH,3)= "031"
S031=S031+JBGZ
ELSE
S032=S032+JBGZ
ENDIF
SKIP ENDDO ? "031班组基本工资的和是"+STR(S031)+ "元!"
? "032班组基本工资的和是"+STR(S032)+ "元!"
USE SET TALK ON
RETURN
⑹
第五章习题二第1题⑺小题①
CLEAR
USE DAB
LOCA FOR "杨"$XM
DO WHILE .NOT.EOF( )
DISP
CONT
ENDDO
USE
RETU
第五章习题二第1题⑺小题②
CLEAR
USE DAB
LOCA FOR YEAR(CSRQ)<1980
DO WHILE .NOT.EOF( )
DISP
CONT
ENDDO
USE
RETU
第五章习题二第1题⑺小题②,用SEEK查
USE DAB
INDE ON YEAR(CSRQ) TAG CSRQ1 DESC
SEEK 1979
DO WHILE .NOT.EOF().AND.YEAR(CSRQ)<1980
DISP
SKIP
ENDDO
USE
RETU
第五章习题二第1题⑺小题③
CLEAR
USE DAB
LOCA FOR YEAR(DATE())-YEAR(CSRQ)<26
(2009-04-16修改)
DO WHILE .NOT.EOF( )
DISP
CONT
ENDDO
USE
RETU
第五章习题二第1题⑺小题③,用SEEK查
CLEAR
USE DAB
INDE ON YEAR(DATE())-YEAR(CSRQ) TAG NL DESC
SEEK 25 (2009-04-16修改)
DO WHILE .NOT.EOF().and.YEAR(DATE())-YEAR(CSRQ)<26
(2009-04-16修改)
DISP
SKIP
ENDDO
USE
RETU
第五章习题二第1题⑺小题④
CLEAR
USE DAB
LOCA FOR XB="男".AND.ZPCJ>=650
DO WHILE .NOT.EOF( )
DISP
CONT
ENDDO
USE
RETU
第五章习题二第1题⑺小题④,用SEEK查
CLEAR
USE DAB
INDE ON XB+STR(ZPCJ,5,1) TAG XBCJSY &&如该索引已存在,此处可用SET ORDER TO TAG
XBCJSY
SEEK "男650.0"
DO WHILE .NOT.EOF( ).AND.XB="男".AND.ZPCJ>=650
DISP
SKIP
ENDDO
USE
RETU
第五章习题二第1题⑺小题⑤
CLEAR
USE DAB
LOCA FOR ZGH="031"
DO WHILE .NOT.EOF( )
DISP
CONT
ENDDO
USE
RETU
第五章习题二第1题⑺小题⑤,用SEEK查
CLEAR
USE DAB
INDE ON SUBSTR(ZGH,1,3) TAG ZGH1 &&如该索引已存在,此处可用SET ORDER TO TAG
ZGH1
SEEK "031"
DO WHILE .NOT.EOF( ).AND.LEFT(ZGH,3)= "031"
DISP
SKIP
ENDDO
USE
RETU
⑺
按姓名查询的程序参见例7.17
按性别查询的程序参见例7.11、7.15
第9章 数据库的基本操作
一、单项选择题
1. D 2.
D 3. C 4.
B 5.
A 6. C 7.
B 8. D 9. B 10. A
二、填空题
1. DBC 备注 索引
2. OPEN
DATABASE <数据库名>
MODIFY DATABASE <数据库名>
3.
数据库表 自由表
4. 自由表
5.
该数据库表从原数据库中移出去。
6.
永久关联和临时关联
7. 数据库设计器
8.
永久关联
9. 拖动到
10. 参照完整性
第14章 报表
一、单项选择题
1.B 2.B 3.A 4.D
二、填空题
1.
数据源和布局 2.
预览和打印报表 3.
一对多 4. FRX
5.
向导 6.
标题带区 7.
带区标识栏 8. 页标头、细节、页注脚
9.
每个页面 10.
标题 11.
总结 12. REPORT FORM
第15章 菜单设计
一、单项选择题
1.B 2.A 3.D 4.C
二、填空题
1.
运行、测试 2.
MNX 3.
MPR 4. \<
5.
选项 6.
\- 7. READ
EVENT 8. DO D:\AA\ASF.MPR
9. 扩展名.MPR