VisualFoxP简明版清华大学出版课后答案.doc

上传人:s****u 文档编号:12766958 上传时间:2020-05-23 格式:DOC 页数:12 大小:99KB
返回 下载 相关 举报
VisualFoxP简明版清华大学出版课后答案.doc_第1页
第1页 / 共12页
VisualFoxP简明版清华大学出版课后答案.doc_第2页
第2页 / 共12页
VisualFoxP简明版清华大学出版课后答案.doc_第3页
第3页 / 共12页
点击查看更多>>
资源描述
第0章2.什么是数据模型,它包含那些方面的内容?数据库问世以来,出现过那些主要的数据模型?答:数据模型首先是指把数据组织起来所采用的数据结构,同时也包含数据操作和完整性约束等要素。主要出现的数据模型:面向对象数据库,分布式数据库,演泽数据库。4.什么是数据库管理系统,它通常有那些基本功能?答:数据库管理系统简记为是对数据库进行管理的软件,它是数据库系统的核心。数据库管理系统位于用户与操作系统之间,为用户或应用程序提供访问数据库的方法,包括数据库的建立、更新、查询、统计、显示、打印以及各种数据控制。它的基本功能包括:1)数据库定义功能。 2)数据库操纵功能。 3)数据库事务管理功能。 4)数据库维护功能。 5)其他功能。6.比较C/S模式和B/S模式的异同。答:C/S模式是W/S模式的改进,C/S结构改进了系统前、后台的分工。客户机只运行前端应用程序,对访问结果进行显示逻辑(例如用户界面)等简单处理;而服务器则完成对后台数据库的访问,并处理各种事务逻辑(包括数据的并发控制等)。且每次任务均由客户机和服务器分担,充分利用网络资源。从客户机到服务器只需传送访问请求,从服务器返回客户机的仅仅是访问结果,网络传输量大大减少。B/S模式是C/S模式的延伸。B/S结构与C/S结构相比,是将Web服务器兼做应用服务器,把原来要在客户机端运行的“显示逻辑”软件改在应用服务器上运行。且两种应用模式的工作流程不同。8. 简述ODBS接口的工作过程。答:ODBS接口包括两个步骤:(1)应用程序调用ODBC API函数。(2)ODBC驱动程序管理器根据应用程序需要的数据库来调用相应的DBMS驱动程序。在ODBC的任务完成后,应用程序即可通过指定的DBMS来实现连接/断开数据库,从而执行SQL查询、读取查询结果等数据库操作。第1章2.VFP的程序窗由哪些部分组成?答:标题栏、控制按钮、菜单栏、工具栏、窗口工作区、窗口围框、窗口角。4.对话框可能包含哪些组成部分?简释各组成部分的作用。答:对话框由若干按钮和矩形框构成。每个按钮代表一种操作命令,故有时也称命令钮。矩形框分为3类,即文本框、选择框、列表框。文本框是供用户输入一串字符,作为对系统提问的回答。选择框是供用户在若干可选择其中的一项或者几项。列表框是用于显示一组相关的数据,例如一个数据库表中的所有字段名。当相关数据较多,在一个框中容纳不下时,系统会自动在列表框的下方或右侧增加滚动条,对数据实现滚动显示。6.VFP有哪俩种工作方式?简单说明各种方式的特点。答:VFP的俩种工作方式:交互操作方式和程序执行方式。交互操作方式是指命令执行方式。用户只需记住命令的格式与功能,在系统的圆点提示符()出现时从键盘上发一条所需的命令,即可在屏幕上显示执行的结果。但用户操作与机器执行互相交叉,会降低执行速度。程序执行方式是用VFP的命令编成特定的序列,并将它们存入程序文件(或称命令文件)。用户需要时,只需通过特定的命令(例如DO命令)调用程序文件,VFP就能自动执行这一程序文件,把用户的介入减至最小限度。这不仅运行效率高,而且可重复执行。8.试述项目管理器的主要作用。答:项目管理器的主要作用是对被开发系统的数据、文档、源代码和类库等资源进行集中、高效管理,借以满足DBAS在开发中经常变化的用户需求。其高效管理不仅可加快开发的进度,而且可延长DBAS的生命周期。所以有人把项目管理器称为VFP的“控制中心”。第2章1. 建立如下所示的商品表SP.DBF。操作要求:1)建立SP.DBF的结构后,立即输入前6个记录的数据,其中头两个记录的商标字段由读者在Windows环境下选两个图标分别输入。数据输入后存盘退出。答:(输入图标) SP.DBF建好后,用命令USE SP.DBF打开表,用MODIFY GENERAL 商标 打开“SB.商标”窗口,在“编辑”中选“插入对象”,在“插入对象”对话框中选“由文件创建”,通过“浏览”按钮选定图标,单击“确定”。2)打开SP.DBF,分别查看其结构与记录,包括备注字段与商标字段的数据。答:USE SP.DBF;LIST;3)追加最后两个记录,结束后分别以浏览格式和编辑格式查看数据。答:USE SP.DBF;LIST;INSERT INTO SP(货号,品名,进口,单价,数量,开单日期,生产日期,备注,商标);VALUES(”SY-701”,”电饭锅”,F,258.00,10,08/19/96,”上海电器厂”,”本产品属改进型”)INSERT INTO SP(货号,品名,进口,单价,数量,开单日期,生产日期,备注,商标);VALUES(”NV-920”,”录放机”, T,1750.00,6,07/20/96,”先锋电器公司”)2. 分别用链接、嵌入方法为SB.DBF的轿车增加“商标”,图形文件自选。答:(答案同第一题(1)一样)。5打开SP.DBF,试为下列要求分别写出命令序列。1)显示第5个记录。Use sp;list;list record 5 field 货号,品名,进口,单价,开单日期,生产单位,备注,商标。2)显示第3个记录开始的5个记录。USE SP;LIST;GO 3;DISPLAY NEXT 5。3)显示第3个记录到第5个记录。USE SP;LIST;GO 3;DISPLAY NEXT 3。4)显示数量少于5的商品的货号、品名与生产单位。USE SP;LIST;LIST 货号,品名,生产单位 FOR 数量5。5)显示进口商品或1995年开单的商品信息。use sp;list;DISPLAY FOR 进口 OR YEAR(开单日期)=1995。6)显示上海商品信息。DISPLAY FOR 生产单位=上海。7)显示单价大于4000元的进口商品信息或单价大于5000元的国产商品信息。DISPLAY FOR 进口 AND 单价4000 OR !进口 AND 单价5000。8)列出1995年开单的商品的货号、品名、单价和开单日期,其中单价按9折显示。LIST 货号,品名,单价*0.9,开单日期 FOR YEAR(开单日期)=1995 OFF9)列出单价小于2000元以及单价大于5000元的进口商品信息。DISPLAY FOR 进口 AND 单价5000。10)显示从第3个记录开始的所有国产商品信息。GO 3;DISPLAY REST FOR !进口。11)列出货号的后3位为“120”的全部商品信息。display for right(货号,3)=120。12)列出货号第1个字母为“L”或者第2个字母为“V”的全部商品信息。DISPLAY FOR LEFT (货号,1)=L OR SUBSTR (货号,2,1)=V。13)列出公司生产的单价大于3000元的所有商品信息。LIST FOR 公司$生产单位 AND 单价3000。6.对表SP.DBF按如下要求进行复制,写出命令序列。1)复制SP.DBF的结构,并将复制后的表结构显示出来。COPY STRUCTURE TO SP0;USE SP0;LIST STRUCTURE;USE SP。2)复制一个仅有货号、品名、单价、数量、备注等5个字段的表SP1.DBF。COPY STRUCTURE TO SP1 FIELDS 货号,品名,单价,数量,备注.3)将SP.DBF复制为表SP3。COPY TO SP3.4)复制具有货号、品名、数量、生产单位等4个字段的表SP4。COPY STRUCTURE TO SP4 FIELDS 货号,品名,数量,生产单位.5)将第2到第6个记录中单价不小于3000元的进口商品复制为表SP5。GO 2;COPY TO SP5 NEXT 5 FOR 进口AND 单价=3000.6)将1996年1月1日及以后开单的商品复制为表SP6。COPY TO SP6 FOR YEAR(开单日期)=1996.7)将表SP.DBF按系统数据格式复制为文本文件SP.TXT,再将SP.TXT中的数据添加到表SP6中去。COPY TO SP SDF ; USE SP6; APPEND FORM SP.TXT SDF; USE.7.从SP.DBF复制出SP1.DBF,对SP1.DBF按以下要求写出命令序列:1)列出SP1.DBF的结构与记录数据。Use sp;copy to sp1;use sp1;display structure;list off.2)将表SP1.DBF中的数量字段值用2倍的数量进行替换。Use sp1;replace all数量 WITH 数量*2.3)在第3个记录之后插入一个空记录,并自行确定一些数据填入该空记录中。USE SP1;GO 3;INSERT BLANK;BROWSE;(“YI-786”,”电脑”,.T.,8300.00,3,09/23/96,”香港公司”)4)在第3个记录与在第7个记录上分别加上删除标记。USE SP1; DELETE FOR RECORD 3 AND RECORD 7.5)撤消第3个记录上的删除标记并将第7个记录从表中抹去。USE SP1;RECALL RECORD 3;PACK.6)将SP.DBF的全部记录追加到SP1.DBF中去,并查看经追加的记录。USE SP1;APPEND FROM SP.7)用SCATTER与GATHER命令对SP1.DBF的第3个记录作如下修改:将单价由3100.00元改为3500.00元,在备注字段中填入内容“新产品提价”。USE SP1;GO 3;SCATTER MEMVAR MEMO;M.单价=3500.00,M.备注=”新产品提价”;1. 1.试对SB.DBF分别排序:(1)将价格超过10000元的投资按部门升序排序,并要求新文件只包含编号、名称、价格、部门等四个字段。USE SB;LIST;SORT TO SB1 ON 部门 FOR 价格10000 FIELDS 编号,名称,价格,部门;USE SB1;LIST。(2)将主要设备按名称降序排序,当名称相同时则按启用日期降序排序。USE SB;LIST;SORT TO SB2 ON 名称/D ,启用日期/D FOR 主要设备;USE SB2;LIST。3. 3.使用命令为SB.DBF建立一个结构复合索引文件,其中包括三个索引:a) 记录以编号降序排序,并且索引标识为普通索引型。USE SB;LIST;INDEX ON 编号 TAG BH DESCENDING. LIST.b) 记录以名称降序排序,名称相同时则按启用日期降序排序,并且索引标识为唯一索引型。USE SB; LIST; INDEX ON 名称+DTOS(启用日期) TAG MCRQ DESCENDING UNIQUE. LIST.c) 记录以部门降序排序,部门相同时则按启用日期升序排序,并且索引标识为候选索引型。USE SB; LIST; INDEX ON VAL(部门)-VAL(DTOS(启用日期)/1000000 TAG BMRQ DESCENDING CANDIDATE; LIST.4. 分别用顺序查询和索引查询两种方法查询1992年启用的非主要设备。答:(顺序查询)USE SB; LIST; LOCATE FOR YEAR(启用日期)=1992 AND NOT 主要设备; DISPLAY.(索引查询)USE SB; LIST; SET FILTER ON NOT 主要设备; INDEX ON YEAR(启用日期) TAG QYRY DESCENDING; SEEK 1992; LIST.5. 分别用以下方法查询钻床的增值。(1)顺序查询。USE SB; LIST; LOCATE FOR 名称=“钻床”;SELECT 2;USE ZZ;LIST;LOCATE FOR 编号=SB.编号;?编号,SB.名称,增值。(2)索引查询。USE SB; LIST; INDEX ON 名称TAG MC;SEEK “钻床”;SELECT 2;USE ZZ;LIST;INDEX ON 编号TAG BH;SEEK SB.编号;?FOUND(),RECNO();?编号,SB.名称,增值。(3)在数据工作期窗口建立关联后查询。(1)单击“常用”工具栏中选中“数据工作期窗口”按钮,打开数据工作期窗口选定“打开”按钮打开ZZ.DBF在“别名”框中选定ZZ选定“属性”窗口在“工作区属性”对话框选定“修改”在表设计器窗口单击“编号”字段行,在“索引”列组合框选定“升序”选“确定”返回“工作区属性”对话框在“索引顺序”组合框选定“ZZ. 编号” 选“确定” 返回数据工作期窗口。(2)选定“打开”按钮打开SB.DBF在“别名”框中选定“SB”选定“关系” 在“别名”框中选定“ZZ” 在出现“表达式设计器” 对话框的“字段”列表框选“编号”选“确定” 返回数据工作期窗口选定“一对多”按钮在“创建一对多关系”对话框,将子表ZZ从“子表别名”列表框移入“选定别名” 列表框按“确定” 返回数据工作期窗口。(3)单击“常用”工具栏中选中“数据工作期窗口”按钮,隐蔽数据工作期窗口。(4)在命令窗口执行命令:LIST FOR 名称=钻床 FIELDS 编号,名称,ZZ.增值7. 现有如下两个表:T1(产品编号c(8),产品名称c(20),型号规格c(12),单价n(7,1))T2 (合同号c(10),产品编号c(8),数量n(10)试利用数据工作期,以T1为父文件、T2为子文件建立关联,使得在浏览记录时,同种产品所订的各合同能集中在一起显示;并将完成上述要求的设置以文件名T.VUE存盘。CLOSE ALL;SELECT 2;USE T2;INDEX ON 产品编号TAG CPBH;SELECT 1;USE T1;SET RELATION TO T1.产品编号 INTO T1;SET SKIP TO T2;BROWSE FIELDS 产品编号,产品名称,T2.合同号,T2.数量;CREATE VIEW T.VUE。8. 用以下两种方法列出每个设备的名称、大修的费用及增值:(1)写出使用数据工作期窗口的操作步骤。(1)单击“常用”工具栏中选中“数据工作期窗口”按钮,打开数据工作期窗口选定“打开”按钮打开ZZ.DBF在“别名”框中选定ZZ选定“属性”窗口在“工作区属性”对话框选定“修改”在表设计器窗口单击“编号”字段行,在“索引”列组合框选定“升序”选“确定”返回“工作区属性”对话框在“索引顺序”组合框选定“ZZ. 编号” 选“确定” 返回数据工作期窗口。选定“打开”按钮打开DX.DBF在“别名”框中选定DX按同样的方法为“DX.编号”建立索引。(2)选定“打开”按钮打开SB.DBF在“别名”框中选定“SB”选定“关系” 在“别名”框中选定“ZZ” 在出现“表达式设计器” 对话框的“字段”列表框选“编号”选“确定” 返回数据工作期窗口在“别名”框中选定“DX” 在出现“表达式设计器” 对话框的“字段”列表框选“编号”选“确定” 返回数据工作期窗口选定“一对多”按钮在“创建一对多关系”对话框选“全部添加”按钮,将子表ZZ、DX从“子表别名”列表框移入“选定别名” 列表框按“确定” 返回数据工作期窗口。(3)单击“常用”工具栏中选中“数据工作期窗口”按钮,隐蔽数据工作期窗口。(4)在命令窗口执行命令:BROWSE FIELDS 编号,名称:H=“设备名称”,DX.费用:H=“设备增值”。(2)写出命令序列。CLOSE ALL;SELECT 2;USE DX;INDEX ON 编号TAG BH;SELECT 3;USE ZZ;INDEX ON 编号TAG BH;SELECT 1;USE SB ;SET RELATION TO SB.编号 INTO DX;SET RELATION TO SB.编号 INTO ZZ ADDITIVE;SET SKIP TO ,DX;BROWSE FIELDS编号,价格,ZZ.增值,DX.名称:H=“部门名”。10. 若考生.DBF记载了考生的姓名及语文、数学和外语的成绩,试算出每人总分及每门学科的平均成绩,并要求上述数据以考生成绩表形式显示。Use 考生;LIST;COPY FILE 考生.DBF TO 考生成绩表;USE 考生成绩表;ALTERTABLE考生成绩表.DBF ADD总分(5,1);REPLACE ALL 总分 WITH 语文+数学+外语;CALCULATE AVG(语文), AVG(数学), AVG(外语), AVG(总分);TO AVGYW,AVGSX,AVGWY,AVDZF;APPEND BLANK;REPLACE 姓名WITH “平均”,语文WITH AVGYW,数学 WITH AVGSX,外语 WITH AVGWY,总分 WITH AVGZF;USE考生成绩表;LIST.13. 根据第7题中TI和T2两个表建立查询文件T.QPR,要求运行该文件能产生表T3.DBF,其中包含数量大于10的所有合同的合同号、产品编号、单价和数量四个字段。(1)选定“文件”菜单的“新建”命令在“新建”对话框选“查询”按钮单击“新建”按钮在“打开”对话框打开表T1在“添加表或视图”对话框打开表T2在“联接条件”对话选“确定”按钮关闭“添加表或视图”对话框,进入查询设计器。(2)选“查询”菜单的“查询去向”命令在“查询去向”对话框选“表”按钮在“表名”文本框输入“T3”单击“确定”按钮返回查询设计器。(3)选“字段” 选项卡从“可用字段”列表框分别双击T2.合同号、T2.产品编号、T1.单价、T2.数量等4个字段,将它们添加到“选定字段”列表框选“筛选”选项卡在“字段名”列组合框选定“T2.数量”,在“条件”列组合框选定“”,在“实例”列文本框中输入“10”。(4)选定“文件”菜单的“保存”命令以“T”为文件名保存查询文件按Ctrl+W组合键关闭查询设计器,返回VFP主窗口。(5)在命令窗口输入命令“DO T.QPR”,执行后生成表T3选定菜单的“浏览”命令,显示表T3。14. 对于下列查询要求,分别写出查询的操作步骤及SQL-SELECT命令。(1)查询价格小于10万元的设备的启用日期。SELE SB.名称,SB.启用日期,SB.价格 FROM SB; WHERE SB.价格=100000 OR (SB.部门“12”); ORDER BY SB.启用日期。(3)查询1990年启用的设备的名称和部门名。SELE DISTINCT SB.名称,SB.启用日期,BMDM.名称;FROM SB INNER JOIN BMDN ON SB.部门=BMDM.代码;WHERE YEAR(SB.启用日期)=1990(4)查询大修过的设备的编号和名称,查询结果输出到表RESULT.DBF。SELE DISTINCT DX.编号,SB.名称;FROM SB INNER JOIN DX ON SB.编号=DX.编号;INTI TABLE RESULT.DBF。(5)查询有增值的设备的设备名和部门名。SELE DISTINCT SB.名称,BMDM.名称;FROM BMDM INNER JOIN SB; INNER JOIN ZZ; ON SB.编号;ON BMDM.代码=SB.部门。(6)试算出1992年前启用的主要设备的台数。SELE COUNT (SB.主要设备) FROM SB; WHERE YEAR (SB.启用日期)64 AND ZF96 AND ZF47 AND ZF=90,”优”,IIF(ZHCJ=75,”良”,IIF(ZHCJ=60,”及格”,”不及格”);REPLACE 等级 EITH DJENDFORLIST OFFUSE13. 请分别把求阶乘的功能设计为子程序、过程、自定义函数,并在计算5!-3!+7!时进行调用。(1)主程序:* 程序文件名:T4-13-1.prg.CLEARJC=0DO JSJC WITH 3,JCK3=JCDO JSJC WITH 5,JCK5=JCDO JSJC WITH 7,JCK7=JCS=K5-K3+K7?”5!-3!+7!=”,S FUNCTION B子程序:*文件名:JSJC.PRGPARAMETERS N,PP=1FOR I=2 TO NP=P*IENDFORRETURN(2),* 程序文件名:T4-13-2.prgCLEARJC=0DO JSJC WITH 3,JCK3=JCDO JSJC WITH 7,JCK7=JCS=K5-K3+K7?”5!-3!+7!=”,S FUNCTION B*PROCEDURE JSJCPARAMETERS N,PP=1FOR I=2 TO NP=P*IENDFORRETURN(3),*程序文件名:T4-13-3.prgCLEARJC=0S=JSJC(5,JC)-JSJC(3,JC)+JSJC(7,JC)?”5!-3!+7!=”,S FUNCTION B*FUNCTION JSJCPARAMETERS N,PP=1FOR I=2 TO NP=P*IENDFORRETURN P14. 读程序,写出运行结果。(1)* ex1.prg * pp.prga=3 PARAMETER x,yb=5 y=x*yDo pp WITH 2*a,b ?”s=”+STR(y,3)? a,b RETURNRETURN(2) * ex2.prg * sub prgPUBLIC a PRIVATE ca=1 a=a1c=5 PUBLIC bDo sub b=2?”ex2:”,a,b,c c=3RETURN d=4?”sub:”,a,b,c,dRETURN (1)* EX1.PRGA=3B=5DO PP WITH 2*A,B?A,BRETURN(2)* EX2.OPRGPUBLIC AA=1C=5DO SUB?”EX2:”,A,B,CRETURN15. 编制通信录管理程序,要求具有如下功能:(1) 记录输入、修改、插入与删除;(2) 能分别以姓名、邮政编码升序显示记录;(3) 能按姓名查询记录。* 程序文件名:T4-15.prgSET TALKOFFSET SAFETY OFFCLEARUSE 通讯录TEXT*通讯录管理系统* 1,输入 2. 修改 * 3. 插入 4 删除 * 5 显示 6. 查询 *0.退出*ENDTEXTDO WHILE .T. 8,0 CLEAR8,34 SAY “”INPUT SPACE(34)+”请输入06:”TO XZDO CASECASE XZ=1DO SRCASE XZ=2DO XGCASE XZ=3DO CRCASE XZ=4DO XSCASE XZ=5DO XSCASE XZ=6DO CXCASE XZ=0WAIT”系统关闭!” WINDOW TIMEOUT 1EXITENDCASEENDDOUSECLEARSET TALK ON*PROCEDURE SR?”记录输入结束后按CTRL+W键存盘。”APPEND*PROCEDURE XG?” 记录修改结束后按CTRL+W键存盘。”GO 1BROWSE*PROCEDURE CR?”将浏览窗口中的光标移到新纪录要插入的位置,按ESC键继续”BROWSEJLH=RECNO()IF RECNO()RECCONT()GO JLH+1DELDTE RESTPACKAPPEND BLANKAPPEND FORM QUDELDTE FILE QY.DBFGO JLH+1ELSEAPPEND BLANKENDIFAPPEND BLANKENDIF8,0CLEAR24,0 SAY “输入要插入的数据,然后按CTRL+W键存盘退出。“BROWSE*PROCEDURE SC?”选定要删除的记录,再按标题栏中的提示,按F5或F6键操作。”PSH KEY CLEARON KEY CLEARON KEY LABEL F5 DO SCHFON KEY LABEL F6 DO PKBROWSE TITLE 通讯录+”PROCEDURE SCHFIF DELETED()RECALLELSEDELETEENDIFPROCEDURE PKPACK*PROCEDURE XS?“按法键按姓名拼音顺序显示,按F6键按邮政编码升序显示,按ESC 键结束显示。”PUSH KEY CLEARON KEY LABEL F5 DO XMPYON KEY LABLE F6 DO YZBMBROWSE TITLE 通讯录+NOAPPEND NOMODIFYPROCEDURE XMPYINDEX ON 姓名 TAG XMBROWSE TITLE 通讯录+ 按姓名拼音顺序显示;NOAPPEND NOMODIFYREOWSE TO MASTERPROCEDURE UZBMINDEX ON 邮政编码 TAG YBMBROWSE TITLE 通讯录+NOAPPEND NOMODIFYREOWSE TO MASTER*PROCEDURE CXFLAG=18,0 CLEAR8,5SAY”INPUT SPACE(5)+”请输入姓名:”TO YCXMREADYCXM1=ALLTRIM(YCXM1”$姓名IF FOUND()?”按ESC继续.”BROWSE TITLE 通讯录+SPACE(5)+&YCXM+资料 佛如“&YCXM1”$姓名;NOAPPEND NOMODIFY ELSE10,5 SAY “查无此人!“Endif20,0 CLEAR20,5 SAY “”INTPUT SPACE(5)+”是否继续查询(一、你):” TO YNIF UPPER(YN)=”N”FLAG=0ENDIFENDDO
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!