Mymax=a(i)
endif
next
?
"这些数据中的最大者为:
",Mymax
?
"这些数据中的最小者为:
",Mymin
七、综合编程(按题目的要求编写VFP程序。
每小题7分,共14分。
)
1.DOWHILE/ENDDO结构的循环完成下面式子的计算,并输出结果。
1+3+5+…+997+999
CLEAR
STORE1TOK
S=0
DOWHILEK<=999
S=S+K
K=k+2
ENDDO
?
“S=”,S
2.编写程序:
打印下图所示图形,注意两个“*”之间无空格。
************
**********
********
******
****
CLEAR
settalkoff
clear
fori=1to5
forj=1to2*(7-i)
@i,20+i+jsay"*"
endfor
endfor
settalkon
RETURN
八、论述题(6分。
)
试用面向对象的思想,对我校大学生进行分类。
江西财经大学
06-07第一学期期末考试试卷
试卷代码:
33014B授课课时:
3+2
课程名称:
数据库应用适用对象:
本科选课班
一、单项选择题(下列各题从四个备选答案中选出一个正确答案的代号,写在答题纸相应位置处。
答案错选或未选者,该题不得分。
每小题1分,共18分)
1.VisualFoxpro数据库管理系统的数据模型是( B)
A结构型 B关系型 C网状型 D层次型
2.在关系运算中,查找满足一定条件的元组的运算称之为( B)。
A投影 B选择 C关联 D复制
3.VisualFoxpro中表文件的扩展名为( A)
A.dbf B.dbc C.dct D.cdx
4.以下命令中,可以显示“大学”的是( A)
A?
substr(“清华大学信息院”,5,4)
B?
substr(“清华大学信息院”,5,2)
C?
substr(“清华大学信息院”,3,2)
D?
substr(“清华大学信息院”,3,4)
5.以下命令正确的是( A)
ASTORE10TOX,Y BSTORE10,10TOX,Y
CX=10,Y=10 DX=Y="10"
6.在VisualFoxPro中,下面4个关于日期或日期时间的表达式中,错误的是:
( C)
A{^2002.09.0111:
10:
10:
AM}-{^2001.09.0111:
10:
10AM}
B{^01/01/2002}+20
C{^2002.02.01}+{^2001.02.01}
D{^2002/02/01}-{^2001/02/01}
7.设X="11”,Y="1122",下列表达式结果为假的是( D)
ANOT(X==y)AND(X$y) BNOT(X$Y)OR(X<>Y)
CNOT(X>=Y) DNOT(X$Y)
8.下面对对象概念描述错误的是( C)
A对象间的通讯靠消息传递 B对象是属性和方法的封装体
C任何对象都必须有继承性 D操作是对象的动态属性
9.在VisualFoxPro中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为( D)
AThisForm.Refresh BThisForm.Delete
CThisForm.Hide DThisForm.Release
10.为表单MyForm添加事件或方法代码,改变该表单中的控件Cmdl的Caption属性的正确命令是( C)
AMyform.THIS.Caption="最后一个"
BTHIS.Cmdl.Caption="最后一个"
CTHISFORM.Cmdl.Caption="最后一个"
DTHISFORMSET.Cmdl.Caption="最后一个
11.在VisualFoxPro中,打开数据库的命令是( A)
AOPENDATABASE<数据库名> BUSE<数据库名>
CUSEDATABASE<数据库名> DOPEN<数据库名>
12.以下关于主索引的说法正确的是( B)
A在自由表和数据库表都可以建立主索引
B一个数据库表只能建立一个主索引
C数据库表不能建立主索引
D主索引的关键字值可以为Null
13.结构化程序设计的三种基本逻辑结构是( C)
A选择结构、循环结构和嵌套结构
B选择结构、循环结构和模块结构
C顺序结构、循环结构和选择结构
D顺序结构、循环结构和递归结构
14.执行LISTREST命令后,正确说法的是( D)
A显示当前指针所指记录 B显示从第一条记录到当前指针所指记录
CEOF()的值为F D显示从当前记录开始以下的所有记录
15.设在当前表中有数学、英语、计算机和总分字段,都是N型,要将所有学生的各门成绩汇总后存入总分字段中,应当使用命令( B)
AREPLACE总分WITH数学+英语+计算机FORALL
BREPLACEALL总分WITH数学+英语+计算机
CREPLACE总分WITH数学,英语,计算机
DREPLACE总分WITH数学+英语+计算机
16.假设数据库中“MYDB.DBF”中有两个表文件:
A1.DBF,A2.DBF,其中A1.DBF已经打开,下列操作中不能关闭A1.DBF的是( B)
AUSE BUSEA1 CUSEA2 DCLOSEDATABASE
17.当前打开的图书表中字符型字段“图书号”,要求将图书号以字母A开头的图书记录全部打上删除标记,通常可以使用命令( C)
ADELETEFOR图书号=”A” BDELETEWHILE图书号=”A”
CDELETEFOR图书号=”A*” DDELETEFOR图书号LIKE“A%”
18.为了从用户菜单返回到系统菜单应该使用命令( D)
ASETDEFAULTSYSTEM BSETMENUTODEFAULT
CSETSYSTEMTODEFAULT DSETSYSMENUTODEFAULT
二、填充题(在下列各题标示的空缺处填充合适的内容,使其意义正确。
每个标示的空缺1分,共10分。
)
1.二维表中的每一列称为一个字段,或称为关系的一个______【属性】
2.关系数据库的基本操作中,从关系中抽取满足条件的元组的操作称为选取;从关系中抽取指定列的操作称为______【投影】
3.设xyz=150,则函数mod(xyz,8)的值是______【6】
4.在VFP命令窗口顺序执行如下两条命令后,显示的结果是______【.f.】
M=”abc”
?
m=m+”def”
5.判断数值型变量y是否能被3整除的表达式为______【int(y/3)=y/3或mod(x,3)=0】
6.DISPLAY命令缺省条件和范围时,则默认的范围是【当前记录或NEXT1】
7.在VisualFoxPro中,建立索引的作用之一是提高【查询】速度。
8.在表单中确定控件是否可见的属性是______【Visible】
9.创建视图的命令为______【CreateSQLView】
10.有一学生表文件,且通过表设计器已经为该表建立了若干普通索引。
其中一个索引的索引表达式为姓名字段,索引名为XM。
现假设学生表已经打开,且处于当前工作区中,那么可以将上述索引设置为当前索引的命令(非SQL命令)是______【SETORDERTOXM】
三、SQL操作题(按VFP在命令窗口时的操作,给出下列查询问题中SQL操作的正确命令。
每小题4分,共24分。
)
附1:
SQL操作前打开的数据库
附2:
图书管理数据库各表结构如下
读者.DBF
读者编号(C,8),姓名(C,8),性别(C,2),身份证号(C,18)工作单位(C,50)
借阅.DBF
读者编号(C,8),图书编号(C,10),借阅日期(D),归还日期(D),是否归还(L)
图书.DBF
图书编号(C,10),分类号(C,3),图书名称(C,50),作者姓名(C,8),出版社名(C,20),出版号(C,17),单价(N,7,2),出版时间(D),入库时间(D)
图书分类.DBF
分类号(C,3),分类名称(C,20)
1.求每本书的借阅人次
Select图书编号,count(*)as借阅人次;
From借阅;
Groupby图书编号
2.查询所藏图书中,各个出版社的图书册数
SELECT出版社名,COUNT(*);
FROM图书管理!
图书;
GROUPBY出版社名
3.查询所有“李”姓读者的资料
sele*;
from读者;
whereleft(姓名,2)="李"(或"李"$姓名、like"李%")
4.按分类号列示所有图书信息,同种分类的图书按最新出版时间在前的顺序列示
SELECT*;
FROM图书管理!
图书;
ORDERBY分类号,出版时间DESC
5.查询“社科类”已归还的在馆图书,结果按出版时间降序排列
Sele分类名称,图书.图书编号,图书名称,出版时间;
From图书分类,图书,借阅;
Wher图书分类.分类号=图书.分类号;
and图书.图书编号=借阅.图书编号;
and是否归还=.T.;
and分类名称="社科类";
ordeby出版时间desc
6.查询江西财经大学信息管理学院读者借阅情况,要求包含读者编号,读者姓名,图书名称,借阅日期,归还日期,结果按借书日期先后排列)
SELECT读者.读者编号,读者.姓名,图书.图书名称,借阅.借阅日期,借阅.归还日期;
FROM图书管理!
读者,图书管理!
借阅,图书管理!
图书;
WHERE图书.图书编号=借阅.图书编号and读者.读者编号=借阅.读者编号;
and读者.工作单位="江西财经大学信息管理学院";
ORDERBY借阅.借阅日期
四、写出下列VFP程序的运行结果(按VivualFoxPro程序运行后所输出的格式写出结果。
每小题6分,共12分。
)
1.程序一(见*程序一)
*程序一
clear
STORE1TON,S
DOWHILEN<10
IFINT(N/2)=N/2
S=S+N
ENDIF
N=N+1
ENDDO
?
"S="+STR(S,3),"N="+STR(N,2)
return
*程序二
clear
x=3
dowhilex<=8
y=2
dowhiley<4
?
?
x*y
y=y+1
enddo
x=x+2
enddo
return
2.程序二(见右*程序二)
五、纠正VFP程序中的错误(根据程序的任务要求,更正程序的错误,不能删除程序行。
每小题4分,共8分)
1.参见SQL操作题中的图书管理的数据库结构。
设VFP当前工作目录下存在“图书管理”数据库,下列程序为了能够按“作者姓名”查看到该作者所有的图书名、出版社名、出版时间及入库时间等图书信息。
运行程序发现2处错误(数字后*所在行),现请你来纠正,程序中语句前的数字号是另外补加的,答卷时注意标示出来。
10CLEAR
11USE图书&&