
天律职工工业技术学院 视投 型据管理系统 2设某N型字段定度为6,小颈位致为2,则该学段签数分的最大取值 n)goo C)9999 D)99999 不的注文 A)日期型 6 任标准ASC码文本 还有( C)字特型、明型、和型 D)控型、实型和短细型 C)0 anda-10Dyr姓名:“+姓名 C)不超过254个字符D) 任意个字符 9不 染名来文行在D索列文件名花D)SET INDEX TO-
天津职工工业技术学院 2000-2001 学年第一学期 99 级高职 数据库原理与应用期末考试试卷 一、选择(20%): 1.FOXBASE 是()型数据库管理系统。 A)层次 B)关系 C)网状 D)语义 2.设某 N 型字段宽度为 6,小数位数为 2,则该字段整数部分的最大取值 为( )。 A)99 B)999 C)9999 D)99999 3.一个数据库文件的全部 M 型字段的内容存储在()中。 A)同一个文本文件 B)同一个备注文件 C)不同的备注文件 D)同一个数据库文件 4.执行 STORE CTOD(‘01/19/97’)TO X 命令后,变量 X 的类型为()。 A)日期型 B)字符型 C)备注型 D) 数值型 5.在交互方式下,可对 L 型变量输入数据的命令是()。 A)ACCEPT B)INPUT C)WAIT D)APPEND 6.MODI COMM 命令只能用来编辑()文件。 A)命令 B)索引 C)数据库 D)任何标准 ASCII 码文本 7.FOXBASE 中的内存变量类型除数值型外,还有()。 A)日期型、逻辑型和明细型 B)日期型、字符型和逻辑型 C)字符型、明细型、逻辑型 D)整型、实型和逻辑型 8.下列表达式中错误的是()。 A)a>=b B) “定价:”+定价 C)a>0.and.a B) USE INDEX TO C)USE INDEX D)SET INDEX TO 12.LOCATE 命令执行结束时,EOF()的值()。 A).T. B).F. C)保持不变 D)视查找情况而定 13.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 三者之间的关 1

系 A)DBS包折DR,DBMS B)DB包括DBS.DBMS A)FIND B DISP C LOCATE D)COUNT E)SEEK F) a20.0c-0.则下列两个表达式的值依次 NOT.a+b-c 。己知A-foxbase".B=aase”,下列表达式的位依次 AT (TILEMYFILELENGTHIS IS MY BOOK LTRIM(AHB+STR(2.2842) 少可以有 “男 ,工资-500,写出下列表达式的值 性新-“男”AND.OT工<60 填程(20%)
系是()。 A)DBS 包括 DB、DBMS B)DB 包括 DBS、DBMS C)DBMS 包括 DB、DBS D)DB 就是 DBS,也就是 DBMS 14.FOXBASE 逻辑型字段的宽度是() A)4 B)3 C)2 D)1 15.索引关键字表达式的类型只能是()、()、()。 A)日期型 B)逻辑型 C)整数型 D)字符型 E)数值型 16.必须对数据库索引或排序后才能使用的命令有()、()、()。 A)FIND B)DISP C)LOCATE D)COUNT E)SEEK F) SORT G)TOTAL 二、填空题(10%): 1.设 X=100,Y=”科技兴国”,则表达式 INT(X/3)的值是 ; 表达式”国”$Y.OR.”科技”$Y 的值是 。 2 . 令 a=20,b=60,c=80, 则下列两个表达式的值依次 是 、 。 .NOT.a+bb.AND.c>a.OR.c>b 3.?AT(”大学”,”南开大学”)命令的执行结果是 。 4 .已知 A=”foxbase”,B=”database”, 下列表达式的值依次 是 、 、 。 AT(”FILE”,”MYFILE”)*LEN(“THIS IS MY BOOK”) SUBSTR(A,4,3) LTRIM(A)-B+STR(2.28,4,2) 5.设 C=CTOD(”05/01/97”),D=CTOD(“06/01/97”),表达式 D-C 和 C+30 的 值依次是 、 。 6.若 C=CTOD(“06/01/97”),D=CTOD(“07/01/97”),则 C+15 的值 为 ,D-C 的值为 。 7.A=“1234.5”,执行?TYPE(“VAL(A)”)后显示 。 8.用 JOIN 命令连接两个库文件 AA 和 BB,生成库文件 CC,已知 AA 中 有 80 条记录,BB 中有 50 条记录,则 CC 中最多可以有 条记录, 最少可以有 条记录。 9.?TYPE(“DATE()”)输出结果 10.设年龄=26,性别=“男”,工资=500,写出下列表达式的值: 年龄>=25.AND.性别=“女” 性别=“男”.AND..NOT.工资600.OR.年龄>20).AND.性别=”男” 年龄450.AND.性别=”男” 三、填程(20%): 2

1,以下程序的功能是求1100之间的奇数之和。 Set talk off Store 0 to n.s Do while.t. N=叶I Do case Case n=100 Case int(n/2)-n/2 Otherwise Endcase Enddo 7"S-”s set talk on 2,以下程序的功能是逐条显示职工库文件zhigong dbf中男职L记录。 Set talk off Use zhigong Do while.not.cof) f性别=“女” Loop Endif Disp at“按任意键则继续” Enddo Set talk on 3.某商场销售PC机,每台零售价P=6000元:批发价按购买台数实 行优来:10台以上(含10台)20台以下九折优恋:20台以上(含2 0台)100台以下八折优惠:100台以上(含100台)七折优惠.编 写程序,由键盘输入购买台数,计算并输出应付货款s。 set talk off p-6000 input请输入期买台数'ton do case 3
1.以下程序的功能是求 1~100 之间的奇数之和。 Set talk off Store 0 to n,s Do while .t. N=n+1 Do case Case n=100 Case int(n/2)=n/2 Otherwise Endcase Enddo ?”S=”,s set talk on 2.以下程序的功能是逐条显示职工库文件 zhigong.dbf 中男职工记录。 Set talk off Use zhigong Do while .not. eof() If 性别=“女” Loop Endif Disp Wait “按任意键则继续” Enddo Set talk on 3.某商场销售PC机,每台零售价P=6000元;批发价按购买台数实 行优惠;10台以上(含10台)20台以下九折优惠;20台以上(含2 0台)100台以下八折优惠;100台以上(含100台)七折优惠。编 写程序,由键盘输入购买台数 n,计算并输出应付货款 s。 set talk off p=6000 input "请输入购买台数" to n do case 3

case nc10 s-p'n case sp*n*0.9 case nk).调用子程序求sk+k+1)+k+2+…+ml。 set talk off input"请输入k:·tok iput'请输入m:“om store O to s,si i-k do while do sub with si.i 5s+51 =+1 enddo 2S="s set talk on *sub.prg parameters p.n P- j-1 do while p-p"j +1 enddo retum 5.订书单库文件DSD.DBF含书名、册数、单价、金额等字段,调价单 库文件TJD.DBF含书名、单价等字段,用以下命令把DSD.DBF中所有书 名为《计算机一级教程》的单价或为TJD DBF中调价后的单价,并修改调 价后的金额
case nk), 调用子程序求 s=k!+(k+1)!+(k+2)!+…+m!。 set talk off input"请输入 k:" to k input"请输入 m:" to m store 0 to s,si i=k do while do sub with si,i s=s+si i=I+1 enddo ?"S=",s set talk on *sub.prg parameters p,n p= j=1 do while p=p*j j=j+1 enddo return 5.订书单库文件 DSD.DBF 含书名、册数、 单价、 金额等字段, 调价单 库文件 TJD.DBF 含书名、单价等字段,用以下命令把 DSD.DBF 中所有书 名为《计算机一级教程》的单价改为 TJD.DBF 中调价后的单价,并修改调 价后的金额。 4

sele 1 use dsd sele 2 use tid locate for sele 1 repl all 6,将GZ.DBF库中所有记录的位字段内容给数组FZH然后存入 FZW.MEM文件中。 set talk off use GZ COUNT all to n FZH(n) go top 产1 do while FZH(i)=FZ i=+1 enddo e set talk on 7,显示8个记录暂停,然后显示年里最后5条记录, set talk off accept"请输入库名:·toku use &ku list next 8 go bottom list next 5 use sc时alk on 四、写出下列程序的运行结果(10%): 1.set talk off n-1 -4
sele 1 use dsd sele 2 use tjd locate for sele 1 repl all 6.将 GZ.DBF 库中所有记录的 fz 字段内容赋给数组 FZH,然后存入 FZWJ.MEM 文件中。 set talk off use GZ COUNT all to n FZH(n) go top i=1 do while FZH(i)=FZ i=i+1 enddo use set talk on 7.显示8个记录暂停,然后显示库里最后5条记录。 set talk off accept "请输入库名:" to ku use &ku list next 8 go bottom list next 5 use set talk on 四、写出下列程序的运行结果(10%): 1. set talk off n=1 a=4 5

+1,10sya83s,82 -5*n to b 2. ,行果。 "Ef fac=fac*m 云行结里】 放多个商店的商品。 个商贴可以有多种商品,每种商品可属于不同商
b=2 do while n>0 a=a*b b=b+a @row()+1,10 say str(a,8,3)+str(b,8,2) if a>50 a=a-5*n n=n-1 else store b-5*n to b endif enddo set talk on return 运行结果: 2.*主程序 main.prg set talk off f=0 do jch with 5,f ?"f=",f set talk on *子程序 jch.prg parameters n,fac m=1 fac=1 do while m<n fac=fac*m m=m+1 enddo return 运行结果: 五、设有如下的库存环境:在一个仓库里,可以存放多种商品,一种商品可 存放在多个仓库中;一个商店只能在一个仓库存放商品,一个仓库可存 放多个商店的商品;一个商店可以有多种商品,每种商品可属于不同商 店。试用 E—R 图画出概念模型。(6%) 六、设有学生选课数据库:S(S#,SNAME,AGE);SC(S#,C#,GRADE);C (C#,CNAME,TEACHER),试用关系运算查询下列问题:(8%) (1)学生”李凝“的年龄 6

《6)求男学生的每一年粉组(超过50人有多少人?结果按人数升序推列 县的学4 房 实发 E 0
(2)所有成绩都在 90 分以上的学生 (3)语文成绩比英语成绩好的学生 (4)没有选修“操作系统”课的学生姓名 七、设有学生选修课程数据库:S(S#,SNAME,AGE,SEX);SC(S#,C#, GRADE);C(C#,CNAME,TEACHER)(16%) (1)检索姓名以字符 D 打头的学生姓名 (2)检索选修课程名“MATHS”的学生学号与姓名 (3)检索选修课程号为 C2 和 C4 的学生学号 (4)至少选修两门以上课程的学生姓名与年龄 (5)求男生人数 (6)求男学生的每一年龄组(超过 50 人)有多少人?结果按人数升序排列, 人数相同按年龄升序排列 (7)没有选修李老师所讲课程的学生 (8)“操作系统”课得分最高的学生姓名 八、设已打开的数据库文件 ZG.DBF 有如下记录:(10%) Record# 部门号 姓名 性别 出生日期 婚否 工资 房租 实发 1 01 赵刚 男 10/20/72 .F. 350 30 2 01 于凤茹 女 03/08/34 .T. 800 76 3 02 赵新 女 02/22/66 .T. 600 50 4 03 林少凡 男 12/30/74 .F. 280 30 5 01 崔健 女 08/22/54 .T. 700 60 6 02 王晓明 男 02/18/45 .T. 880 80 (1)只显示每一职工年龄的命令(不要记录号): (2)显示女职工中工资低于 600 元人员名单的命令: (3)显示未婚男职工的姓名、年龄: (4)统计部门号为 01 的职工人数并存入变量 n1 的命令: (5)计算记录 3、4、5 的职工工资总额的命令: (6)查找工资高于500元的第一条记录的命令: (7)对所有职工每人增加50元工资的命令和计算并替换“实发”字段的命 令: (8)汇总各部门的工资总额和实发总额并存入库文件 TJ 的命令: (9)物理删除1936年以前出生的职工记录的命令: (10)先按性别,再按工资降序建立索引文件 IGZ 的命令: 7