S5=S5+成绩
CASE 课程号=”000008”
N8=N8+1 S8=S8+成绩 ENDCASE ENDSCAN
P2=S2/N2 P5=S5/N5 P8=S8/N8
? “000002号课程选课人数”,N2, “000002号课程平均分”,P2 ? “000005号课程选课人数”,N5, “000005号课程平均分”,P5 ? “000008号课程选课人数”,N8, “000008号课程平均分”,P8 USE
SET TALK ON RETURN
8、设有一成绩表score.dbf,它由以下字段组成:姓名(C,8)、平时成绩(N,6.2)、期末成绩(N,6.2)、总成绩(N,6.2)、等级(C,6)。其中前3项已有数据,用SCAN循环编写程序计算并填写每一记录的“总成绩”和“等级”字段,他们的计算方法分别为:
1)总成绩计算方法:总成绩=平时成绩×30%+期末成绩×70% 2)等级计算方法:
总成绩≥90 “等级”为“优秀”; 75≤总成绩<90 “等级”为“良好”; 60≤总成绩<75 “等级”为“合格”; 总成绩<60 “等级”为“不合格”。
SET TALK OFF
CLEAR
USE SCORE SCAN REPLACE 总成绩 WITH 平时成绩*0.3+期末成绩*0.7 IF 总成绩>=90 REPLACE 等级 WITH “优秀” ENDIF IF 总成绩>=75 AND 总成绩<90 REPLACE 等级 WITH “良好” ENDIF IF 总成绩>=60 AND 总成绩<75 REPLACE 等级 WITH “合格” ENDIF IF 总成绩<60 REPLACE 等级 WITH “不及格” ENDIF
ENDSCAN SET TALK ON RETURN
9、从键盘输入任一小于10的自然数N,求N的阶乘。 SET TALK OFF CLEAR
S=1
INPUT “N=?” TO N FOR T=1 TO N S=S*T ENDFOR ?”S=”,S
SET TALK ON RETURN
10、编写程序,在STUDENT数据库的STUD表中查找并显示任意一个学生学号、性别、班级名、地址等基本情况。
set talk off
clear
open database student use stud
accept “请输入学生的姓名:” to xm locate for 姓名=xm
? “学生”+xm+”的基本情况如下:” ? “学号”+学号 ? “性别”+性别 ? “班级名”+班级名 ? “地址”+地址 Close database Set talk on return
11、在STUDENT数据库的STUD表中任意查找一同学,有此人就显示该生的姓名、性别、出生日期等信息,无此人就显示“查无此人”。 set talk off
clear
open database student use stud
accept “请输入待查学生姓名:” to aaa locate for 姓名=aaa if found() ? “姓名:”+姓名
? “性别:”+性别 ? “出生日期:”+dtoc(出生日期) Else ? “查无此人!” Endif
Close database Set talk on return
12、逐条显示在STUDENT数据库的STUD表中性别为“男”的所有记录。 set talk off
clear
open database student use stud
do while .not.eof() if 性别=”男” display endif skip enddo
close database set talk on
return
《Visual FoxPro》综合练习题
一、单项选择题
1、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是( A )阶段。
A)数据库系统 C)人工管理
B)文件系统 D)数据项管理
2、假定表文件ABC.DBF前6条记录均为男生记录,执行以下命令后,记录指针定位在( A ) USE ABC GO 3
LOCATE NEXT 3 FOR 性别 =\男\
A)第3号记录上 B)第4号记录上 C)第5号记录上 D)第6号记录上 3、在数据库中存储的是( C )。
A)数据 B)数据模型 C)数据以及数据之间的联系 D)信息
4、按照传统的数据模型分类,数据库可分为三种类型( C )。
A)大型、中形和小型 C)层次、网状和关系
B)西文、中文和兼容 D)数据、图形和多媒体
6、以下关于空值(NULL)的叙述正确的是( D )
A)空值等同于数值0 B)Visual FoxPro不支持NULL
C)空值等同于空字符串 D)NULL表示字段或变量还没有确定值 7、要判断数值型变量Y是否能够被2整除,错误的条件表达式为( D )。
A)MOD(Y,2)=0 B)INT(Y/2)=Y/2 C)Y%2=0 D)INT(Y/2)=MOD(Y,2)
8、在Visual FoxPro中存储图像的字段类型应该是(B )
A)字符型 B)通用型 C)备注型 D)双精度型
9、若某一个扩展名为.DBF的文件有3个备注型字段,则该文件对应的备注文件有( B )
A)3个 B)1个 C)4个 D)0个
10、使用DLSPLAY命令时,若范围短语为ALL或REST,执行命令后,记录指针指为(D )
A)首记录 B)末记录 C)首记录的前面 D)末记录的后面 11、统计女生人数并将结果存放于变量X中的命令是( B )
A)COUNT FOR .NOT. 性别=”男” TO X B)COUNT FOR ( 性别=”女”)=.T. TO X C)SUM FOR ( 性别<>”男”)=.T. TO X D)SUM FOR 性别=”女” TO X
12、在已打开的表中,要永久删除当前记录位置开始的10条记录,可用( A )
A)先执行DELETE NEXT 10命令,后用PACK命令 B)先执行DELETE RECORD 10命令,后用PACK命令 C)先执行DELETE FOR RECORD> 10命令,后用PACK命令 D)ZAP NEXT 10
13、假设一个表包含职工号(C,4)和工资(N,4)两个字段。要求按工资升序、工资相同者按职工号升序排列,建立索引文件使用的命令是( C )。
A)INDEX ON 工资/A,职工号/D TO CN B)SET INDEX ON 工资,职工号 TO CN
C)INDEX ON STR(工资,4)+职工号 TO CN D)INDEX ON 工资/A 职工号/A TO CN 14、按照数据库的数据模型分类,VFP属于( B )
A)层次型
B)关系型
C)网状型
D)混合型
15、如果想从字符串\北京市\中取出汉字\京\,应该用函数(A )。
A)SUBSTR(\北京市\,2,2) C)SUBSTR(\北京市\,3,1)
B)SUBSTR(\北京市\,2,1) D)SUBSTR(\北京市\,3,2)
16、在VFP中,INPUT、APPEND、WAIT三条命令中可以接受字符的命令是( C ).
A)只有ACCEPT C)都可以
B)只有ACCEPT和WAIT D)只有WAIT
17、用APPEND命令插入一条表记录后,被插入的记录在表中的位置是( B )。
A)表最前面
B)表最末尾
C)当前记录之前
D)当前记录之后
18、当前表中有4个数值型字段:高等数学、英语、计算机网络和总分。其中高等数学、英语、计算机网络的成绩均已录入,总分字段为空。要将所有学生的总分自动计算出来并填入总分字段中,使用命令( C )。
A)REPL 总分 WITH 高等数学+英语+计算机网络 B)REPL 总分 WITH 高等数学,英语,计算机网络 C)REPL 总分 WITH 高等数学+英语+计算机网络 ALL D)REPL 总分 WITH 高等数学+英语+计算机网络 FOR ALL 19、下列叙述正确的是( C )
A)一个数据表被更新时间,它所有的索引文件会被自动更新 B)一个数据表被更新时间,它所有的索引文件不会被自动更新 C)一个数据表被更新时间,处于被打开的索引文件会被自动更新
D)当两个数据表用set relation to 命令建立关联后,调节任何一个数据表的指针都会同步移动 20、在Visual FoxPro系统中,表中的字段是一种( C )。
A)常量
B)函数
C)变量
D)运算符
21、建立索引文件时( D )字段不能作为索引字段。
A)数值型 B)字符型 C)日期型 D)备注型 22、SQL中可使用的通配符有( D )。
A) *(星号)
B) %(百分号)
C) _(下划线)
D) B和C