




免费预览已结束,剩余31页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本复习资料内所有参考答案皆属于小小商店打印复印部所有,不得翻版低价出售06级别VF程序设计复习资料内容:VF程序设计课后习题答案 历年考试题(带答案) 使用说明:在资料中,所有答案均为直接在题目中给出,“&”符号后的内容为说明,“*”后的内容,为建立的文件。课后题答案主要给出考试重点内容。另外,请同学们上机实践以增强记忆。Visual FoxPro程序设计教程课后题答案说明:仅重点部分设置答案第一章 数据库系统基础知识(P17)2.什么是数据库、数据库管理系统和数据库系统?答:数据库是在数据管理系统的集中控制下,按一定的组织方式储存起来的、相互关联的数据集合.数据库(Datebase,DB)是数据库系统中按一定法则储存在外存储器中的大批数据.数据库管理系统(Datebase Management System,DBMS)是系统软件,用来对数据进行同意的的控制和管理,从而有效减少数据冗余,实现数据共享,解决数据独立性问题,并提供统一的安全性和并发控制功能.数据库系统其实就是数据库应用为基础的计算机系统,是把有关计算机硬件、软件、数据和人员组合起来的拥护提供信息服务的系统.5.实体之间的联系有哪几种,分别举例说明.答:1对1联系,例:一个人有一个身份证,一个身份证也只有一个人可以使用.1对多联系,例:一个班主任可以带很多学生,一个学生只能有一个班主任.多对多联系,例:一个人可以去任何酒吧中的任意一个,任意一个酒吧可以为任意多的人提供娱乐场地.6.数据库有哪几种常用的数据模型?Visual FoxPro属于哪一类?答:层次模型,网络模型,关系模型.Visual FoxPro属于关系模型.8.关系数据库管理系统的3种基本关系运算是什么?答:关系运算有3种方式:选择、投影、联接.第二章 操作基础(P33)3. Visual FoxPro有几种操作凡是?各有什么特点?答:菜单操作方式 特点:优点是直观易懂,击键简单(主要是鼠标单、双击),对于不熟悉Visual FoxPro命令、又没有或不想花时间去学习它的最终用户十分适合.不足是操作环节多,步骤繁琐,因此速度慢,效率低.命令操作方式 特点:输入命令完成操作比使用菜单和对话框速度更快,效率高,系统菜单不可能包含所有的功能,有些操作只能通过命令窗口输入;必须熟练掌握Visual FoxPro命令,才能谈的上开发应用程序.程序工作方式 特点:为用户提供更简洁的界面,达到操作目的.第三章 数据及其运算(P55)2.字段变量与内存变量有何区别?答:字段变量是随表存取而存取,定义在表中的变量. 内存变量是拥护在内存中定义的,用来存放程序运行中的中间结果和最终结果的变量,是进行数据的传递和运算的变量.4.求下列表达式的值.(1)LEN(DTOC(DATE()输出结果:8(2)STUFF(现代教育中心,5,0,LEFT(技术中心,4)输出结果:现代技术教育中心(3)VARTYPE(08/23/03)输出结果:N(4)SPCACE(5)-SPACE(5)输出结果:空白(5)PRO$FoxPro AND 10090输出结果:.F.5.针对学生表,写出下列条件:先制作学生表:学号姓名性别年龄是否少数民族出生日期入学成绩001王*男20否1986/09/20560002李*女19否1987/06/30590003张*男20是1986/02/03610004赵*女22是1985/12/17620(1)入学成绩大于600分的学生;LIST FOR 入学成绩600(2)年龄大于18岁但是小于25岁的学生; LIST FOR 年龄18 AND 年龄20 AND YEAR(DATE()-YEAR(出生;日期)580 AND 是否少数民族=否 AND 性别=女6.写出下列表达式.(1)求实数x的小数部分;x=3.1415926535897932384626? x-INT(x)(2)求自然数m的十位数字; m=125 n=INT(m) x=STR(&n) ? RIGHT(&x,2)(3)将实数x保留两位小数,第三位小数进行四舍五入处理; x=3.1415926535897932384626 ? ROUND(x*3,2)(4)将c中的小写字母转换成相应的大写字母;CH2=cCH1=CHR(ASC(ch2)-ASC(a)-ASC(A) ? CH1(5)判断n是否偶数. ? MOD(n,2), 如果结果为1,则n是奇数,如果为0,则n是偶数第四章 表的基本操作(P86)13.就学生表,写出实现下列操作的命令.(1)显示第5号记录; USE STUDENTS.DBFGO 5DISPLAY(2)显示第5号至10号之间的全部记录; USE STUDENTS.DBFGO 5 LIST NEXT 6(3)连续列出1980年以后出生的学生的姓名与出生年月; USE STUDENTS.DBFLIST 姓名,出生年月 FOR YEAR(DATE()-YEAR(出生年月)22 AND; YEAR(DATE()-YEAR(出生年月)24 &以07年为当前时间(5)在表的顶部增加一个新记录 USE STUDENTS.DBF GO TOP INSERT BLANK BEFORE(6)修改最后一个记录 USE STUDENTS.DBF GO BOTT BROW(7)将16岁以下的少数民族学生成绩提高20分; USE STUDENTS.DBF REPLACE ALL 入学成绩 WITH 入学成绩+20 FOR 是否少数民族=是 AND YEAR(DATE()-YEAR(出生年月)16(8)将学生表原样复制为xsda.dbf,并物理删除xsda.dbf中记录号为偶数的记录; USE STUDENTS.DBF COPY TO xsda.dbf USE xsda DELETE FOR MOD(RECNO(),2)=0 PACK(9)显示入学成绩前5名的记录;USE STUDENTS.DBF SORT ON 入学成绩/D TO CJ.dbf USE CJ.dbf LIST NEXT 5(10)统计1985年出生学生的人数,并把它存在变量number中; USE STUDENTS.DBF COUNT FOR YEAR(DATE()-YEAR(出生年月)=22 TO number(11)分别求男女学生的平均年龄; USE STUDENTS.DBF AVER YEAR(DATE()-YEAR(出生年月) FOR 性别=男 TO x AVER YEAR(DATE()-YEAR(出生年月) FOR 性别=女 TO y ? 男生的平均年龄为:+STR(x,3)+岁,女生的平均年龄为:+STR(y,3)+;岁(12)查找并显示第一位少数民族学生; USE STUDENTS.DBF INDEX ON 少数民族否 TO sy1 FOR 少数民族否=是 GO 1 DISPLAY(13)建立一个结构符合索引文件,其中包括两个索引:记录以学号降序排列;记录按出生年月升序排列; USE STUDENTS.DBF INDEX ON -学号+出生年月 TAG sy2(14)查询年龄最小和最大的学生; USE STUDENTS.DBF LIST FOR MIN(出生年月) LIST FOR MAX(出生年月)(15)按性别对入学成绩进行汇总. USE STUDENTS.DBF INDEX ON 性别 TAG sy3 TOTAL ON 性别 TO HZ FIELDS 入学成绩第六章 SQL语言的应用(P114)2利用第5章习题 中给出的订货管理数据库和记录实例,用SQL语句完成下列操作:(1)列出在北京的供应商名称; USE 供应商.dbfLIST FOR 地址=”北京”(2)列出发给供应商S6的订购单号; USE 订购单.dbf LIST 订购单号 FOR 供应商号=”S6”(3)列出职工E6发给供应商S6的供应商信息; USE 订购单.dbf LIST 订购单号,订购日期 FOR 职工号=”E6” AND 供应商号=”S6”(4)列出向供应商S3发过订购单的职工的职工号和仓库号; SELECT a.职工号,b.仓库号 FROM 职工b,订购单a WHERE ;a.职工号=b.职工号 AND b.供应商号=”S3”(5)列出和职工E1、E3都有联系的北京的供应商信息; SELECT a.供应商号,b.供应商名,地址 FROM 订购单a,供应商b WHERE ;a.供应商号=b.供应商号 AND a.职工号=”E1”,a.职工号=”E3”(6)列出与工资在1220元以下的职工没有联系的供应商的名称; SELECT a.供应商名 FROM 供应商a,职工b,订购单c WHERE ;b.职工号=c.职工号,c.供应商号=a.供应商号 AND b.工资1230,;c.地址=”北京”(10)列出仓库的个数; SELECT 仓库号,COUNT(仓库号) FROM 仓库.dbf(11)列出有最大面积的仓库信息; SELECT a.仓库号,城市,面积 FROM 仓库a ORDER BY 面积 GO 1 DISPLAY(12)列出所有仓库的平均面积; SELECT AVG(面积) AS “所有仓库的平均面积” FROM 仓库.dbf(13)列出每个仓库中工资多于1220元的职工个数; SELECT 职工号,COUNT(职工号) FROM 职工.dbf GROUP BY 仓库号 WHERE ;工资1220(14)列出和面积最小的仓库有联系的供应商的个数;SELECT a.职工号,COUNT(a.供应商号) FROM 订购单a,职工b,仓库c WHERE ;a.职工号=b.职工号,b.仓库号=c.仓库号 AND MIN(c.面积)(15)列出工资低于本仓库平均工资的职工信息. SELECT a.职工号,b.仓库号,城市,c.供应商号,订购单号,订购日期 FROM ;职工a,仓库b,订购单c WHERE a.仓库号=b.仓库号,a.职工号=c.职工号 ; AND a.工资AVG(a.工资)第九章 结构化程序设计1.写出下列程序的执行结果.(1)CLEAR SET TALK OFF x=10 y=-3 FOR n=29+x TO x STEP y ENDFOR ? n RETURN执行结果:9(2)主程序:t1.prg SET TALK OFFSTORE ABTO k1,k2DO t2? k1+k2RETURN子程序t2.prgPRIVATE k1k1=k2+”250”? k1RETURN执行结果: AB250 ABAB (3)SET TALK OFFCLEARSTORE 1 TO xSTORE 20 TO yDO WHILE x=y IF INT(x/2)x/2 x=1+x2 y=y+1 LOOP ELSE x=x+1 ENDIFENDDO? x,ySET TALK ONRETURN执行结果: 122.00 23 (4)主程序:z.prg SET TALK OFF STORE 2 TO x1,x2,x3 x1=x1+1 DO z1 ?x1+x2+x3 RETURN 子程序:z1.prg x2=x2+1 DO z2 x1=x1+1 RETURN 子程序:z2.prg x3=x3+1RETURN TO MASTER执行结果: 9 (5)SET TALK OFFx=15y=7DO sub WITH x,(y)?x,yRETURNPROCECURE subPARAMETERS a,ba=a+bb=a-bRETURN执行结果: 22 7 (6)SET TALK OFFx=9y=13z=fu(x,y) ? z RETURN FUNCTION fu PARAMETERS a,b a=a*b RETURN(a)执行结果: 117 3.输入学生成绩,若成绩大雨80分,则输出”优良”,成绩小于60分,则输出”不及格”,否则输出”中等”. 参考答案: * CJ.prg SET TALK OFF USE STUDENTS.dbf name=space(10) 10,5 SAY”请输入学生姓名并查看其成绩:” GET name READ LOCATE FOR 学生姓名=name IF .NOT.EOF() DO CASE CASE 成绩=80 ? “该生成绩为优秀” CASE 成绩=60 AND 成绩0 ? right(ch,2) ch=left(ch,len(ch)-2) enddoA) abcdef B) fedcba C) efcdab D) badcfe 8.设职工数据库文件已经打开,其中有工资字段,要把指针定位在第一个工资大于1000元的记录上,应使用命令( C )。A) FIND FOR 工资1000 B) SEEK 工资1000C) LOCATE FOR 工资1000 D) FIND 工资10009.以下程序段共执行( D)次循环k=2.5DO WHILE kbb OR ac=80S=S+1ENDIF CONTINUE ENDDOUSE? 成绩大于等于80分的学生共有+STR(S)+ 人USE SET TALK ON得分四、编程题(每小题10分,共20分)1. (10分)输入一个数,判断它能否被3,5整除,并输出一下信息之一:(1) 能同时被3,5整除;(2) 只能被3整除;(3) 只能被5整除;(4) 既不能被3整除也不被5整除参考答案:*1.prgCLEARINPUT 请输入数: TO num1IF num10DO CASE CASE MOD(num1,15)=0 ? 该数能同时被3和5整除 CASE MOD(num1,3)=0 AND MOD(num1,5)0 ? 该数只能被3整除 CASE MOD(num1,5)=0 AND MOD(num1,3)0 ? 该数只能被5整除 OTHERWISE ? 该数既不能被3整除也不能被5整除ENDCASEENDIF 2. (10分)编程序求100到1000之间的所有奇数之和。参考答案:* 求和.prgSET TALK OFFSTORE 100 TO xSTORE 0 TO yDO WHILE .T.x=x+1DO CASE CASE INT(x/2)=x/2 LOOPCASE x=1000EXITOTHERWISEy=y+xENDCASEENDDO? 100到1000之间的奇数和为: ,ySET TALK ONRETURN&执行结果为: 100到1000之间的奇数和为:247500得分五、应用题(20分)数据库文件ZGMC.DBF,包含6个字段,分别为SNO(编号)、SNAME(姓名)、SSEX(性别)、ZC(职称)、GZ(工资)、CSRQ(出生日期)。如下二维表所示: SNOSNAMESSEXZCGZCSRQ9201宋玲刚.F.技术员801.5078/07/119205郭小勇.T.工程师1133.0070/12/159215王佳鹏.F.高工1560.5065/09/239208张一凡.T.工人1015.0060/08/089206李春媛.F.工程师1008.0073/01/01根据下列要求写出命令或程序:1) 显示第2条记录(2分)参考答案:USE ZGMC.DBFGO 2DISP2)显示工资高于1000元全部女职工的姓名、职称与出生日期(2分)参考答案:LIST SNAME,ZC,CSRQ FOR GZ=1000 AND SSEX=.F.3)在第1条记录前插入新记录9209 李玉 .F. 技术员 1003.80 73/05/30并显示结果;(3分)参考答案: GO 1 INSERT BLANK BEFORE REPLACE SNO WITH 9209 UPDATE ZGMC SET SNAME=李玉,SSEX=.F.,ZC=技术员,GZ=1003.80; CSQR=1973/05/30 WHERE SNO=9209 LIST4)删除1965年以前出生的职称为工人的记录,并显示结果;(2分)参考答案:DELETE FOR YEAR(DATE()-YEAR(CSRQ)42 &以07年为当前时间进行计算 PACK LIST5)统计工程师的平均工资,并显示统计结果;(2分)参考答案:CALCULATE AVG(GZ) TO x ? x 6)将1970年1月1日及以后出生的工程师复制为库文件gcs.dbf (2分)参考答案: COPY TO gcs.dbf FOR YEAR(DATE()-YEAR(CSRQ)37 &以07年为当;前时间进行计算 7)对所有工资超过1000元的男职工按出生日期降序排序,并要求新文件中只包含编号、姓名、性别、工资字段;(2分) 参考答案: SORT ON CSRQ/D TO new FIELDS SNO,SNAME,SSEX,GZ FOR GZ10008)为ZGMC.DBF建立索引文件,记录以职称降序排序,职称相同时按出生日期降序排列(3分)参考答案: INDEX ON -ZC-CSRQ TAG sy1 9)按索引查询方式查询1970年出生的女职工(2分)参考答案: SET EXACT OFF &关闭精确查询,进行模糊查找INDEX ON CSRQ TAG sy2D=1970-*-*SEEK DDISPSKIP2003-2004学年第2学期期末考试试题(B卷)foxpro程序设计基础试题使用班级:03级非计算机专业本科fox班总分得分一、单项选择题(共20分)每小题2分1FOXPRO是一种(C )数据库管理系统。A. 层次型 B .网状型 C .关系型 D. 面向对象型2在学生基本情况表STU.DBF中,性别字段为逻辑型,用.T.代表女同学。为了找到第一位姓李的男同学,以下命令正确的是( C ); ASeek 李 and 性别 BFind 李 .and. 男同学 C. Locate for 李 $ 姓名 and not 性别 D. Locate for 李 $ 姓名 .and. 男同学 3. 对已经打开的学生成绩表文件STUCDBF先按字符型字段性别升序索引,再按数值型字段总分的降序索引,应当使用的命令是( B )AINDEX ON 性别+总分BINDEX ON 性别-总分CINDEX ON 性别+STR(-总分,3)DINDEX ON 性别+STR(100-总分)4以下表达式的结果为数值型的是( D );A. 牛$ 牛群 B. wish you success C. 98/6/14+15 D. 98/06/14-98/11/125. 在语句ACCEPT 姓名: TO XM中,XM的类型应该是( C );A. 逻辑内存变量 B. 数值型字段变量C. 字符型字段变量 D. 字符型内存变量6. 下面关于FoxPro数组的叙述中,错误的是 ( )A. 用DIMENSION和DECLARE都可以定义数组B. FoxPro只支持一维数组和二维数组C. 一个数组中各个数组元素必须是同一种数据类型D. 新定义数组的各个数组元素初值为.F.7. 只显示当前记录的命令是_C_。A. LISTB. LIST ALLC. DISPLAYD. DISPLAY ALL8. 有如下命令序列 X=1 Y=2 Z=3 ?Z=X+Y执行最后一条命令后,显示的结果应该是_A_。A. .T. B. .F. C. 3D. X+Y 9. 设有数据库FILE.DBF,执行如下命令序列 SET DELETED OFF USE FILE LIST Recoed# 商品名 金额 1 洗衣机 3100.00 2 电冰箱 2300.00 3 21彩电 1800.00 4 空调机 4100.00 GO 3 DELETE GO BOTTOM INSERT BLANK REPLACE 商品名WITH 34寸彩电, 金额 WITH 6000 SUM 金额 TO S当前S的值应该是_B_。A. 11300B. 17300C. 11400D. 1550010. 在FoxBASE中,命令X=Y=3的功能是_D_。A. 判断Y是否等于3,并将判断结果保存到X中B. 判断X是否等于Y,如果等,将3赋值给Y,否则Y保持原来的值不变C. 判断X和Y是否都等于3D. 将3赋值给Y,然后再赋值给X,使X和Y的值都为3得分二、填空题(共20分)每空2分1. 数据库的英文缩写为 DB ,数据库系统的英文缩写为 DBS ,数据库管理的系统英文缩写为 DBMS 。2. 数据库有三种类型分别为 层次型 、 网状型 、 关系型 。3. 表达式1037的值为 .F. ,abc+abc的值为 abcabc 。4. 命令?TYPE(12/27/95)的输出值是_ N _。5. 在数据库文件中,要在某记录打上删除标记,应使用命令_DELETE _。6. 在数据表中,用于存放图像、声音等多媒体对象的数据类型是 。7. 程序设计的三种基本结构是 顺序结构 、 选择结构 、 循环结构 。8. 执行以下命令序列m=len(119)?m=m+1 的显示结果是 .F. 。9. 在Foxpro 系统中有两条语句可以改变循环体的执行控制, 在DO WHILE 循环体内, 语句 LOOP 使控制转移到循环的开始, 语句EXIT使控制转移到循环体外, 跳转到该循环结构后的第一个可执行语句。10. 表达式ST$STRING和表达式SR$STRING的值分别是 .T. 、 .F. 。得分三、程序理解题(共20分)1 读程序,写出运行结果(8分) clear i=1 stra= do while i90:优,80-90:良,70-80:中,60-70:及,=90 11,10 SAY 优 CASE SCORE1=80 11,10 SAY 良 CASE SCORE1=70 11,10 SAY 中 CASE SCORE1=60 11,10 SAY 及 OTHERWISE 11,10 SAY 不及ENDCASEELSE 11,10 SAY 重新输入!ENDIFI=I+1ENDDO得分四、编程题(每小题10分,共20分)(1) (10分)求y的值: 3!+5! Y= 4!参考答案:*求y值.prgSET TALK OFFa=3b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法律服务行业职业培训与就业前景预测报告
- 2025年车辆抵押借款协议
- 2026届湖北省黄石市富川中学七年级数学第一学期期末达标检测试题含解析
- 2025年试用期间劳动合同样本
- 2025权益商铺买卖合同书
- 邮储银行邢台市隆尧县2025秋招笔试金融学专练及答案
- 工商银行郴州市资兴市2025秋招笔试会计学专练及答案
- 邮储银行沈阳市辽中区2025秋招英文群面案例角色分析
- 专业知识能力培训课件
- 中国银行南充市蓬安县2025秋招笔试经济学专练及答案
- 纪检线索处置流程课件
- 湖湘文化教学课件
- 无人机飞行器维护与保养方案
- 急性食物中毒抢救护理常规
- 2025年屏山炒青茶市场分析报告
- 四川成都历年中考作文题与审题指导(2005-2024)
- 单位保密知识培训课件
- 《铁在人体中的作用》课件
- 二年级上册道德与法治第一单元《团团圆圆过中秋》作业设计
- 酒店蔬菜供货合同模板
- 【青松雪】几何最值36问-解析版
评论
0/150
提交评论