• 313.91 KB
  • 2022-04-22 11:38:03 发布

Visual FoxPro程序设计教程 第二版 (袁九惕 著) 湖南教育出版社 课后答案

  • 35页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'课后答案网您最真诚的朋友www.hackshp.cn网团队竭诚为学生服务,免费提供各门课后答案,不用积分,甚至不用注册,旨在为广大学生提供自主学习的平台!课后答案网:www.hackshp.cn视频教程网:www.efanjy.comPPT课件网:www.ppthouse.com课后答案网www.hackshp.cn 第一章1.试说明数据与信息的区别和联系。数据是人们用于记录事物情况的物理符号。信息是数据中所包含的意义。数据与信息既有区别,又有联系。数据是表示信息的,但并非任何数据都能表示信息,信息只是加工处理后的数据,是数据所表达的内容。另一方面信息不随表示它的数据形式而改变,它是反映客观现实世界的知识,而数据则具有任意性,用不同的数据形式可以表示同样的信息,信息只是加工处理后的数据,是数据所表达的内容。khaw.com2.什么是数据库、数据库管理系统和数据库系统?数据库是在数据库管理系统的集中控制之下,按一定的组织方式存储起来的、相互关联的数据集合。数据库管理系统(DatabaseManagementSystem,DBMS)是对数据进行统一的控制和管理,从而可以有效地减少数据冗余,实现数据共享,解决数据独立性问题,并提供统一的安全性、完整性和并发控制功能的系统软件。数据库系统是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息服务的系统。3.简述数据库的三级模式结构。为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设课后答案网计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、模www.hackshp.cn式和内模式。模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。外模式又称子模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 4.数据库系统的特点是什么?特点是数据共享,减少数据冗余,具有较高的数据独立性,增强了数据安全性和完整性保护。5.实体之间的联系有哪几种?分别举例说明。(1)一对一联系(1∶1)例如,一所学校只有一个校长,一个校长只在一所学校任职,校长与学校之间的联系是一对一的联系。(2)一对多联系(1∶n)例如,一所学校有许多学生,但一个学生只能就khaw.com读于一所学校,所以学校和学生之间的联系是一对多的联系。(3)多对多联系(m∶n)例如,一个读者可以借阅多种图书,任何一种图书可以为多个读者借阅,所以读者和图书之间的联系是多对多的联系。6.数据库有哪几种常用的数据模型?VisualFoxPro属于哪一类?在数据库系统中,常用的数据模型有层次模型、网状模型和关系模型3种。VisualFoxPro是一种基于关系模型的关系数据库管理系统。7.以某种应用目的为背景,试设计一个数据库。我们以图书馆借书应用为例设计一个最简单的数据库,主要是包括以下几个关系学生关系,图书关系,借书关系,每个关系对应与数据库里面的一个表。那么学生表应该包括(学号,姓名,专业,年龄等属性),图书表应该包括(图书号,图书名,作者名,出版社等属性),这两个表是通过借书关系来实现多对多的联系的,那么借书表主要包括(学号,图书号等)。课后答案网8.关系数据库管理系统的3种基本关系运算是什么?关系运算主要有选择、投影和联接3种。www.hackshp.cn9.试述外部关键字的概念和作用。外部关键字是否允许为空值,为什么?如果关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,则称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。如果该外部关键字不是该关系的主关键字那么根据参照完整性规则,该外部关键字可以是空值,否则如果该外部关键字也是该关系的主关键字则根据参照完整性规则不能是空值。10.数据库系统的体系结构有哪几种?常见的数据库开发工具有哪些?khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 数据库系统的体系结构大体上分为4种模式:单用户模式、主从式多用户模式、客户机/服务器模式(Client/Server,C/S)和Web浏览器/服务器模式(Browser/Server,B/S)。目前,一些专有数据库厂商都提供了数据库编程工具,如Sybase的Power++、Oracle的Developer2000等,但比较流行的还是Delphi、VisualBasic、PowerBuilder等通用语言,这几个开发工具各有所长、各具优势。khaw.com第二章1.如何启动与退出VisualFoxPro?VisualFoxPro6.0的启动与Windows环境下其他软件一样,有3种常见方法:(1)在Windows桌面上单击“开始”按钮,选择“程序”选项,单击“MicrosoftVisualStudio6.0”组中的“MicrosoftVisualFoxPro6.0”选项。(2)运行VisualFoxPro6.0系统的启动程序vfp6.exe。通过“我的电脑”或“资源管理器”去查找这个程序,然后双击它。或单击“开始”按钮,选择“运行”选项,在弹出的“运行对话框”中输入VisualFoxPro6.0启动程序的文件名,单击“确定”按钮。课后答案网(3)在Windows桌面上建立VisualFoxPro6.0系统的快捷方式图标,只要在桌面上双击该图标即可启动VisualFoxPro。www.hackshp.cn退出VisualFoxPro有5种常用的方法:(1)在VisualFoxPro“文件”菜单项下,选择“退出”菜单项;(2)在VisualFoxPro命令窗口输入QUIT命令并回车;(3)单击VisualFoxPro主窗口右上角的“关闭”按钮;(4)单击VisualFoxPro主窗口左上角的控制菜单图标,从弹出的菜单中选择“关闭”,或者双击控制菜单图标;(5)同时按Alt和F4键。2.简述VisualFoxPro用户界面的组成与特点。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com VisualFoxPro的用户界面由VisualFoxPro系统菜单、工具栏、命令窗口和状态栏等构成。VisualFoxPro用户界面的最大的特点就是界面简单且灵活。3.VisualFoxPro有几种操作方式?各有何特点?VisualFoxPro有三种操作方式,菜单操作方式,命令操作方式,程序工作方式。菜单操作的优点是直观易懂,击键简单(主要是鼠标单击和双击),对于不熟悉VisualFoxPro命令、又没有或不想花时间去学习它的最终用户十分适合。命令操作方式相对而言速度更加快并且效率高。VisualFoxPro除了提供菜单操作方式、命令操作方式外,还提供程序工作方式。程序由命令或语khaw.com句组成。通过运行程序,为用户提供更简洁的界面,达到操作的目的。4.对话框的作用是什么?它通常包括哪些控制对象?对话框实际上是一个特殊的窗口,它可以用来要求用户输入某些信息或做出某些选择,在VisualFoxPro6.0中,对话框通常由文本框、列表框、单选按钮、复选框、命令按钮等部件组成。5.简述VisualFoxPro的可视化设计工具。VisualFoxPro6.0提供了多种可视化设计工具,使用它的各种向导(Wizard)、设计器(Designer)和生成器(Builder)可以更简便、快速、灵活地进行应用程序开发。1.VisualFoxPro向导VisualFoxPro系统为用户提供许多功能强大的向导。用户通过系统提供的向导设计器,不用编程就可以创建良好的应用程序界面并课后答案网完成许多对数据库的操作。2.VisualFoxPro设计器VisualFoxPro系统提供的设计器,为用户提供了www.hackshp.cn一个友好的操作界面。利用各种设计器使得创建表、数据库、表单、查询以及报表等操作变得轻而易举。3.VisualFoxPro生成器VisualFoxPro系统提供的生成器,可以简化创建和修改用户界面程序的设计过程,提高软件开发的质量。6.完成下列操作:(1)隐藏与激活“命令窗口”;可以通过工具栏上的命令窗口图标来选择隐藏与激活“命令窗口”。(2)求表达式(3-5.1)*3.14159/14的值;khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 在命令窗口输入(3-5.1)*3.14159/14,然后回车执行得到结果-0.471239(3)设置默认目录;可以在工具菜单的选项对话框里面的文件位置选项卡里设置默认目录。(4)创建名为“我的工具栏”的工具栏;在操作过程中,用户可以随时创建一个适合于自己工作需要的新工具栏。创建名为“我的工具栏”的操作步骤如下:(1)单击“显示”菜单项,选择“工具栏”选项,在“工具栏”对话框下单击“新建khaw.com”按钮,出现如图2.5所示的“新工具栏”对话框。(2)输入新工具栏名称,输入“我的工具栏”,并单击“确定”按钮,出现如图2.6所示的“定制工具栏”对话框,与此同时,在屏幕窗口上也出现了“我的工具栏”工具栏。(3)在“定制工具栏”对话框的最左边是“分类”列表框,选择该列表框中的任何一类,其右侧便显示该类的所有按钮。(4)用户可根据需要选择分类中的某一类,并在该分类中选择按钮,当选中了某一个按钮后,用鼠标器将其拖动到“我的工具栏”工具栏下即可。(5)查询LIST命令的帮助信息。首先是通过在命令窗口执行help命令来打开帮助窗口,然后选择“搜索”项,在组合框中输入“LIST”,再自己查找相关标题即可。课后答案网第三章1.简述VisualFoxPro的数据类型。www.hackshp.cnVisualFoxPro中的数据类型包括以下几种:1.字符型,2.数值型,3.货币型,4.日期型,5.日期时间型,6.逻辑型,7.备注型,8.通用型,9.二进制字符型和二进制备注型。2.字段变量与内存变量有何区别?字段变量就是表中的字段名,它是表中最基本的数据单元。字段变量是一种多值变量,一个表有多少条记录,那么该表的每一字段就有多少个值,当用某一字段名作变量时,它的khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 值就是表记录指针所指的那条记录对应字段的值。内存变量独立于表,是一种临时工作单元,它是一种单值变量。可以用内存变量名直接访问内存变量。3.下列数据哪些是变量?哪些是常量?是什么类型的常量?″姓名″,.F.,98/07/21,教授,1E2,[5585211],T其中T和教授是变量其它是常量,″姓名″和[5585211]是字符常量,.F.是逻辑常量,98/07/21是数值型常量。khaw.com4.求下列表达式的值。(1)LEN(DTOC(DATE())):8(2)STUFF(″现代教育中心″,5,0,LEFT(″技术中心″,4)):“现代技术教育中心”(3)VARTYPE(08/23/03):N(4)SPACE(5)-SPACE(5):’’空字符串(5)″PRO″$″FoxPro″AND″100″>″90″:.F.5.针对学生表,写出下列条件:(1)入学成绩高于600分的学生;入学成绩>=600(2)年龄大于18岁但小于25岁的学生;YEAR(DATE())-YEAR(出生日期)<=25andYEAR(DATE())-YEAR(出生日期)>=18(3)少数民族的男生;性别=’男’and少数民族=.T.课后答案网(4)在1985年1月1日至1983年12月31日之间出生的学生;出生日期>={12/31/1983}and出生日期<={01/01/1985}www.hackshp.cn(5)入学成绩在580分以上的汉族女生。入学成绩>=600and少数民族=.F.and性别=’女’6.写出下列表达式。(1)求实数x的小数部分;x-INT(x)(2)求自然数m的十位数字;mod(int(m/10),10)(3)将实数x保留两位小数,第三位小数进行四舍五入处理;round(x,2)(4)将c中的小写字母转换成相应的大写字母;upper(c)(5)判断n是否偶数。Int(n/2)=n/2khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 7.分析下列命令执行后的输出结果,并上机验证。(1)X=STR(13.4,4,1)Y=RIGHT(X,3)Z=″&Y+&X″?&Z,Zkhaw.com16.803.4+13.4(2)DIMENSIONA(2,3)A=175A(2,2)=2*A(2,2)?A(5),A(1,2)350175(3)X=542Y=INT(542/100)Z=X%10?Z*100+Y205课后答案网(4)SETEXACTONCH=″数据库应用″www.hackshp.cnCH1=CH=LEFT(CH,6)?CH1,CH.F.数据库应用第四章khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 1.什么是自由表?什么是数据库表?属于某一数据库的表称为数据库表,不属于任何数据库而独立存在的表称为自由表。2.一个表有3个备注型字段,该表有多少个备注文件?一个备注文件。3.在设计学生表时,可否将学生“性别”字段定义为逻辑型字段?这和定义为字符khaw.com型字段有何区别?若定义为数值型呢?可以将“性别”字段定义为逻辑型字段因为逻辑型字段只有两个取值,可以用.T.代表男.F.代表女,定义为字符型也可以只要输入数据的时候保证只能输入“男”和“女”就可以。定义为数值型也可以,比如可以用1代表男2代表女。4.修改表的结构有哪些方法?它们有何区别?有两中方法第一种是先打开表,然后在命令窗口输入modifystructure命令打开表设计器来修改表的结构。第二中方法是先打开表然后在视图菜单中打开表设计器来对表的结构进行修改,这两中方法的实质都是用表设计器来修改表的结构,不同的只是打开表设计器的方法不同而已。5.如何对浏览窗口进行分割?如何设置同步?如何设置数据显示方式?浏览窗口左下角有一黑色小方块,可用于窗口的分割。用鼠标将小方块课后答案网向右拖动,便可把窗口分为两个分区。两个分区显示同一表的内容。分区后同一记录可以在两个分区同时看到。“表”菜单项中的链接分区命www.hackshp.cn令可以选择恢复或者解除这种同步(消除该命令前的“√”)。浏览窗口中的数据有浏览和编辑两种显示方式,用“显示”菜单中的“编辑”命令(在浏览方式时)或“浏览”命令(在编辑方式时)可在两种显示方式之间切换。6.DISPLAY和LIST命令有何异同?两个命令的作用基本相同,区别仅在于LIST是连续显示,当显示的内容超过一屏时,自动向上滚动,直到显示完成为止。DISPLAY是分屏显示,显示满屏时暂停,待用户按任一键后继续显示后面的内容。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 7.一个表用ZAP命令删除后,该表还存在吗?该命令与DELETE和PACK有何异同?一个表用ZAP命令删除后该表还存在只不过表中的记录没有了。而delete命令只是逻辑删除表中的某些记录并没有实际删除还可以恢复。而pack命令是物理删除那些被逻辑删除的记录不能恢复。8.排序与索引有何区别?索引有哪几种?如何建立索引文件?排序是改变表中记录的实际物理顺序,而索引是为该表建立一个索引文件设置一个逻辑顺序,索引可分为下列4种类型:主索引,候选索引,惟一索引khaw.com,普通索引。建立索引文件有两种方法:1.用命令建立索引,2.在表设计器中建立索引。9.在已打开的表中有“姓名”字段,此外又定义了一个内存变量“姓名”。要把内存变量“姓名”的值赋给当前记录的“姓名”字段,应使用什么命令?姓名=m.姓名10.设txl.dbf有10条记录,在命令窗口执行下列命令后,表的当前记录是什么?USEtxlGO5LISTNEXT3课后答案网SKIP–2第6条记录。www.hackshp.cn11.在不同工作区之间切换用什么命令?如何访问别的工作区中的表?可以用SELECT〈工作区号〉|〈别名〉|0命令来在不同的工作区之间切换。在当前工作区中可以访问其他工作区中的表的数据,但要在非当前表的字段名前加上别名和连接符,引用格式为:别名.字段名或别名->字段名12.什么叫关联?如何建立关联?所谓关联,就是当前表记录指针的移动,能引起别的表按某种条件相应地移khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 动记录指针。建立关联后,称当前表为主文件,与主文件建立关联的表为子文件。建立一对一的关联可以用命令:SETRELATIONTO[〈关联表达式1〉]INTO〈工作区号1〉|〈别名1〉建立一对多的关联可以用命令:SETSKIPTO[〈别名1〉[,〈别名2〉…]13.就学生表,写出实现下列操作的命令:(1)显示第5号记录;khaw.comgo5display(2)显示第5号至第10号之间的全部记录;go5listnext6(3)连续列出1980年以后出生的学生的姓名与出生年月;listforyear(出生日期)>=1980fields姓名,出生年月(4)显示在1985年1月1日至1983年12月31日之间出生的学生记录;listfor出生年月>={12/31/1983}and出生年月<={01/01/1985}(5)在表的顶部增加一个新记录;gotopinsertbefore课后答案网(6)修改最后一个记录;gobottomwww.hackshp.cnedit(7)将16岁以下的少数民族学生入学成绩提高20分;replace入学成绩with入学成绩+20foryear(date())-year(出生年月)<=16and少数民族=.t.(8)将学生表原样复制为xsda.dbf,并物理删除xsda.dbf中记录号为偶数的记录;copytoxsda.dbfdeleteforint(recn()/2)=recn()/2khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com (9)显示入学成绩前5名的记录;indexon入学成绩listnext5(10)统计1985年出生学生的人数,并把它存入变量number中;countforyear(出生年月)=1985tonumber(11)分别求男、女学生的平均年龄;averagefor性别=’男’averagefor性别=’女’khaw.com(12)查找并显示出第一位少数民族学生;locatefor少数民族=.t.display(13)建立一个结构复合索引文件,其中包括两个索引:记录以学号降序排列;记录按出生年月升序排列;indexon学号tagadescindexon出生年月tagb(14)查询年龄最小和最大的学生;calculatemin(出生年月)toadisplayfor出生年月=acalculatemax(出生年月)=b课后答案网displayfor出生年月=b(15)按性别对入学成绩进行汇总。www.hackshp.cnindexon性别tagctotalon性别fields入学成绩toxbhz14.按图1.5建立选课表,然后通过“学号”索引建立学生表与选课表之间的关联,分别在一对一和一对多关联下显示学号、姓名、课程号和成绩,分析输出结果的差异。第五章khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 1.什么是永久关系?如何设置表间的永久关系?表之间的永久联系是基于索引建立的一种永久关系,这种联系被作为数据库的一部分而保存在数据库中。建立永久关系的操作方法是:在数据库设计器对话框,首先,用鼠标左键选中父表中的主索引字段,保持按住鼠标左键,并拖至与其建立联系的子表中的对应字段处,再松开鼠标左键,数据库中的两个表间就有了一个连线,其永久关系就已建立完成。khaw.com2.设置字段的显示标题、字段的注释信息、字段的默认值、字段的有效规则会给数据库中表的操作带来什么好处?(1)数据库表可以使用长表名和长字段名;(2)可以为数据库表中的字段指定标题和添加注释;(3)可以为数据库表的字段指定默认值和输入掩码;(4)数据库表的字段有默认的控件类;(5)可以为数据库表规定字段级规则和记录级规则;所有这些都是为了能够让用户更方便的输入数据,减少数据出错的几率,并且保证数据的完整性。3.字段级规则和记录级规则有何区别?如何设置?字段有效性用于对当前字段输入数据的有效性、合法性进行检验。记录有效课后答案网性验证指建立一规则对同一记录中不同字段之间的逻辑关系进行验证。这两种规则都可以在表设计器里面来进行设置。www.hackshp.cn4.触发器有哪几种?各有什么作用?触发器包括插入触发器、更新触发器和删除触发器。这些触发器用于保证当对数据库表进行插入(包括追加)、更新和删除时,不会违反那些已经设置好的有效性规则,只有当规则成立时才能进行相应操作。主要是用于保证记录和数据的完整性。5.订货管理数据库有4个表:khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 仓库(仓库号,城市,面积)职工(仓库号,职工号,工资)订购单(职工号,供应商号,订购单号,订购日期)供应商(供应商号,供应商名,地址)各个表的记录实例为:仓库表职工表仓库号职工号工资仓库号城市面积khaw.comWH2E11220WH1北京370WH1E31210WH2上海500WH2E41250WH3广州200WH3E61230WH4武汉400WH1E71250订购单表职工号供应商号订购单号订购日期E3S7OR672003/06/23E1S4OR732003/07/28E7S4OR762003/05/25E6NULL课后答案网OR77NULLE3S4OR792003/06/13E1NULLwww.hackshp.cnOR80NULLE3NULLOR90NULLE3S3OR912003/07/13供应商表供应商供应商名地址供应商号供应商名地址号S3振华电子厂西安S6607厂郑州khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com S4华通电子公北京S7爱华电子北京司厂(1)建立订货数据库;(2)在数据库中建立所有的表,并输入记录数据;(3)建立表的索引;(4)建立表间关系;(5)khaw.com设置表的参照完整性。第六章1.简述SQL语言的功能及特点。SQL是StructuredQueryLanguage(结构化查询语言)的缩写。查询是SQL语言的重要组成部分,但不是全部,SQL还包含数据定义、数据操作和数据控制功能等部分。SQL语言具有如下特点:(1)SQL是一种一体化的语言。(2)SQL语言是一种高度非过程化的语言。(3)SQL语言非常简洁。SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以课后答案网程序方式(4)使用。www.hackshp.cn2.利用第5章习题中给出的订货管理数据库和记录实例,用SQL语句完成下列操作:(1)列出在北京的供应商的名称;select供应商名from供应商表where地址="北京"(2)列出发给供应商S6的订购单号;select订购单号from订购单表where供应商号="S6"(3)列出职工E6发给供应商S6的订购单信息;select*from订购单表where职工号="E6"and供应商号="S6"khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com (4)列出向供应商S3发过订购单的职工的职工号和仓库号;select职工号,仓库号from职工表where订购单表.供应商号="S3"and订购单表.职工号=职工表.职工号(5)列出和职工E1、E3都有联系的北京的供应商信息;selectb.供应商号,供应商名,地址from订购单表a,供应商表b,订购单表cwherea.供应商号=b.供应商号andb.供应商号=c.供应商号anda.职工号="E1"andc.职工号="E3"and地址="北京"(6)列出与工资在1220元以下的职工没有联系的供应商的名称;khaw.comselect供应商号,供应商名from供应商表wherenot(供应商号in(select供应商号from订购单表where订购单表.职工号=职工表.职工号and职工表.工资<1220))(7)列出向供应商S4发出订购单的仓库所在的城市;selectdistinct城市from仓库表a,职工表b,订购单表cwherec.供应商号="S4"andc.职工号=b.职工号andb.仓库号=a.仓库号(8)列出在上海工作并且向供应商S6发出了订购单的职工号;selectdistinctb.职工号from仓库表a,职工表b,订购单表cwherec.供应商号="S6"andc.职工号=b.职工号andb.仓库号=a.仓库号anda.城市="上海"(9)列出由工资多于1230元的职工向北京的供应商发出的订购单号;selectdistinctc.订购单号from仓库表a,职工表b,订购单表c,供应商课后答案网表dwherec.供应商号=d.供应商号and地址="北京"andc.职工号=b.职工号andb.工资>1230www.hackshp.cn(10)列出仓库的个数;selectcount(*)from仓库表(11)列出有最大面积的仓库信息;select*from仓库表where面积=(selectmax(面积)from仓库表)(12)列出所有仓库的平均面积;selectavg(面积)as‘平均面积’from仓库表(13)列出每个仓库中工资多于1220元的职工个数;select仓库号,count(*)from职工表groupby仓库号where工资>1220khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com (14)列出和面积最小的仓库有联系的供应商的个数;selectcount(a.供应商号)from订购单表a,职工表b,仓库表cwherea.职工号=b.职工号andb.仓库号=c.仓库号andc.面积=(selectmin(面积)from仓库表)(15)列出工资低于本仓库平均工资的职工信息。select*from职工表awherea.工资<(selectavg(b.工资)from职工表bwherea.仓库号=b.仓库号)3.利用第5章习题中给出的订货管理数据库和记录实例,用SQL语句完成以khaw.com下操作:(1)插入一个新的供应商记录(S9,智通公司,沈阳);insertinto供应商表(供应商号,供应商名,地址)values("S9","智通公司","沈阳")(2)删除目前没有任何订购单的供应商;deletefrom供应商表wherenot(供应商号in(selectdistinct供应商号from订购单表))(3)删除由在上海仓库工作的职工发出的所有订购单;deletefrom订购单表where订购单表.职工号=职工表.职工号and职工表.仓库号=仓库表.仓库号and仓库表.城市="上海"(4)给北京仓库的面积增加100m2;update仓库表set面积=面积+100where城市="北京"课后答案网(5)给低于所有职工平均工资的职工的工资提高10%。update职工表set工资=工资www.hackshp.cn*1.1where工资<(selectavg(工资)from职工表)第七章1.查询设计器有“字段”、“联接”、“筛选”、“排序依据”、“分组依据”、“杂项”等6个选项卡,简要说明这6个选项和SQL.SELECT命令中各子句的对应关系。(1).字段。在“字段”选项卡设置查询结果中要包含的字段,对应于SELECT命令中的输出字段。(2).联接。如果要查询多个表,可以在“联接”选项卡中设置表间的联接条件,对应于JOIN.ON子句。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com (3).筛选。在“筛选”选项卡中设置查询条件,对应于WHERE子句。(4).排序依据。在“排序依据”选项卡中指定排序的字段和排序方式,对应于ORDER.BY子句。(5).分组依据。在“分组依据”选项卡中设置分组条件,对应于GROUP.BY子句和HAVING子句。(6).杂项。在“杂项”选项卡中设置有无重复记录以及查询结果中显示的记录数等。2.用户浏览信息时,总是希望在一个界面中能为其提供完整而充分的信息khaw.com,但在设计表时,往往从数据规范性与用户需求的多样与随机性等方面考虑难以完全按照显示界面设计表。以一个实例简要说明怎样使用视图解决这一矛盾。用户的需求是多样的,而我们设计数据库的时候却只能从数据库的规范性和完整性出发,比如可能用户在浏览一个信息的时候,这些信息却分布在不同的表中,但这并不妨碍我们提供这样的服务,我们可以通过VF提供的试图设计器来设计出一个视图来满足用户的需求。这样既能满足数据库设计的要求又可以满足用户的多样性的要求。例如在前面提及的学生管理数据库中的选课表,对于一般用户来讲,是无法使用的,因为学号和课程号都是采用代码方式,所以有必要使用视图方式进行透明性操作。希望在操作过程中看到学号时,知道其学生名字,看到课程号时,知道其课程名称。我们可以设计出一个视图来满足用户的需求,课后答案网显示学生姓名、课程名及成绩。这里的姓名、课程名及成绩等信息分布于学生、课程、选课等3个表中,故要建立一个以这3个数据表为源表的视图。具体的www.hackshp.cn步骤见书123-124页。3.对学生管理数据库,分别建立以下查询:(1).查询学生表中的全部信息;(2).查询非湖南籍的学生名单;(3).查询全部学生的如下信息:学号、姓名、课程名、成绩、入学成绩;(4).查询每个省的学生人数,并将结果以条形图形式显示;(5).以降序显示每门课程的平均成绩,要求显示课程名称和平均成绩两个数据项。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 4.对学生管理数据库,分别建立以下视图:(1).为学生选课建立一个视图,要求包含课程号、课程名、学分、任课教师的姓名及职称等信息;(2).为用人单位建立一个视图,要求包含学生的姓名、性别、出生日期、籍贯、所修课程的名称、学习成绩;(3).为学校人事部门建立一个视图以帮助其掌握教师教学基本情况,要求包括教师编号,姓名,职称,担任授课的课程编号、名称、学分等信息;(4).为学生办公室建立一个浏览学生考试成绩的视图,要求包含全部学生khaw.com的基本信息和课程号、课程名称、成绩,所有数据只能浏览,不能修改。第八章1..简述项目管理器的主要功能。Visual.FoxPro的项目是文件、数据、文档和对象的集合,“项目管理器”是Visual.FoxPro中处理数据和对象的主要组织工具,在建立表、数据库、查询、表单、报表以及应用程序时,可以用“项目管理器”来组织和管理文件。2..项目管理器有几个选项卡?每个选项卡的作用是什么?项目管理器有6个选项卡,它们分别是:“全部”、“数据”、“文档”、“类”、“代码”和“其他”,每个选项卡用于管理某一类型文件。课后答案网1.“数据”选项卡该选项卡包含了一个项目中的所有数据:数据库、自由表、查询和视图。www.hackshp.cn2.“文档”选项卡该选项卡中包含了处理数据时所用的全部文档,即输入和查看数据所用的表单,以及打印表和查询结果所用的报表及标签。3.“类”选项卡该选项卡显示和管理由类设计器建立的类库文件。4.“代码”选项卡该选项卡包含了用户的所有代码程序文件:程序文件、API库文件、应用程序等。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 5.“其他”选项卡该选项卡显示和管理下列文件:菜单文件、文本文件、由OLE等工具建立的其他文件(如图形、图像文件)。6.“全部”选项卡该选项卡显示和管理以上所有类型的文件。3..项目管理器有哪些常用的命令按钮?它们的作用是什么?项目管理器中有以下命令按钮:1.“新建”按钮khaw.com创建一个新文件或对象,新文件或对象的类型与当前所选定的类型相同。此按钮与“项目”菜单的“新建文件”命令的作用相同。注意:“文件”菜单中的“新建”命令可以新建一个文件,但不会自动包含在项目中。而使用项目管理器中的“新建”命令按钮,或“项目”菜单中的“新建文件”命令,建立的文件会自动包含在项目中。2.“添加”按钮把已有的文件添加到项目中。此按钮与“项目”菜单中的“添加文件”命令的作用相同。3.“修改”按钮在相应的设计器中打开选定项进行修改,例如可以在数据库设计器中打开一个数据库进行修改。此按钮与“项目”菜单中“修改文件”命令作用相同。4.“浏览”按钮课后答案网在“浏览”窗口中打开一个表,以便浏览表中内容。此按钮与“项目”菜单中“浏览文件”命令作用相同。www.hackshp.cn5.“运行”按钮运行选定的查询、表单或程序。此按钮与“项目”菜单中“运行文件”命令作用相同。6.“移去”按钮从项目中移去选定的文件或对象。Visual.FoxPro将询问是仅从项目中移去此文件,还是同时将其从磁盘中删除。此按钮与“项目”菜单中的“移去文件”命令的作用相同。7.“打开”按钮khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 打开选定的数据库文件。当选定的数据库文件打开后,此按钮变为“关闭”。此按钮与“项目”菜单中“打开文件”命令作用相同。8.“关闭”按钮关闭选定的数据库文件。当选定的数据库文件关闭后,此按钮变为“打开”。此按钮与“项目”菜单中“关闭文件”命令作用相同。9.“预览”按钮在打印预览方式下显示选定的报表或标签文件内容。此按钮与“项目”菜单中“预览文件”命令作用相同。khaw.com10.“连编”按钮连编一个项目或应用程序,还可以连编一个可执行文件。此按钮与“项目”菜单中“连编”命令作用相同。4..建立一个项目文件,定制项目管理器。5..建立一个项目文件,向该项目添加已经建立的有关文件。6..建立一个项目文件,在项目管理器中新建、修改和浏览表。课后答案网第九章www.hackshp.cn1..写出下列程序的执行结果。(1).CLEARSET.TALK.OFF..x=10y=-3FOR.n=29+x.TO.x.STEP.yENDFORkhdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com ?.nRETURN9(2).主程序:t1.prgSET.TALK.OFFSTORE.′AB′.TO.k1,k2khaw.comDO.t2?.k1+k2RETURN子程序:t2 prgPRIVATE.k1k1=k2+″250″?.k1RETURN.“AB250”“ABAB”课后答案网(3).SET.TALK.OFFCLEARwww.hackshp.cnSTORE.1.TO.xSTORE.20.TO.yDO.WHILE.x<=yIF.INT(x/2)<>x/2x=1+x^2y=y+1LOOPELSEx=x+1khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com ENDIFENDDO?.x,ySET.TALK.ONRETURN.122.0023khaw.com(4).主程序:z.prgSET.TALK.OFFSTORE.2.TO.x1,x2,x3x1=x1+1DO.z1?.x1+x2+x3RETURN子程序:z1 prgx2=x2+1DO.z2x1=x1+1课后答案网RETURN子程序:z2 prgwww.hackshp.cnx3=x3+1RETURN.TO.MASTER.9(5).SET.TALK.OFFx=15y=7DO.sub.WITH.x,(y)khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com ?.x,yRETURNPROCEDURE.subPARAMETERS.a,ba=a+bb=a-bRETURN.(6).SET.TALK.OFFkhaw.comx=9y=13z=fu(x,y)?.zRETURNFUNCTION.fuPARAMETERS.a,ba=a*bRETURN.(a).1172..输入一个三位整数,将其反向输出。如输入326,输出623。课后答案网settalkoffinput"请输入一个三位数"toawww.hackshp.cnb=100*mod(a,10)+10*mod(int(a/10),10)+mod(int(a/100),10)?breturn3..输入学生成绩,若成绩大于80分,则输出“优良”,成绩小于60分,则输出“不及格”,否则输出“中等”。settalkoffinput"请输入学生成绩"toakhdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com ifa>80?"优良"elseifa<60?"不及格"else?"中等"endifkhaw.comendifreturn4..在学生表中,分别统计汉族学生和少数民族学生的人数。settalkoffuse学生表countfor少数民族=.T.toacountfor少数民族=.F.tob?"少数民族学生人数为",a?"汉族学生人数为",breturn5..假定有包含若干个记录的表文件c1.dbf,其结构是:f1(N,3,0),f2(N,3,0)课后答案网。编写程序,其功能是把各记录中所有大于40的字段值累加起来,最后把累加的结果存入第一个记录的f2字段中。www.hackshp.cnsettalkoffusec1a=0dowhile.not.eof()iff1>40a=a+f1endififf2>40khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com a=a+f2endifcontinueenddogotopf2=ausereturnkhaw.com6..一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数,例如13就是一个绝对素数。试求所有两位绝对素数。settalkoffform=11to99n=mod(m,10)*10+mod(int(m/10),10)ifcheck(m)andcheck(n)?mendifendfor课后答案网functioncheckparametersawww.hackshp.cnflag=.t.k=int(sqrt(a))j=2dowhilej<=kandflagifmod(a,j)=0flag=.F.endifj=j+1khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com enddoreturnflag7..用过程方式求S=A!+B!+C!(其中A,B,C从键盘输入)。settalkoffinput"请输入第一个数到A"toainput"请输入第一个数到B"tobinput"请输入第一个数到C"tockhaw.com?"S=A!+B!+C!=",ss(a)+ss(b)+ss(c)functionssparameternm=1fori=1tonm=m*iendforreturnmreturn8..根据题目要求完善程序。(1).通过字符串操作竖向显示“伟大祖国”,横向显示“祖国伟大”。课后答案网SET.TALK.OFFSTORE.″伟大祖国″.TO.varwww.hackshp.cnCLEARn=1DO.WHILE.n<8?.SUBSTR(①)n=n+2ENDDO?.(②)??.SUBSTR(var,1,4)khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com RETURN①var,n,n+1②substr(var,5,8)(2).对学生表,按入学成绩降序显示前10名和按升序显示后10名学生的入学成绩。khaw.comSET.TALK.OFFUSE.学生INDEX.ON.入学成绩.TAG.cjsy.DESCn=1CLEAR@1,20.SAY.″前十名成绩:″DO.WHILE.n<=10DISPn=n+1(③)continueENDDOWAIT.″″CLEAR课后答案网@1,20.SAY.″后十名成绩:″n=1www.hackshp.cn(④)gobottomDO.WHILE.n<=10DISPn=n+1SKIP.-1ENDDOUSESET.TALK.ONkhdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com RETURN.Continuegobottom第十章khaw.com1..名词解释:类、子类、对象、事件、方法、属性。类(Class)是具有相同属性特征和行为规则的多个对象的一种统一描述。子类用来模拟现实世界中的类的层次问题,子类将继承其父类的全部特征和方法程序,当然,在子类中可以对这些继承的特征和方法程序进行修改,以对该子类进行更准确的模拟。对象是对现实世界中实体的一种模拟工具,是类的实例。事件是由外部实体作用在对象上的一个动作。在面向对象方法中,事件是驱动蕴涵在对象中的程序的引擎,一个事件有一个事件名,且与一个事件响应程序(方法程序)相关联,当作用在一个对象上的事件发生时,与这个事件相关联的程序就获得一次运行。属性(Property)是模拟所描述实体的静态特征。方法(Method)是模拟实体对一些事件(Event)的反映。课后答案网2..对象与类有什么相同点和不同点?对象和类都是用来描述现实世界中存在的一些实体,对象用来模拟那些具体www.hackshp.cn的实体,而类描述的是这些实体所共有的一些特征与属性。例如我们用人这个类来描述所有现实世界中存在的人的共性,而对象是用来描述那些具体存在的人,如张三,李四。3..容器类与控件类有哪些差别?引用容器中的对象时应注意哪些问题?Visual.FoxPro的基类分成容器类和控件类,容器类可以包含其他对象,并且允许访问这些对象。控件类不能容纳其他对象,它没有容器类灵活。在调用容器中某一特定对象时要掌握面向对象方法中对象的标识方法。要注意以下几点khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 1.容器类中对象的层次,2.对象局域名,3.几个代词的用法。4..创建类有哪些方法?各有什么特点?创建类有两种方法用程序方法设计类与用可视化方法设计类,用程序方法设计类这种方法相对比较复杂但也较灵活。用可视化方法设计类这种方法相对比较方便易操作。5..用CreateObject()命令建立一个表单,并在表单中加入一个标签对象,标签的Caption属性设置为“我的第一个表单”。6..用可视化方法设计一个由命令按钮派生的子类,并为其加入一个属性khaw.comNumber,为该子类设计两个事件程序Click和RightClick,当Click事件发生时,判断其属性Number的值是否是一个奇数,当RightClick事件发生时,判断Number值是否是一个能被3整除的数。判断结果用MessageBox()函数输出。7..用面向对象方法设计一个程序,找出1~100中的全部素数。第11章1.使用表单向导建立一个关于学生表的操作表单。如果要执行表单时不能修改数据,应修改什么对象的什么属性?应该是修改表单中相关控件对象的ReadOnly属性,改为.F.。2.不用表单向导,建立一个与第一题完全相同的表单。提示:修改第一课后答案网题得到的表单查看其各对象的属性,还可查看到命令按钮组的父类名及其类文件。www.hackshp.cn3.设计一个表单,表单中包含一个命令按钮和一个文本框,文本框的初始值设置为0,当单击一次命令按钮时,文本框中的数值加1。4.建立一个航班表:航班(城市名,航班号,时间,价格)该表中包含去北京、上海、广州、哈尔滨等4个城市的航班信息(一个城市可能有多个航班)。设计一个航班查询表单,要求:使用选项按钮组表示城市,用表格显示查询结果。不设命令按钮,当选中某个选项按钮时,表格立即显示该城市的查询结果。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 5.设计一个使用列表框和表格的表单,要求:列表框与学生表关联,表格与选课表关联,并且,当选中列表框中的某个记录时,表格中显示该学生的选课信息。6.在第4题的基础上,再建立一个列车表:列车(城市,车次,开车时间,到达时间)该表中包含开往北京、上海、广州、哈尔滨等4个城市的车次情况。建立一个包含两个页面的页框,其中第一个页面查询航班信息,第二个页面查询列车信息,其他要求与第4题相同。khaw.com第12章1.菜单由哪几部分组成?常规的菜单系统一般是一个下拉式菜单,由一个条形菜单和一组弹出式菜单组成。3.简述菜单文件与菜单程序的区别与联系。菜单文件是菜单设计器中用户定义的保存文件。而菜单程序则是最后用户看到的菜单所对应的程序代码文件,可以在菜单设计器中用生成命令把菜单文件转化为对应的菜单程序。两者都是对菜单的描述,只不过描述的层次不同而已。4.什么是快速菜单和快捷菜单?两者有何区别?课后答案网“快速菜单”主要是为了能让用户方便快速地设计菜单的一种方法,选择“快速菜单”命令后,一个与VisualFoxPro系统菜单一样的菜单会自动复制www.hackshp.cn到菜单设计器窗口,供用户修改成符合自己需要的菜单。这种方法能快速建立高质量的菜单。快捷菜单是一种单击鼠标右键才出现的弹出式菜单,快速菜单是一种快速生成菜单的方法,而快捷菜单是菜单中的一个分类。4.利用菜单设计器为“学生管理系统”建立一个下拉菜单。其具体要求如下:(1)条形菜单包含“查询”、“数据维护”、“打印”和“退出”4个菜单项;(2)其中“数据维护”下拉菜单又包含“浏览记录”、“修改记录”和“按字段修改”等菜单项,设置“浏览记录”的快捷键为CTRL+X;(3)其中“打印”下拉菜单又包含“学生档案表”和“学生成绩表”两个菜单khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 项;(4)单击“退出”菜单命令,可退出本“学生管理系统”程序,并自动恢复VisualFoxPro的系统菜单。5.在以上菜单系统中加入系统的“编辑”下拉菜单和“打印预览”菜单项。6.创建并设立顶层菜单。7.为一个表单建立一个快捷菜单,鼠标右键单击该表单时弹出快捷菜单,快捷菜单中的“浏览”选项可以浏览学生表。khaw.com第13章1.报表的主要功能是什么?报表的主要功能是为了能更加灵活方便的输出数据。不但可以像查询、表单那样够浏览数据记录外,还能控制打印输出数据记录的格式。2.报表和表单的区别在哪里?"表单"能让用户按另一种形式在屏幕上查阅数据表中的数据记录,实用性非常的很强,不但能用它来简化"浏览窗口",还能更直观的显示和浏览数据、并且可按用户所喜欢的风格来显示记录,以及通过一组控制按钮更方便、更加容易地控制和使用数据记录。报表除了能像查询、表单那样够浏览数据记录外课后答案网,还能控制打印输出数据记录的格式,并且允许将各种格式的文本与图形对象组合在一起输出,从而建立起清晰的、图文并茂的报表。www.hackshp.cn3.报表包括哪几个基本组成部分?报表主要由两部分组成:数据源和报表布局。数据源是报表的数据来源,报表布局则定义报表打印格式。4.报表控件是指的什么?报表控件是显示在报表上的,用来配合报表来向用户输出更多更灵活的内容如图形、图象、表达式等。5.什么是标签?标签与报表的区别是什么?标签是一种特殊的报表,它的创建、修改方法与报表基本相同。两者之khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 间主要的不同是标签设计器基于所选标签的大小自动定义页面和列。6.在定义一个表、一个视图或查询之前,可以创建报表或标签吗?不可以,因为创建报表时必须要有数据源。7.有一个教职工表:教职工(编号,姓名,性别,出生日期,籍贯,民族)完成下列操作:(1)建立一个教职工表,其中的数据自定;(2)快速生成一个报表;khaw.com(3)利用报表向导设计一个报表;(4)利用报表设计器设计报表;(5)在屏幕上预览报表输出格式;(6)利用教职工表创建一个标签。课后答案网www.hackshp.cn第14章1.说明在学生管理数据库中的授课表中为什么不加入一个“课程名”字段以khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 方便查询,增加这个字段后不符合规范化的哪个范式?因为课程名这个信息已经在课程表中出现了,本身而言课程名也应该是属于课程表的一个属性,如果我们在授课表中再加入一个课程名字段则不符合规范化中的第二阶范式,容易引起数据的不一致,因为同样的信息存在于两个表中。2.画出常见的一些实体(如学生、课程、教师、教室、寝室等)的E-R图,以描述这些khaw.com实体属性及其联系。教师编号姓名职称课程名学分学号姓名民族课程号教师课程n选课m学生nm授课n年龄寝室编号课后答案网住宿教室寝室编号地址1www.hackshp.cn寝室教室编号人数地址3.将第2题获得的E-R图转化为关系模型,并进行规范处理(规范化处理的一个基本方法就是分解,把一个表分解为几个小表,表之间用主属性进行连接)。转化为关系模型应该是:khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 学生(学号<关键字>,姓名、民族、年龄,寝室编号<外键>)khaw.com教师(教师号<关键字>,姓名,职称)课程(课程号<关键字>,课程名,学分)教室(教室编号<关键字>,人数,地址)寝室(寝室编号<关键字>,地址)选课(学号<外键>,课程号<外键>,成绩)授课(课程号<外键>,教师号<外键>,教室编号<外键>)4.补充完成“工资发放系统”中未给出的设计:第一、二类员工的考核数据录入,工资汇总表生成,工资数据备份等工作。5.做一个简化的“学生管理系统”系统设计,完成其功能设计、数据库设计和部分功能的程序设计工作,要求使用E-R图建立数据模型并进行规范化处理。课后答案网www.hackshp.cnVisualFoxPro程序设计教程(主编:刘卫国)课后习题答案khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com'

您可能关注的文档