VFP上机题目
- 格式:pdf
- 大小:660.71 KB
- 文档页数:3
VFP 上机考试题目-1一、判断题(10题,每小题1分,共10分)1. 若要使用多个表,就要使用多个工作区。
2. 在应用程序中可以通过使用该工作区的表的别名来标识工作区。
3. 对象具有属性,而属性只能在设计阶段设置。
4. 引用对象的方法分绝对引用和相对引用。
5. 表单集是指两个以上的表单同时输出,并且可以通过程序或鼠标交换输出权。
6. 一条命令可分几行写,在行结束处用“:”表示一行未完,转入下一行。
7. VFP主要数据容器有:表记录、变量和数组。
8. 报表包括两个基本组成部分:数据源和布局。
9. 如果不想使用“报表向导”或“快速报表”设计报表,可以从空白报表布局开始,然后自己添加控件。
10. 表选择查询输出的去向可以是浏览、报表或表单。
二、单选题(10题,每小题2分,共20分)1. 下面选项中不属于面向对象程序设计特征的是A. 继承性B. 多态性C. 类比性D. 封闭性2. 下列对列的叙述正确的是A. 队列属于非线性表B. 队列按“先进后出”原则组织数据C. 队列在队尾删除数据D. 队列按“先进先出”原则组织数据3. Visual FoxPro是一种A. 数据库系统B. 数据库管理系统C. 数据库D. 数据库应用系统4. 在Visual FoxPro中调用表单mf1的正确命令是A. DO mf1B. DO FROM mf1C. DO FORM mf1D. RUN mf15. 要在浏览窗口中显示表js.dbf中职称(zc)为“教授”和“副教授”的纪录(该字段的内容无前导空格),下列命令中不能实现此功能的是。
A.SELECT * FROM js WHERE js.zc=“教授” OR js.zc=“副教授”B. SELECT * FROM js WHERE “教授” $ js.zcC. SELECT * FROM js WHERE js.zc IN(“教授” ,“副教授”)D. SELECT * FROM js WHERE WHERE RIGHT(js.zc,4)= “教授”6. 在Visual FoxPro系统中,表达式LEN(DTOC(DA TE(),1))的值为。
VFP习题(红色部分为答案,不过答案不是百分百准确)第一周(1)如下不正确的数值型常量是( )。
[多选题,答案不够或超出时,此题按零分计!](A)π(B)E-6(C)1E-6(D)1/2(E)30% ABDE(2)在Visual FoxPro中,合法的字符串是()。
[多选题,答案不够或超出时,此题按零分计!](A){ [计算机水平测试] }(B)[ (计算机水平测试) ](C)" '计算机水平测试’'(D)" '计算机水平测试] "(E)" "计算机水平测试" " BD(3)日期时间型常量又称为T型常量,如下错误的形式是( )。
[多选题,答案不够或超出时,此题按零分计!](A){2008-03-03,10.45p}(B){^2008-03-03;10:45p}(C){^2008-03-03,13:45p}(D){^2008-03-03,13:45a}(E){^2008-03-03-10:45p} ACDE(4)如下正确的逻辑常量是()。
[多选题,答案不够或超出时,此题按零分计!](A),T,(B).真.(C).F.(D).f.(E).y.(F).n. CDEF(5)如下选项()是正确的内存变量名。
[多选题,答案不够或超出时,此题按零分计!](A)ABCDE(B)_A A(C)不是变量(D)非变量(E)A变量(F)_ASD ACDEF(6)如下选项()是正确的赋值命令。
[多选题,答案不够或超出时,此题按零分计!](A)STOR 2 TO AA,SS(B)STOR 2,3 TO AA,SS(C)DD=.F.(D)DD=.真.(E)FF=[广东医](F)FF=3+4 ACEF(7)对于赋值命令:X='',如下与此命令等价的有( )。
[注意空字符串与一个空格符组成的非空字符串。
][多选题,答案不够或超出时,此题按零分计!](A)STOR [] TO X(B)STOR "" TO X(C)STOR ' ' TO X(D)X=[](E)STOR " " TO X ABD(8)常见表达式有四种,如下选项()是错误的。
Visual Foxpro上机操作题(数据表建立与显示)说明:本答案只写操作命令,具体操作自己上机完成根据要求完成下列操作:1.建立一个名为ys.dbf的数据表,其结构如下:字段字段名类型宽度小数位1 姓名字符型 82 性别字符型 23 固定工资数值型 8 24 津贴数值型 6 25 扣杂费数值型6 26 实发金额数值型 8 27 领款日期日期型 88 退休逻辑型 19 签名字符型 610 备注备注型 10注意:结构输入完成后,按CTRl+W存盘。
2.录入如下内容:记录号姓名性别固定工资津贴扣杂费实发金额领款日期退休签名备注1 吴均荣女 527.00 120.00 10.50 01/01/89 .T. memo2 肖才坤男 527.00 120.00 10.50 05/05/99 .F. memo3 李思强男 527.00 120.00 10.50 05/05/95 .T. memo4 司马文华女 527.00 120.00 10.50 05/05/98 .T. memo5 钟小渠男 437.00 120.00 10.50 05/05/97 .F. memo6 赵明明女 422.00 120.00 10.50 05/05/96 .F. memo7 欧阳明月女 396.50 120.00 10.50 05/05/92 .F. memo 3.打开数据库ys.dbf4.显示数据库结构.5.修改数据库结构,将实发金额的宽度改为7,小数点后有2位.注意:修改结构时一般不能同时修改字段名和类型,也不能同时修改字段名和宽度,否则有可能造成数据丢失。
完成后按ctrl+W存盘。
6.显示所有记录.7.显示所有性别为”男”的记录.8.显示所有已退休的记录.说明:在条件语句中,若要返回逻辑字段真值,只需输入逻辑字段的字段名即可,若要返回逻辑字段假值,则在字段名前加上.not.例:显示出所有未退休的记录。
List all for .not.退休9.显示出所有领款日期在1993年以前的记录.10.显示出所有性别为”女”、固定工资为527.00的记录.11.在数据库末尾增加3条记录,内容随意.12.在第4条记录前面插入一条新记录,内容随意.13.在第5条记录后增加一条空白记录.14.显示数据库前3条记录.15.显示数据库最后2条记录.16.显示第2第到第5条记录.Visual Foxpro上机操作题(数据表建立与显示答案) 说明:本答案只写操作命令,具体操作自己上机完成根据要求完成下列操作:1.建立一个名为ys.dbf的数据表,其结构如下:字段字段名类型宽度小数位1 姓名字符型 82 性别字符型 23 固定工资数值型 8 24 津贴数值型 6 25 扣杂费数值型6 26 实发金额数值型 8 27 领款日期日期型 88 退休逻辑型 19 签名字符型 610 备注备注型 10Create ys注意:结构输入完成后,按CTRl+W存盘。
vfp上机练习题_索引与排序排序与索引将sb.dbf复制到D盘根目录下的xxx文件夹(xxx可用任意字母代替),执行命令:SET DEFAULT TO D:\XXX。
一、表的排序命令SORT示例1:将所有设备按部门降序排列,部门相同时按价格升序排列USE SBSORT TO bmjg ON 部门/D,价格/AUSE bmjgLIST示例2:将所有设备按部门升序排列,部门相同按启用日期降序排列,要求只包含编号、名称、启用日期及部门4个字段。
USE sbSORT TO bmrq ON 部门/A,启用日期/D FIELDS 编号,名称,启用日期,部门USE bmrqLIST2(表的索引命令建立索引的命令示例1:为设备表以价格字段作为索引关键字建立普通索引,要求降序排列USE sbINDEX ON 价格 TAG jg DESCENDINGLIST示例2:为设备表以编号作为索引关键字建立候选索引,要求升序排列USE sbINDEX ON 编号 TAG bh ASCENDING CANDIDATELIST示例3:为设备表以启用日期作为索引关键字建立普通索引,要求降序排列USE sbINDEX ON 启用日期 TAG qyrq DESCENDINGLIST示例4:为设备表建立索引,要求按部门升序排列,部门相同时按启用日期升序排列USE SBINDEX ON 部门+DTOS(启用日期) TAG bmrq ASCENDINGLIST示例5:为设备表建立索引,要求按部门降序排列,部门相同时按价格降序排列USE sbINDEX ON 部门+str(价格,9,2) TAG bmjg1 DESCENDINGLIST示例6:为设备表建立索引,要求按部门升序排列,部门相同时按价格降序排列USE sbINDEX ON val(部门)-价格/1000000 TAG bmjg2 ASCENDINGLIST示例7:为设备表建立索引,要求按部门降序排列,部门相同时按价格升序排列USE sbINDEX ON val(部门)-价格/1000000 TAG bmjg3 DESCENDINGLIST注意:比较示例6和示例7确定主控索引的命令示例1:确定jg为当前主控索引SET ORDER TO TAG jg示例2:确定bmjg2为当前主控索引SET ORDER TO bmjg2二、用SELECT-SQL命令建立查询1(单表查询示例查询所有设备信息SELECT * FROM sb查询价格在一万元以上的设备信息SELECT * FROM sb WHERE 价格>=10000查询价格在一万元以上、十万元以下的设备的编号、名称及价格SELECT 编号,名称,价格 FROM sb WHERE 价格>=10000 AND 价格<=100000 查询所有设备的编号、名称及价格,并按价格降序排列SELECT 编号,名称,价格 FROM sb ORDER BY 价格 DESCENDING查询按价格由高到低排列后的前3条记录SELECT * FROM sb ORDER BY 价格 DESCENDING TOP 3 ? 查询价格在一万元以上的设备台数SELECT COUNT(*) AS 万元以上设备台数 FROM sb WHERE 价格>=10000 查询主要设备和非主要设备的台数SELECT 主要设备,COUNT(*) AS 设备台数 FROM sb GROUP BY 主要设备查询资产总额SELECT SUM(价格) AS 资产总额 FROM sb ? 查询各部门资产额SELECT 部门,SUM(价格) AS 部门资产额 FROM sb GROUP BY 部门查询各部门资产额,仅列出部门资产在一万元以上的记录,并按部门资产额降序排列SELECT 部门,SUM(价格) AS 部门资产额 FROM sb GROUP BY 部门;HAVING SUM(价格)>=10000 ORDER BY 2 DESCENDING ? 查询各设备的累计增值金额SELECT 编号,SUM(增值) AS 累计增值金额 FROM zz GROUP BY 编号查询累计大修费用在五千元以上的设备编号及累计大修费用SELECT 编号,SUM(费用) AS 累计大修费用 FROM dx GROUP BY 编号;HAVING 累计大修费用>=50002(多表查询示例查询所有设备的编号、名称、价格及所在部门的名称 ? SELECT sb.编号,sb.名称 AS 设备名称,sb.价格,bmdm.名称 AS 部门名称;FROM sb,bmdm WHERE sb.部门=bmdm.代码SELECT sb.编号,sb.名称 AS 设备名称,sb.价格,bmdm.名称 AS 部门名称;FROM sb JOIN bmdm ON sb.部门=bmdm.代码 ? 查询部门资产额在十万元以上的部门名称及资产额,并按资产额降序排列SELECT bmdm.名称,SUM(sb.价格) AS 部门资产额 FROM sb,bmdm;WHERE sb.部门=bmdm.代码 GROUP BY 部门;HAVING 部门资产额>=100000 ORDER BY 2 DESCENDING ? SELECT bmdm.名称,SUM(sb.价格) AS 部门资产额;FROM sb JOIN bmdm ON sb.部门=bmdm.代码 GROUP BY 部门;HAVING 部门资产额>=100000 ORDER BY 2 DESCENDING ? 查询增值设备的名称及累计增值金额,并按累计增值金额降序排列SELECT sb.名称,SUM(zz.增值) AS 累计增值金额 FROM sb,zz;WHERE sb.编号=zz.编号 GROUP BY zz.编号 ORDER BY 2 DESCENDINGSELECT sb.名称,SUM(zz.增值) AS 累计增值金额FROM sb;JOIN zz ON sb.编号=zz.编号 GROUP BY zz.编号 ORDER BY 2 DESCENDING 查询累计大修费用在五千元以上的设备名称及累计大修费用SELECT sb.名称,SUM(dx.费用) AS 累计大修费用 FROM sb,dx;WHERE sb.编号=dx.编号 GROUP BY dx.编号 HAVING 累计大修费用>5000SELECT sb.名称,SUM(dx.费用) AS 累计大修费用 FROM sb JOIN dx;ON sb.编号=dx.编号 GROUP BY dx.编号 HAVING 累计大修费用>5000 查询增值设备的名称、所在部门名称及累计增值金额 ? SELECT sb.名称 AS 设备名称,bmdm.名称 AS 部门名称,;SUM(zz.增值) AS 累计增值金额 FROM sb,bmdm,zz;WHERE sb.部门=bmdm.代码 AND sb.编号=zz.编号;GROUP BY zz.编号SELECT sb.名称 AS 设备名称,bmdm.名称 AS 部门名称,;SUM(zz.增值) AS 累计增值金额;FROM sb JOIN bmdm ON sb.部门=bmdm.代码 JOIN zz ON sb.编号=zz.编号;GROUP BY zz.编号查询大修过的设备名称、所在部门名称及累计大修费用SELECT sb.名称 AS 设备名称,bmdm.名称 AS 部门名称,;SUM(dx.费用) AS 累计大修费用 FROM sb,bmdm,dx;WHERE sb.部门=bmdm.代码 AND sb.编号=dx.编号;GROUP BY dx.编号SELECT sb.名称 AS 设备名称,bmdm.名称 AS 部门名称,;SUM(dx.费用) AS 累计大修费用;FROM sb JOIN bmdm ON sb.部门=bmdm.代码 JOIN dx ON sb.编号=dx.编号; GROUP BY dx.编号三、用查询设计器建立查询1(建立查询的命令CREATE QUERY <查询文件名>MODIFY QUERY <查询文件名〉示例:CREATE QUERY cx1MODIFY QUERY cx2注意:查询文件的扩展名为.qpr2(运行查询的命令DO <查询文件名〉示例:DO cx1.qprDO cx2.qpr注意:命令中查询文件的扩展名不可省略3(练习用查询设计器建立单表及多表查询。
VFP上机试题一、(1)属性设置及程序改错题gc245.scx的功能是:设计一个窗口,日历牌每10秒显示一次,每次显示10秒;系统时间的数字式表每秒显示一次新的时间。
要求:①设置计时器Timer1 和Timer2的属性②在编写的二个过程代码Timer1_Timer(),Timer2_Timer()中各有一个错误,请调试改正。
调试改正中,每个过程代码只能改一处,并不得增删语句timer1.timer:if bel1.visible=.t.bel1.visible=.f.elsebel1.visible=.f. && .t.endiftimer2.timer:if thisform. label1.caption!=time() && label2bel2.caption=timeendif(2)程序填空题tk245.scx的功能是:当按下“求和”按钮时,计算S=1**2+(1**2+2**2)+(1**2+2**2+3**2)+…(1**2+2**2+3**2+…+10**2)。
请在该程序空白(1)、(2)处,将其补充完整,以便得到正确答案,但不得增删原语句。
Command1.click:SET TALK OFFTOT=0FOR N=1 TO 10T=0M=1DO WHILE M<=NT=t+(1) M**2M=M+1ENDDOTOT=TOT+TENDFOR? 'S=',(2) TOTSET TALK ONRETURN二、1: 属性设置及改错题:gc291.scx的功能是:设计一个窗口,输入一个整数,按下"判断"按钮,若该整数是一负数,则显示"该数不是一个素数",若为素数,则显示"该数是一个素数",否则也显示"该数不是一个素数".要求:(1) 设置label2和label3的属性,使其开始运行时不可见.(2) 在command1_click() 的过程代码中有两处错误,请调试改正.Command1.click:bel2.visible=.f.bel3.visible=.f.n=thisform.text1.valueif n<0bel3.visible=.t.endiffor i=2 to sqrt(n)if mod(n,i)=0loopendifendforif i>=sqrt(n)bel2.visible=.t.elsebel3.visible=.t.endif2:程序填空题设表文件WK.DBF的编号字段名为BH,类型为数值型,宽度为3,程序TK291.scx的功能是,单击"处理"按钮实现:把BH每一位相加是奇数的记录存放到WK1.DBF文件中,并要求按照BH从大到小排序。
基本操作题1(1)创建一个新的项目“customer_management”。
(2)在新建立的项目“customer_management”中创建数据库“order_management”。
(3)在数据库“order_management”中建立表“order_list”,表名称分别为:“客户型”、“订单号”、“订购日期”和“总金额”;类型分别为:“字符型(6)”、“字符型(6)”、“日期型”和“浮动型”。
(4)为“order list”表创建一个主索引,索引名和索引表达式均是“订单号”。
2在考生文件夹下的“职员管理”数据库中完成下列基本操作:(1)为“员工信息”表增加一个字段,字段名为“EMAIL”,类型为“字符型”,宽度为“20”。
(2)设置“员工信息”表中“性别”字段的有效性规则,性别取“男”或“女”,默认值为“女”。
(3)在“员工信息”表中,将所有记录的“EMAIL”字段值用“部门编号”的字段值加上“职工编号”的字段值再加上“@”进行替换。
(4)通过“部门编号”字段建立“员工信息”表和“部门”表间的永久联系。
3(1)建立项目文件,文件名为“xm”。
(2)在项目中建立数据库,文件名为“DB1”。
(3)把表单“bd1”添加到项目“xm”中。
(4)修改表单“bd1”,为其添加一个“关闭”按钮。
4(1)将数据库“school”添加到项目文件“xm”中。
(2)将自由表“course”添加到数据库“school”中。
(3)建立数据库表“course"与表“score”之间的关联(两表的索引已经建立)。
(4)为(3)题中的两个表之间的联系设置完整性约束,要求:“更新”规则为“忽略”,“删除”规则和“插入”规则均为“限制”。
5(1)将自由表“股票代码”添加到“投资管理”数据库中。
(2)为表“股票代码”建立一个主索引(升序),索引名和索引表达式均为“股票代码”。
(3)为表“股票代码”设定有效性规则:股票代码第一位必须以0或6开头,错误提示信息是“股票代码必须以0或6开头”。
Visual FoxPro上机练习题(第一套)注意事项:请各位考生在E盘根目录中建立考试文件夹,考试文件夹的命名规则为“学号+考生姓名”,如“2009441691 张三”。
考生的所有解答内容都须放在考试文件夹中。
一、操作题:(本题共3小题,第1小题40分,2、3小题各30分)1.建立一个工资管理数据库,文件名为GZGL.DBC,并输入数据。
(40分)该数据库中包括以下2个数据表:工资信息数据表(GZ.DBF)和职工代码表(DM.DBF),其数据形式如下:工资信息数据表(GZ.DBF)要求:将数据库(GZGL.DBC)中的GZ.DBF和DM.DBF两表以“代码”建立一对多永久关系。
2.建立程序文件COM-SQL921.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。
在程序首行用注释语句注明考生姓名和学号,并用注释语句标注小标题号。
(30分)(1)将所有职工的基本工资增加5%。
计算出各位职工的实发工资,填入实发工资字段;(2)显示实发工资最高的职工姓名、代码、实发工资。
(3)按代码汇总基本工资、奖金、扣款、实发工资。
并显示按代码汇总后的职称,基本工资、实发工资。
3.表单设计。
按以下要求设计程序,表单文件为:FORM1011.SCX(30分)。
设计如图所示表单,包括2个表签,1个文本框,1个命令按钮(各控件的大小、颜色、字体、字号等属性自定)。
其中:(1)表单的标题:考生自己的学号和姓名;(2)标签label2初值为空;(3)在文本框text1中输入一字符串,单击命令按钮“逆序显示”,则在label2中逆序显示输入的字符串,如输入“abcde”,逆序显示“edcba”,(4)双击表单空白处关闭表单。
Visual FoxPro上机练习题(第二套)注意事项:请各位考生在E盘根目录中建立考试文件夹,考试文件夹的命名规则为“学号+考生姓名”,如“2009441691 张三”。
一、基本操作题1.在考试盘建立名为“姓名+学号后三位”的文件夹,以下所有文件都存放在此文件夹中。
2.新建一个名为“学生成绩管理系统”的项目。
3.在项目管理器中建立一个名为“学生成绩库”的数据库文件。
4.在数据库中建一个名为“成绩表”的数据表文件,表结构如下:学号C(6),姓名C(8),班级C(10),计算机N(3),英语N(3),数学N(3),平均分N(5,1)5.设置计算机、英语、数学字段满足大于0小于100的条件,“学号”字段默认值为"200201"。
二、简单应用题1.为成绩表添加如图记录。
2.在项目管理器中创建名为CX的查询文件,并且要求含有:姓名、班级、计算机、英语、数学,并且按学号降序排列,输出结果存放在STUDENT.DBF中。
3. 在项目管理器中创建名为“学生成绩”的报表,报表中打印学号、姓名,并计算总成绩。
4.在项目管理器中创建程序文件FILE.PRG,运行程序实现求出成绩表中每个学生的平均分。
(用循环语句实现)三、综合应用题在项目管理器中建立表单ZCCX.SCX。
表单名及表单标题正确(4分),控件属性设置正确(6分),运行表单时,选择选项按钮组的班级,该班级的具体人数显示在文本框中(7分)。
当单击“退出”按钮时,退出该表单(3分)。
一、基本操作题1.在考试盘建立名为“姓名+学号后三位”的文件夹,以下所有文件都存放在此文件夹中。
2.新建一个名为“书店管理”的项目。
3.在项目管理器中建立数据库“书店”。
4.在数据库“书店”中建立两个数据库表“图书表”和“销售表”结构如下:图书表:书号C(6) ,书名 C(10),出版单位C(10),单价N(5,2)销售表:书号C(6) ,书店名C(8),销售 N(3)5.建立两个表之间的关联关系,并设置“单价”在10到100之间,不包括10和100。
二、简单应用题1.为图书表和销售表添加如图记录。
2.在项目管理器中建立查询文件CX.QPR,字段有:书号,书名,出版单位,单价,书店名,销售。
计算机二级《VFP》上机考题与答案xx1.执行如下命令的输出结果是( )。
?15%4,15%-4A.3 -1B.3 3C.1 1D.1 -12.在Visual FoxPr0中,如果希望跳出SCAN…ENDSCAN循环语句、执行ENDSCAN后面的语句,应使用( )。
A.LOOP语句B.EXIT语句C.BREAK语句D.RETURN语句3.假设新建了一个程序文件myProc.prg(不存在同名的.exe、.app和.fxp文件),然后在命令窗口输入命令DO myProc,执行该程序并获得正常的结果。
现在用命令ERASE myProc.prg删除该程序文件,然后再次执行命令DO myProc,产生的结果是( )。
A.出错(找不到文件)B.与第一次执行的结果相同C.系统翻开“运行”对话框,要求指定文件D.以上说法都不对4.在Visual FoxPro中,使用LOCATE FOR命令按条件查找记录,当查找到满足条件的第一条记录后,如果还需要查找下一条满足条件的记录,应该( )。
A.再次使用LOCATE命令重新查询B.使用SKIP命令C.使用CONTINUE命令D.使用G0命令5.在Visual FoxPr0中,假设student表中有40条记录,执行下面的命令后,屏幕显示的结果是( )。
?RECCOUNT( )A.0B.1C.40D.出错6.恢复系统默认菜单的命令是( )。
A.SET MENU TO DEFAULTB.SET SYSMENU TO DEFAULTC.SET SYSTEM MENU TO DEFAULTD.SET SYSTEM TO DEFAULT7.下面程序的运行结果是( )。
SETTALK OFFSTORE 0 TO s,iDO WHILE i<20i=i+1IF MOD(i,5)=0s=s+iENDIFENDDO?sA.20B.30C.50D.1608.SQL语言的更新命令的关键词是( )。
1VFP上机实践习题及答案一、选择题:1. 在关系理论中,把能够唯一地确定一个元组的属性或属性组合称之为A) 索引码 B) 关键字 C) 域 D) 外码2. 运行 Visual Foxpro 6.0,错误的方法是A) 双击 Visual Foxpro 6.0 图标B) 单击 Visual Foxpro 6.0 图标回车C) 右击 Visual Foxpro 6.0 图标,并单击其快捷菜单中的"打开"命令D) 拖动 Visual Foxpro 6.0 图标到一个新位置3. 学生性别的取值只能为"男","女",这个范围在关系模型中被称为A) 域 B) 码 C) 分量 D) 集合4. Visual Foxpro 6.0 的系统配置文件是A) config.sys B) config.fpw C) win.ini D) autoexec.bat5. 启动 Visual Foxpro6.0 屏幕上出现两个窗口:一个是 Visual Foxpro 6.0 的主窗口,另一个是A) 文本 B) 命令 C) 帮助 D) 对话框6. 在 Visual Foxpro 6.0 中,可以在同类数据之间进行减运算的数据类型是A) 数值型,字符型,逻辑型 B) 数值型,字符型,日期型C) 数值型,日期型,逻辑型 D) 字符型,日期型,逻辑型7. 下列表达式中不符合 Visual Foxpro 6.0 语法要求的是A) 04/05/99 B) T+t C) 1234 D) 2X>158. 在以下四组中,每组有两个分别运算的函数,运算结果相同的是A) LEFT("FoxBASE",3)与SUBSTR("FoxBASE",1,3)B) YEAR(DATE())与SUBSTR(DTOC(DATE()),7,2)C) TYPE("36-5*4")与TYPE(36-5*4)D) 假定 A= "this ", B= "is a string",A-B与A+B9. 学生数据库的性别字段为逻辑型,男为逻辑真,女为逻辑假。
上机练习题一.在D盘上建立自己姓名的文件夹二.打开VFP将VFP的默认目录修改为自己姓名的文件夹三.建立书129页的“订货管理”的数据库,各张表的要求如下1.“仓库”表的要求要求:(1)设置仓库号的掩码为“WH9”(2)设置面积的有效性规则为,面积必须在[200,1000]之间,如果超出范围,提示“面积必须在200到1000之间”,默认值为370 (面积>=200 AND 面积<=1000)2.“职工”表的要求如下:(1)仓库号的掩码为“WH9”(2)职工号的掩码为“E9”(3)设置工资的字段有效规则为,工资>=1200 并且工资<=5000,若出错,则提示“工资必须在1200到5000之间”,默认值为12503.“订购单”表要求如下:(1)职工号的掩码为“E9”(2)供应商号的掩码为“S9”(3)订购单号的掩码为“OR99”(4)允许“供应商号”和“订购日期”为NULL,设置默认值为NULL4.“供应商”表的要求如下(1)供应商的掩码为“S9”四.建立相应的索引1.对仓库表,按仓库号建立主索引索引名为CKH;按面积的降序建立普通索引索引名为MJ2.对职工表,按职工号建立主索引索引名为ZGH;按仓库号建立普通索引索引名为CKH;按工资的降序建立普通索引索引名为GZ3.对订购单表,按订购单号建立主索引索引名为DGDH;按供应商号建立普通索引索引名为GYSH4.对供应商表,按供应商号建立主索引索引名为GYSH五.为四张表建立相应的永久关系六.关闭数据库设计器七.在一号工作区中打开“仓库”表,并设置MJ为当前索引,完成如下的操作1.查找面积为“200”的记录,并显示(注意使用SEEK命令)2.显示所有记录3.将记录指针定位到3号记录,并显示4.在表的尾部追加记录WH5,昌吉,560WH6,乌市,800八.在二号工作区中打开“职工”表,并设置GZ为当前索引,完成如下的操作1.查找工资为1230的记录,并显示2.显示所有记录3.按工资的降序排序形成一张新表名为“工资排序”九.在三号工作区中打开“订购单”表,并设置DGDH为当前索引,完成如下操作1.显示所有的记录2.将所有供应商号为NULL的记录加删除标记3.显示所有记录4.在将删除标记去掉十.在四号工作区中打开供应商表,将GYSH做为当前索引十一.关闭所有的十二.将E盘上自己姓名的文件夹压缩,带附件发送到老师XJCJFHY@的邮箱和自己的邮箱中十三.使用NETOP的功能将自己姓名的文件夹,传送给老师。
VFP上机实践习题及答案一、选择题:1. 在关系理论中,把能够唯一地确定一个元组的属性或属性组合称之为A) 索引码 B) 关键字 C) 域 D) 外码2. 运行 Visual Foxpro 6.0,错误的方法是A) 双击 Visual Foxpro 6.0 图标B) 单击 Visual Foxpro 6.0 图标回车C) 右击 Visual Foxpro 6.0 图标,并单击其快捷菜单中的"打开"命令D) 拖动 Visual Foxpro 6.0 图标到一个新位置3. 学生性别的取值只能为"男","女",这个范围在关系模型中被称为A) 域 B) 码 C) 分量 D) 集合4. Visual Foxpro 6.0 的系统配置文件是A) config.sys B) config.fpw C) win.ini D) autoexec.bat5. 启动 Visual Foxpro6.0 屏幕上出现两个窗口:一个是 Visual Foxpro 6.0 的主窗口,另一个是A) 文本 B) 命令 C) 帮助 D) 对话框6. 在 Visual Foxpro 6.0 中,可以在同类数据之间进行减运算的数据类型是A) 数值型,字符型,逻辑型 B) 数值型,字符型,日期型C) 数值型,日期型,逻辑型 D) 字符型,日期型,逻辑型7. 下列表达式中不符合 Visual Foxpro 6.0 语法要求的是A) 04/05/99 B) T+t C) 1234 D) 2X>158. 在以下四组中,每组有两个分别运算的函数,运算结果相同的是A) LEFT("FoxBASE",3)与SUBSTR("FoxBASE",1,3)B) YEAR(DATE())与SUBSTR(DTOC(DATE()),7,2)C) TYPE("36-5*4")与TYPE(36-5*4)D) 假定 A= "this ", B= "is a string",A-B与A+B9. 学生数据库的性别字段为逻辑型,男为逻辑真,女为逻辑假。
1.新建商品数据表SB.DBF,字段有:商品号(C,5),商品名(C,8),单价(N,5,2),出厂单价(N,5,2),产地(C,6)。
并添加如下记录:商品号(C,5),商品名(C,8),单价(N,6,2),出厂单价(N,6,2),产地(C,6)。
10001 电视机800.0 500.0 青岛20001 电子字典360.0 200.0 深圳10002 手机8210 980.0 600.0 北京30001 MP3 800.0 560.0 广州10003 商务通890.0 460.0 深圳设计一个名称为MY_FORM的表单,上面有“浏览”、“调整”、“备份”和“退出”四个命令按钮,“商品名称”标签和文本框text1。
1)在text1中输入文本,单击“浏览”按钮时,显示商品名含有该文本的所有商品记录。
2)单击“调整”按钮时,将“商品号”前两位编号为“10”的商品的“单价”修改为出厂单价的110%。
3)单击“备份”按钮时,将“商品表”进行备份(使用命令COPY TO ),备份文件名为“商品表备份.DBF”,4)单击“退出”按钮时,关闭表单。
3.设计一个电话计费程序。
假定每分钟通话费用为0.12元。
要求:表单窗口中用标签形式列出开始时间、结束时间、通话时间及应付金额(元),再设计一个开始按钮(按下后开始计时)和计费按钮(按下后显示结束时间、通话时间及费用)4.建立“学生管理”数据库,在其中新建“成绩”数据表并任意输入3条记录,结构如下:学号C(8),姓名C(8),计算机N(5.1),英语N(5.1),数学N(5.1),总成绩N(5.1)。
建立表单(bd1.scx),用表格显示该数据表,添加标签“计算机平均成绩”及显示该数据的文本框。
添加“计算”、“退出”命令按钮,并编写代码。
“计算”Click代码:计算“总成绩”字段的值(总成绩=计算机+英语+数学),计算“计算机平均成绩”的值并在文本框显示。
“退出”:结束表单运行。
VFP上机考试系统(V1.1)一、选择题(共30道,每道2分)1、数据库管理系统的缩写是( B )。
A、 DBSB、 DBMSC、 DBASD、 DB2、存储在计算机存储设备上相关的数据的集合称为( )。
A、网络系统B、操作系统C、数据库D、数据库管理系统3、一个关系是一张二维表。
在VFP中,一个关系对应一个( )。
A、字段B、记录C、表文件D、元组4、一命令:list fields 学号,姓名,总分,这条命令中使用了关系运算中()运算。
A、选择B、投影C、连接D、自然连接5、在( )菜单中包含了浏览、表设计器、数据库设计器和工具栏等,通过这个菜单可以显示所需的工具栏、属性窗口、表单控件等。
A、工具B、显示C、程序D、帮助6、字段宽度不是由VFP系统规定的是( )。
A、日期型B、数值型C、逻辑型D、备注型7、命令?{^1998-08-08}-{^1998-08-04}在屏幕上显示的结果是( )。
A、不能正确执行B、 4C、 1D、 {^1998-08-08}-{^1998-08-03}8、关于日期型表达式叙述,不正确的是( ) 其他3个都运算过A、两个日期型数据可以相加,即得到一个新的日期。
B、两个日期型数据可以相减,得到两个日期相差的天数。
C、日期型可以和整数型数据相加,得到一个新的日期。
D、日期型可以和整数型数据相减,得到一个新的日期。
9、下列函数中函数值为字符型的是( C )。
A、 abs(<数值表达式>)B、 sqrt( )C、 substr( )D、 date( )函数按 mm/dd/yy月、日、年通常格式返回系统日期10、下列函数中,函数值为字符型的是( )。
A、 DATE( )B、 STR(数值型 )C、 YEAR(日期型)D、 LEN( )11、在VFP中,用来指定以共享方式打开表文件的子句是( )。
shared 共享A、 exclusive 默认,独占B、 shareC、 noupdateD、 validate12、下列()操作要用到表结构的修改命令。
第一套试卷一、 基本操作题(4小题,共40分)在考生目录下完成如下操作:在考生目录下完成如下操作:1. 打开"订货管理"数据库,并将表order_list 添加到该数据库中。
添加到该数据库中。
2. 将表order_detail 添加到该数据库中,并修改有关字段属性如下:添加到该数据库中,并修改有关字段属性如下:订单号订单号 字符型(8)器件号器件号 字符型(8)数量数量 整型整型 增加一个“说明”的备注字段,对“订单号”进行字段有效性设置:“订单号”长度必须为8。
3. 为新建立的order_detail 表建立一个普通索引,索引名和索引表达式均是”订单号”。
4. 建立表order_list 和表order_detail 间的永久联系(通过”订单号”字段)字段)二、 简单应用(2小题,共30分)在考生目录下完成如下简单应用:在考生目录下完成如下简单应用: 1. 运用SQL SQL SELECTSELECT 语句完成查询:列出所有订购单的订单号、订购日期、器件号、器件名和总金额(按订单号升序,订单号相同再按总金额降序),并将结果存储到results 表中(其中订单号、订购日期、总金额取自order_list 表,器件号、器件名取自order_detail 表)。
2. 打开modi1.prg 命令文件,该命令文件包含3条SQL 语句,每条SQL 语句中都有一个错误,请改正之(注意:在出现错误的地方直接改正,不可以改变SQL 语句的结构和SQL 短语的顺序)。
三、 程序设计(1小题,共30分)计算连续自然数之和,并且显示和刚大于2000的最后一个自然数,编写的程序最后保存为prog1.prg 。
第二套试卷一基本操作题(4小题,共40分)在考生目录下完成如下操作:在考生目录下完成如下操作:1打开"订货管理"数据库,并将表order_list 添加到该数据库中。
添加到该数据库中。
VFP上机100题库及答案WORD版全国计算机等级考试二级Visual FoxPro上机试卷第 1 套一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)注意:基本操作题为4道SQL题,请将每道题的SQL命令粘贴到SQL1.txt文件,每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;如果某道题没有做相应行为空。
1、利用SQL SELECT命令将表stock_sl.dbf复制到stock_bk.dbf。
2、利用SQL INSERT命令插入记录(\到stock_bk.dbf表。
3、利用SQL UPDATE命令将stock_bk.dbf表中\股票代码\为\的股票\现价\改为8.88。
4、利用SQL DELETE命令删除stock_bk.dbf表中\股票代码\为\的股票。
二、简单应用(2小题,每题20分,计40分)1、在考生文件夹下建立数据库sc2,将考生文件夹下的自由表score2添加进sc2中。
根据score2表建立一个视图score_view,视图中包含的字段与score2表相同,但视图中只能查询到积分小于等于1500的信息。
然后利用新建立的视图查询视图中的全部信息,并将结果按积分升序存入表v2。
2、建立一个菜单filemenu,包括两个菜单项\文件\和\帮助\,\文件\将激活子菜单,该子菜单包括\打开\、\存为\和\关闭\三个菜单项;\关闭\子菜单项用SET SYSMENU TO DEFAULT命令返回到系统菜单,其他菜单项的功能不做要求。
三、综合应用(1小题,计30分)在考生文件夹下有学生成绩数据库XUESHENG3,包括如下所示三个表文件以及相关的索引文件: 1、XS.DBF(学生文件:学号 C8,姓名 C8,性别 C2,班级 C5;另有索引文件XS.IDX,索引键:学号) 2、CJ.DBF(成绩文件:学号 C8,课程名 C20,成绩 N5.1;另有索引文件CJ.IDX,索引键:学号) 3、CJB.DBF(成绩表文件:学号 C8,班级 C5,姓名C8,课程名 C12,成绩N5.1)。
VFP上机练习题说明:操作时用到的文件及要保存的文件均在与题号对应的文件夹内(下)基本操作第一题1.在指定文件夹下建立数据库BOOKAUTH,并把表BOOKS和表AUTHORS文件添加到该数据库中。
2.为AUTHORS表建立主索引,索引名为“PK”,索引表达式为“作者编号”。
为BOOKS 建立两个普通索引,第一个索引名为“PK”,索引表达式为“图书编号”,第二个索引名和索引表达式均为“作者编号”。
3.建立表AUTHORS和表BOOKS之间的永久性联系。
第二题1.在指定文件夹下打开数据库文件SCORE_MANAGER,该数据库中有3个表STUDENT、SCORE1和COURSE,根据已经建立好的索引,建立表间的联系。
2.为COURSE表增加字段,开课学期(N,2,0)。
3.为SCORE1表中的“成绩”字段设置字段有效性规则:成绩>=0,出错信息:“成绩必须大于或等于0”。
第三题根据以下要求,完成基本操作,所需文件在指定文件夹下:1.从SCORE_MANAGER数据库中删除名为NEW_VIEW1的视图。
2.用SQL命令向SCORE1表中插入一条记录:学号为“993503433”、课程号为“0001”、成绩为99。
3.打开表单MYFORM,向其中添加一个“关闭”命令按钮(名称为Command1),表单运行时,单击此按钮关闭表单。
第四题1.在指定文件夹下打开数据库文件college,物理删除该数据库中的temp表,然后将三个自由表“教师表”、“课程表”和“学院表”添加到该数据库中。
2.为“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”,并为两个表建立一对多的联系。
3.使用SQL语句查询“教师表”中工资大于4500的教师的全部信息,将查询结果按职工号升序排列,查询结果存储于文本文件one.txt中,SQL语句存储于文件two.prg中。
第五题在指定文件夹下打开数据库“宾馆”,完成以下操作:1.打开“客户”表,为“性别”字段增加约束性规则:性别只能取“男”或“女”,默认值为“女”,表达式为性别$“男女”。
一、项目、数据库和表操作(12分)2010sp 打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建AB.DBF表,并按表格中的要求设置相关属件。
字段名 数据类型 宽 度 字段标题BMBH C 6 部门编号ZZXM C 8 作者姓名LWM C 30 论文名LX L 类型KWMC C 20 刊物名称(1)设置AB表的长表名为:发表论文登记表;(2)设置BMBH字段的格式:删除输入的前导空格;(3)创建唯一索引,索引名为abcd,要求按作者姓名排序,姓名相同时再按论文名排序;(4)设置LX字段的显示类为复选框控件类。
2.在AB表中输入如下记录:BMBH ZZXM LWM LX KWMCBO0002 李峰 电脑病毒预防 .T. 计算机世界3.为KC表设置删除触发器:LX字段值为"专业核心课程"的记录不允许删除。
4.JS表已存在主索引GH,索引表达式为GH,KCAP表已存在普通索引GH,索引表达式为GH,以JS表为主表、KCAP表为子表按GH建立永久关系,并设置两表之间的参照完整性:更新级联。
----------------------------------------------2010au打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建TAB.DBF表,并按表格后的要求设置相关属性。
字段名数据类型宽度字段标题Cdcs C 40 传递城市Cdrq D 传递日期Cdrs I 火炬手人数Cdlxt G 传递路线图Cdjs M 传递介绍(1)设置TAB表的注释:火炬传递城市信息表;(2)设置Cdrq字段的有效性规则及信息:传递日期必须在2008年8月8日前(对现有数据不验证此规则)(3)将Cdrs字段的默认值设置为100,Cdcs设置为南京,Cdrq设置为2008年8月8日(4)将cdcs自动删除前导空格, 将cdcs拖放到表单时自动显示文本框(TextBox),输入cdcs中的值自动转换为大写字母,按Cdcs字段创建主索引,索引名为abcd。
按Cdcs与Cdrq创建普通索引cdef(5)设置xs表中的xh只能写入数字,允许输入空值2.在TAB表中输入如下记录:Cdcs Cdrq Cdrs Cdlxt Cdjs南京2008/05/27 208 (插入lxt.jpg文件) 南京这个城市3.设置CJ表的更新触发器,要求课程代码为”60023”的记录不允许修改。
为js表设置删除触发器,禁止删除4.已知JS表已存在主索引gh,索引表达式为gh,KCAP表已存在普通索引gh,索引表达式为gh,以JS表为主表,KCAP表为子表按gh建立永久关系,并设置两表之间的参照完整性:插入限制,更新级联,删除限制5.更新xs表中籍贯为江苏南京的更改为江苏省南京6.将kc表移出jxsj数据库,使其成为自由表7.修改项目test的信息,附加图标pc.ico,城市为"南京"8.修改yxzy表设置yxzydm的inputMask属性,使该字段的数值只能为数字字符9.利用项目管理器操作为xs编辑说明"人事表"10.将js表设置为包含状态11.为js表增加一个备注型字段(bz),并将所有职称(zc)为"教授"记录的bz字段设置为"学科带头人"12.将dmb表中lx字段值为"民族"的记录复制到ab表,并添加到jxsj数据库--------------------------------------设计查询(8分)课程表(KC)中含有课程代码(kcdm,C)、课程名称(kcmc,c)和学分(xf,N)等字段,在成绩表(CJ)中含有学生学号(xh,c)、成绩(cj,N)、课程代码(kcdm,c)等字段。
按如下要求修改JXGL项目中的查询CHAXUN:若成绩不低于60分学生可以取得对应课程的学分,总学分大于或等于20的学生可以毕业,则基于Kc表和cJ表查询所有不能毕业的学生列表。
要求查询输出字段为:学号、总学分,查询结果按总学分降序排序。
------------------------------------------已知js表存储了每名教师的基本信息, 包含文化程度代码(whcd,c),出生日期(csrq,D),工作日期(gzrq,D)等字段,视图whcd为文化程度代码与名称对照表,含文化程度代码(dm,c)和文化程度名称(mc,c)等字段,按如下要求修改jxgl项目中的查询chaxun:基于js表和whcd试图,统计各类文化程度的男性人数和工作时的平均年龄,要求:输出文化程度代码、文化程度名称、人数和工作时的平均年龄(字段名依次分别为dm,mc,rs和pjnl),查询结果按平均年龄降序排序输出前3条数据,且仅输出人数大于等于2个人的,输出去向为表文件temp,(注:教师工作时的年龄为工作日期的年份减去出生日期的年份)----------------设计菜单(5分)2010sp JXGL项目中已存在菜单MENU,其中已定义了"文件"菜单栏及其中的"退出菜单"项。
按如下要求设计菜单,完成后的运行效果如图1所示。
1.在"文件"菜单栏右侧创建"教学管理"菜单栏;2.在"教学管理"菜单栏下创建子菜单"学生"和"课程";3.为"学生"菜单项设置跳过条件:xs表打开时才可操作;4.在菜单项"学生"和"课程"之间插入分组线;5.设置整个菜单的清理代码:CLOSE TABLES ALL。
----------------------2020au JXGL项目中已存在菜单MENU,已定义了”系统管理”菜单栏及其中的”恢复系统菜单”菜单项。
按如下要求设计菜单,完成后的运行效果如图1所示。
1.创建”教材信息”菜单栏,其访问键为J,子菜单为”编辑”、”浏览”和”统计”,分组线如图所示,在"系统管理"菜单栏中插入VFP系统菜单"导入"和"导出"2.为”编辑”菜单项设置跳过条件,使该菜单项不可用;3.为”统计”菜单创建子菜单”出版社”和”出版年月”;4.为”出版社”菜单项设置快捷键CTRL+B,并为其设置过程代码:首先清除屏幕(即主窗口),然后运行查询文件CHAXUN.QPR,为浏览菜单设置命令Select * from jc5.将下述代码添加到菜单的适当位置,使运行该菜单时,首先执行此代码,代码如下:if used(“js”)select jsendif6. 将下述代码添加到菜单的适当位置,使运行该菜单时,最后执行此代码,代码如下:close tables all7.为"浏览"菜单设置命令,浏览xs表中jg为江苏的全部数据--------------------------------------------------------------------------------------设计表单(10分)2010sp JXGL项目中已经存在表单Formj,该表单用来设置表单中表格控件Grd1的相关属性,如图2所示。
按下列要求修改表单:1.设置表单的标题为"表格属性设置";2.设置表格Grd1中的数据为只读,但能获得焦点,表格的RecordSourceType属性值为"0一表";3.在"数据源"标签控件右侧添加一个组合框控件,并设置其Name属性为"Cbo2"、RowSourceType属性为"7一文件"、RowSource属性为当前目录下的所有.DBF文件;4.设置复选框控件Checkl的初始状态为选中:5.为组合框控件Cbo1编写Init事件代码,使它的初值等于"3(缺省值)水平滚动条和垂直滚动条"(即初始选中下拉列表中的第4条列表项);6.为组合框控件Cbo2编写InterActiveChange‘事件代码,使表单中Grd1控件的RecordSource属性与Cbo2中选定的值一致。
-------------------------------------------------------------------------2010au表单F081E的功能是:用鼠标在表单上写汉字等操作。
按下列要求修改表单,修改后表单运行时如图2所示。
1.设置表单的有关属性,使其标题为”鼠标写字”,字号为19,前景颜色为红色,字体为华文行楷,边框样式属性为”固定对话框”,背景颜色为”黄色”。
无最小化,最大化按钮,表单自动居中,设置表单的图标为PC.ICO2.如图2所示在表单的上部添加一个标签控件,用来显示鼠标的位置,并将其对象名修改为COORD,背景样式设置为“透明”。
3.在表单的下部添加一个文本框控件(对象名为Textl)和计时器控件(对象名为Timerl),并设置计时器控件的有关属性,使得表单运行时触发计时器事件的间隔时间为5秒。
4.编写计时器控件的Timer事件代码,实现在文本框中显示当前的系统日期和时间。
5.在表单的下方加一个命令按钮为,标题为”退出”,编写其Click事件代码,功能是释放表单6.拖放一个命令按钮组至表单,按钮个数为3个,然后设置其为水平布局常见表单属性: AlwaysOnTop 总在打开窗口之上AlwaysOnBottom 总在其他打开窗口之下AutoCenter 居中对齐BackColor 背景颜色BorderStyle 0无边框1单线边框2固定对话框3可调边框Caption 表单标题ControlBox 无最大化、最小化、关闭按纽Enabled 是否对事件触发,返回.t.能对事件触发Fontname 字体FontSize 字体大小ForeColor 前景颜色ICON 图标MaxButton 是否有最大化按纽,.t.表示有,.f.表示没有MinButton 是否有最小化按纽,.t.表示有,.f.表示没有Name 名称width 表单宽度Height 表单高度常见方法:thisform.release 释放表单----------------------------------------------------------------------程序改错(5分)2010sp下列程序的功能是:输入一个由ASCII码字符和GB2312字符集中汉字字符组成的字符串后,统计并显示出现次数最多的10个字符及其出现次数。