VFP程序设计教程习题答案_第1页
VFP程序设计教程习题答案_第2页
VFP程序设计教程习题答案_第3页
VFP程序设计教程习题答案_第4页
VFP程序设计教程习题答案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章1. 试说明数据与信息的区别和联系。数据是人们用于记录事物情况的物理符号。信息是数据中所包含的意义。数据与信息既有区别,又有联系。数据是表示信息的,但并非任何数据都能表示信息,信息只是加工处理后的数据,是数据所表达的内容。另一方面信息不随表示它的数据形式而改变,它是反映客观现实世界的知识,而数据则具有任意性,用不同的数据形式可以表示同样的信息,信息只是加工处理后的数据,是数据所表达的内容。2. 什么是数据库、数据库管理系统和数据库系统? 数据库是在数据库管理系统的集中控制之下,按一定的组织方式存储起来的、相互关联的数据集合。 数据库管理系统(Database Management Sys

2、tem,DBMS)是对数据进行统一的控制和管理,从而可以有效地减少数据冗余,实现数据共享,解决数据独立性问题,并提供统一的安全性、完整性和并发控制功能的系统软件。数据库系统是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息服务的系统。3. 简述数据库的三级模式结构。为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、模式和内模式。模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描

3、述,是所有用户的公共数据视图(全局视图)。外模式又称子模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述。4. 数据库系统的特点是什么?特点是数据共享,减少数据冗余,具有较高的数据独立性,增强了数据安全性和完整性保护。5. 实体之间的联系有哪几种?分别举例说明。(1) 一对一联系(11) 例如,一所学校只有一个校长,一个校长只在一所学校任职,校长与学校之间的联系是一对一的联系。(2) 一对多联系(1n) 例如,一所学校有许多学生,但一个学生只能就读于一所学校,所以学校和学

4、生之间的联系是一对多的联系。(3) 多对多联系(mn) 例如,一个读者可以借阅多种图书,任何一种图书可以为多个读者借阅,所以读者和图书之间的联系是多对多的联系。6. 数据库有哪几种常用的数据模型?Visual FoxPro属于哪一类? 在数据库系统中,常用的数据模型有层次模型、网状模型和关系模型3种。Visual FoxPro是一种基于关系模型的关系数据库管理系统。7.以某种应用目的为背景,试设计一个数据库。 我们以图书馆借书应用为例设计一个最简单的数据库,主要是包括以下几个关系学生关系,图书关系,借书关系,每个关系对应与数据库里面的一个表。那么学生表应该包括(学号,姓名,专业,年龄等属性),

5、图书表应该包括(图书号,图书名,作者名,出版社等属性),这两个表是通过借书关系来实现多对多的联系的,那么借书表主要包括(学号,图书号等)。8.关系数据库管理系统的3种基本关系运算是什么?关系运算主要有选择、投影和联接3种。9. 试述外部关键字的概念和作用。外部关键字是否允许为空值,为什么?如果关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,则称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。如果该外部关键字不是该关系的主关键字那么根据参照完整性规则,该外部关键字可以是空值,否则如果该外部关键字也是该关系的主关键字则根据参照完整性规则不能是空值。10.

6、 数据库系统的体系结构有哪几种?常见的数据库开发工具有哪些? 数据库系统的体系结构大体上分为4种模式:单用户模式、主从式多用户模式、客户机/服务器模式(Client/Server,C/S)和Web浏览器/服务器模式(Browser/Server,B/S)。 目前,一些专有数据库厂商都提供了数据库编程工具,如Sybase的Power+、Oracle的Developer 2000等,但比较流行的还是Delphi、Visual Basic、PowerBuilder等通用语言,这几个开发工具各有所长、各具优势。第二章1. 如何启动与退出Visual FoxPro?Visual FoxPro 6.0的启

7、动与Windows环境下其他软件一样,有3种常见方法:(1) 在Windows桌面上单击“开始”按钮,选择“程序”选项,单击“Microsoft Visual Studio 6.0”组中的“Microsoft Visual FoxPro 6.0”选项。(2) 运行Visual FoxPro 6.0系统的启动程序vfp6.exe。通过“我的电脑”或“资源管理器”去查找这个程序,然后双击它。或单击“开始”按钮,选择“运行”选项,在弹出的“运行对话框”中输入Visual FoxPro 6.0启动程序的文件名,单击“确定”按钮。(3) 在Windows桌面上建立Visual FoxPro 6.0系统的

8、快捷方式图标,只要在桌面上双击该图标即可启动Visual FoxPro。 退出Visual FoxPro有5种常用的方法:(1) 在Visual FoxPro“文件”菜单项下,选择“退出”菜单项;(2) 在Visual FoxPro命令窗口输入QUIT命令并回车;(3) 单击Visual FoxPro主窗口右上角的“关闭”按钮;(4) 单击Visual FoxPro主窗口左上角的控制菜单图标,从弹出的菜单中选择“关闭”,或者双击控制菜单图标;(5) 同时按Alt和F4键。2. 简述Visual FoxPro用户界面的组成与特点。 Visual FoxPro的用户界面由Visual FoxPro

9、系统菜单、工具栏、命令窗口和状态栏等构成。Visual FoxPro用户界面的最大的特点就是界面简单且灵活。3. Visual FoxPro有几种操作方式?各有何特点? Visual FoxPro有三种操作方式,菜单操作方式,命令操作方式,程序工作方式。菜单操作的优点是直观易懂,击键简单(主要是鼠标单击和双击),对于不熟悉Visual FoxPro命令、又没有或不想花时间去学习它的最终用户十分适合。命令操作方式相对而言速度更加快并且效率高。Visual FoxPro除了提供菜单操作方式、命令操作方式外,还提供程序工作方式。程序由命令或语句组成。通过运行程序,为用户提供更简洁的界面,达到操作的目

10、的。4. 对话框的作用是什么?它通常包括哪些控制对象? 对话框实际上是一个特殊的窗口,它可以用来要求用户输入某些信息或做出某些选择,在Visual FoxPro 6.0中,对话框通常由文本框、列表框、单选按钮、复选框、命令按钮等部件组成。5. 简述Visual FoxPro的可视化设计工具。 Visual FoxPro 6.0提供了多种可视化设计工具,使用它的各种向导(Wizard)、设计器(Designer)和生成器(Builder)可以更简便、快速、灵活地进行应用程序开发。1. Visual FoxPro向导 Visual FoxPro系统为用户提供许多功能强大的向导。用户通过系统提供的向

11、导设计器,不用编程就可以创建良好的应用程序界面并完成许多对数据库的操作。2. Visual FoxPro设计器 Visual FoxPro系统提供的设计器,为用户提供了一个友好的操作界面。利用各种设计器使得创建表、数据库、表单、查询以及报表等操作变得轻而易举。3. Visual FoxPro生成器 Visual FoxPro系统提供的生成器,可以简化创建和修改用户界面程序的设计过程,提高软件开发的质量。6. 完成下列操作:(1) 隐藏与激活“命令窗口”; 可以通过工具栏上的命令窗口图标来选择隐藏与激活“命令窗口”。(2) 求表达式(3-5.1)*3.14159/14的值; 在命令窗口输入(3-

12、5.1)*3.14159/14,然后回车执行得到结果-0.(3) 设置默认目录; 可以在工具菜单的选项对话框里面的文件位置选项卡里设置默认目录。(4) 创建名为“我的工具栏”的工具栏; 在操作过程中,用户可以随时创建一个适合于自己工作需要的新工具栏。创建名为“我的工具栏”的操作步骤如下:(1) 单击“显示”菜单项,选择“工具栏”选项,在“工具栏”对话框下单击“新建”按钮,出现如图2.5所示的“新工具栏”对话框。(2) 输入新工具栏名称,输入“我的工具栏”,并单击“确定”按钮,出现如图2.6所示的“定制工具栏”对话框,与此同时,在屏幕窗口上也出现了“我的工具栏”工具栏。(3) 在“定制工具栏”对

13、话框的最左边是“分类”列表框,选择该列表框中的任何一类,其右侧便显示该类的所有按钮。(4) 用户可根据需要选择分类中的某一类,并在该分类中选择按钮,当选中了某一个按钮后,用鼠标器将其拖动到“我的工具栏”工具栏下即可。(5) 查询LIST命令的帮助信息。 首先是通过在命令窗口执行help命令来打开帮助窗口,然后选择“搜索”项,在组合框中输入“LIST”,再自己查找相关标题即可。第三章1. 简述Visual FoxPro的数据类型。 Visual FoxPro中的数据类型包括以下几种:1. 字符型,2. 数值型,3. 货币型,4. 日期型,5. 日期时间型,6. 逻辑型,7. 备注型,8. 通用型

14、,9. 二进制字符型和二进制备注型。2. 字段变量与内存变量有何区别?字段变量就是表中的字段名,它是表中最基本的数据单元。字段变量是一种多值变量,一个表有多少条记录,那么该表的每一字段就有多少个值,当用某一字段名作变量时,它的值就是表记录指针所指的那条记录对应字段的值。内存变量独立于表,是一种临时工作单元,它是一种单值变量。可以用内存变量名直接访问内存变量。3. 下列数据哪些是变量?哪些是常量?是什么类型的常量?姓名,.F.,98/07/21,教授,1E2,T 其中 T和教授是变量其它是常量,姓名和是字符常量,.F.是逻辑常量,98/07/21是数值型常量。4. 求下列表达式的值。(1) LE

15、N(DTOC(DATE() :8(2) STUFF(现代教育中心,5,0,LEFT(技术中心,4):“现代技术教育中心”(3) VARTYPE(08/23/03):N(4) SPACE(5)-SPACE(5): 空字符串(5) PRO$FoxPro AND 10090:.F.5. 针对学生表,写出下列条件:(1) 入学成绩高于600分的学生;入学成绩=600(2) 年龄大于18岁但小于25岁的学生;YEAR(DATE()-YEAR(出生日期)=18(3) 少数民族的男生;性别=男 and 少数民族=.T.(4) 在1985年1月1日至1983年12月31日之间出生的学生;出生日期=12/31/

16、1983 and 出生日期=600 and 少数民族=.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/27. 分析下列命令执行后的输出结果,并上机验证。(1) X=STR(13.4,4,1) Y=RIGHT(X,3)Z=&Y+&X?&Z,Z16.80 3.4+13.4(2) DIMENSION A(2,3)

17、 A=175 A(2,2)=2*A(2,2)?A(5),A(1,2)350 175(3) X=542Y=INT(542/100)Z=X%10? Z*100+Y205(4) SET EXACT ONCH=数据库应用CH1=CH=LEFT(CH,6)?CH1,CH.F. 数据库应用第四章1. 什么是自由表?什么是数据库表?属于某一数据库的表称为数据库表,不属于任何数据库而独立存在的表称为自由表。2. 一个表有3个备注型字段,该表有多少个备注文件?一个备注文件。3. 在设计学生表时,可否将学生“性别”字段定义为逻辑型字段?这和定义为字符型字段有何区别?若定义为数值型呢? 可以将“性别”字段定义为逻辑

18、型字段因为逻辑型字段只有两个取值,可以用.T.代表男.F.代表女,定义为字符型也可以只要输入数据的时候保证只能输入“男”和“女”就可以。定义为数值型也可以,比如可以用1代表男2代表女。4. 修改表的结构有哪些方法?它们有何区别? 有两中方法第一种是先打开表,然后在命令窗口输入modify structure 命令打开表设计器来修改表的结构。第二中方法是先打开表然后在视图菜单中打开表设计器来对表的结构进行修改,这两中方法的实质都是用表设计器来修改表的结构,不同的只是打开表设计器的方法不同而已。5. 如何对浏览窗口进行分割?如何设置同步?如何设置数据显示方式? 浏览窗口左下角有一黑色小方块,可用于

19、窗口的分割。用鼠标将小方块向右拖动,便可把窗口分为两个分区。两个分区显示同一表的内容。 分区后同一记录可以在两个分区同时看到。“表”菜单项中的链接分区命令可以选择恢复或者解除这种同步(消除该命令前的“”)。浏览窗口中的数据有浏览和编辑两种显示方式,用“显示”菜单中的“编辑”命令(在浏览方式时)或“浏览”命令(在编辑方式时)可在两种显示方式之间切换。6. DISPLAY和LIST命令有何异同? 两个命令的作用基本相同,区别仅在于LIST是连续显示,当显示的内容超过一屏时,自动向上滚动,直到显示完成为止。DISPLAY是分屏显示,显示满屏时暂停,待用户按任一键后继续显示后面的内容。7. 一个表用Z

20、AP命令删除后,该表还存在吗? 该命令与DELETE和PACK有何异同? 一个表用ZAP命令删除后该表还存在只不过表中的记录没有了。而delete命令只是逻辑删除表中的某些记录并没有实际删除还可以恢复。而pack命令是物理删除那些被逻辑删除的记录不能恢复。8. 排序与索引有何区别?索引有哪几种?如何建立索引文件?排序是改变表中记录的实际物理顺序,而索引是为该表建立一个索引文件设置一个逻辑顺序,索引可分为下列4种类型:主索引,候选索引,惟一索引,普通索引。建立索引文件有两种方法:1. 用命令建立索引,2. 在表设计器中建立索引。9. 在已打开的表中有“姓名”字段,此外又定义了一个内存变量“姓名”

21、。要把内存变量“姓名”的值赋给当前记录的“姓名”字段,应使用什么命令? 姓名=m.姓名10. 设txl.dbf有10条记录,在命令窗口执行下列命令后,表的当前记录是什么?USE txlGO 5LIST NEXT 3SKIP 2 第6条记录。11. 在不同工作区之间切换用什么命令?如何访问别的工作区中的表?可以用 SELECT 工作区号别名0 命令来在不同的工作区之间切换。在当前工作区中可以访问其他工作区中的表的数据,但要在非当前表的字段名前加上别名和连接符,引用格式为:别名.字段名或别名-字段名12. 什么叫关联?如何建立关联? 所谓关联,就是当前表记录指针的移动,能引起别的表按某种条件相应地

22、移动记录指针。建立关联后,称当前表为主文件,与主文件建立关联的表为子文件。 建立一对一的关联可以用命令:SET RELATION TO 关联表达式1 INTO 工作区号1别名1建立一对多的关联可以用命令:SET SKIP TO 别名1,别名213. 就学生表,写出实现下列操作的命令:(1) 显示第5号记录;go 5 display (2) 显示第5号至第10号之间的全部记录;go 5list next 6(3) 连续列出1980年以后出生的学生的姓名与出生年月;list for year(出生日期)=1980 fields 姓名,出生年月(4) 显示在1985年1月1日至1983年12月31日

23、之间出生的学生记录;list for 出生年月=12/31/1983 and 出生年月=01/01/1985(5) 在表的顶部增加一个新记录;go topinsert before(6) 修改最后一个记录;go bottom edit(7) 将16岁以下的少数民族学生入学成绩提高20分;replace 入学成绩 with 入学成绩+20 for year(date()-year(出生年月)=16 and 少数民族=.t.(8) 将学生表原样复制为xsda.dbf,并物理删除xsda.dbf中记录号为偶数的记录;copy to xsda.dbfdelete for int(recn()/2)=r

24、ecn()/2(9) 显示入学成绩前5名的记录;index on 入学成绩 list next 5(10) 统计1985年出生学生的人数,并把它存入变量number中;count for year(出生年月)=1985 to number(11) 分别求男、女学生的平均年龄;average for 性别=男average for 性别=女(12) 查找并显示出第一位少数民族学生;locate for 少数民族=.t.display(13) 建立一个结构复合索引文件,其中包括两个索引:记录以学号降序排列;记录按出生年月升序排列;index on 学号 tag a descindex on 出生年

25、月 tag b(14) 查询年龄最小和最大的学生;calculate min(出生年月) to adisplay for 出生年月=acalculate max(出生年月)=bdisplay for 出生年月=b(15) 按性别对入学成绩进行汇总。index on 性别 tag ctotal on 性别 fields 入学成绩 to xbhz14. 按图1.5建立选课表,然后通过“学号”索引建立学生表与选课表之间的关联,分别在一对一和一对多关联下显示学号、姓名、课程号和成绩,分析输出结果的差异。 第五章1. 什么是永久关系?如何设置表间的永久关系?表之间的永久联系是基于索引建立的一种永久关系,

26、这种联系被作为数据库的一部分而保存在数据库中。 建立永久关系的操作方法是:在数据库设计器对话框,首先,用鼠标左键选中父表中的主索引字段,保持按住鼠标左键,并拖至与其建立联系的子表中的对应字段处,再松开鼠标左键,数据库中的两个表间就有了一个连线,其永久关系就已建立完成。2. 设置字段的显示标题、字段的注释信息、字段的默认值、字段的有效规则会给数据库中表的操作带来什么好处?(1) 数据库表可以使用长表名和长字段名;(2) 可以为数据库表中的字段指定标题和添加注释;(3) 可以为数据库表的字段指定默认值和输入掩码;(4) 数据库表的字段有默认的控件类;(5) 可以为数据库表规定字段级规则和记录级规则

27、;所有这些都是为了能够让用户更方便的输入数据,减少数据出错的几率,并且保证数据的完整性。3. 字段级规则和记录级规则有何区别?如何设置? 字段有效性用于对当前字段输入数据的有效性、合法性进行检验。记录有效性验证指建立一规则对同一记录中不同字段之间的逻辑关系进行验证。这两种规则都可以在表设计器里面来进行设置。4. 触发器有哪几种?各有什么作用?触发器包括插入触发器、更新触发器和删除触发器。这些触发器用于保证当对数据库表进行插入(包括追加)、更新和删除时,不会违反那些已经设置好的有效性规则,只有当规则成立时才能进行相应操作。主要是用于保证记录和数据的完整性。5. 订货管理数据库有4个表:仓库(仓库

28、号,城市,面积)职工(仓库号,职工号,工资)订购单(职工号,供应商号,订购单号,订购日期)供应商(供应商号,供应商名,地址)各个表的记录实例为:仓库表 职工表仓库号职工号工资WH2E11220WH1E31210WH2E41250WH3E61230WH1E71250仓库号城市面积WH1北京370WH2上海500WH3广州200WH4武汉400订购单表职工号供应商号订购单号订购日期E3S7OR672003/06/23E1S4OR732003/07/28E7S4OR762003/05/25E6NULLOR77NULLE3S4OR792003/06/13E1NULLOR80NULLE3NULLOR90

29、NULLE3S3OR912003/07/13供应商表供应商号供应商名地址供应商号供应商名地址S3振华电子厂西安S6607厂郑州S4华通电子公司北京S7爱华电子厂北京(1) 建立订货数据库;(2) 在数据库中建立所有的表,并输入记录数据;(3) 建立表的索引;(4) 建立表间关系;(5) 设置表的参照完整性。第六章1. 简述SQL语言的功能及特点。SQL是Structured Query Language(结构化查询语言)的缩写。查询是SQL语言的重要组成部分,但不是全部,SQL还包含数据定义、数据操作和数据控制功能等部分。SQL语言具有如下特点:(1) SQL是一种一体化的语言。(2) SQL

30、语言是一种高度非过程化的语言。(3) SQL语言非常简洁。SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式(4) 使用。2. 利用第5章习题中给出的订货管理数据库和记录实例,用SQL语句完成下列操作:(1) 列出在北京的供应商的名称;select 供应商名 from 供应商表 where 地址= 北京(2) 列出发给供应商S6的订购单号;select 订购单号 from 订购单表 where 供应商号=S6(3) 列出职工E6发给供应商S6的订购单信息;select * from 订购单表 where 职工号=E6 and 供应商号=S6(4) 列出向供应商S3发过订

31、购单的职工的职工号和仓库号;select 职工号,仓库号 from 职工表 where 订购单表.供应商号=S3 and 订购单表.职工号=职工表.职工号(5) 列出和职工E1、E3都有联系的北京的供应商信息;select b.供应商号 ,供应商名,地址 from 订购单表 a ,供应商表 b ,订购单表 c where a.供应商号=b.供应商号 and b.供应商号=c.供应商号 and a.职工号=E1 and c.职工号=E3 and 地址=北京(6) 列出与工资在1220元以下的职工没有联系的供应商的名称;select 供应商号,供应商名 from 供应商表 where not(供应

32、商号 in(select 供应商号 from 订购单表 where 订购单表.职工号=职工表.职工号 and 职工表.工资1230(10) 列出仓库的个数;select count(*) from 仓库表(11) 列出有最大面积的仓库信息;select * from 仓库表 where 面积=(select max(面积) from 仓库表)(12) 列出所有仓库的平均面积;select avg(面积) as 平均面积 from 仓库表(13) 列出每个仓库中工资多于1 220元的职工个数;select 仓库号 ,count(*) from 职工表 group by 仓库号 where 工资1

33、220(14) 列出和面积最小的仓库有联系的供应商的个数;select count(a.供应商号) from 订购单表 a ,职工表 b ,仓库表 c where a.职工号=b.职工号 and b.仓库号=c.仓库号 and c.面积=(select min(面积) from 仓库表)(15) 列出工资低于本仓库平均工资的职工信息。select * from 职工表 a where a.工资(select avg(b.工资) from 职工表 b where a.仓库号=b.仓库号)3. 利用第5章习题中给出的订货管理数据库和记录实例,用SQL语句完成以下操作:(1) 插入一个新的供应商记录

34、(S9,智通公司,沈阳); insert into 供应商表 (供应商号,供应商名,地址) values(S9,智通公司,沈阳)(2) 删除目前没有任何订购单的供应商; delete from 供应商表 where not(供应商号 in (select distinct 供应商号 from 订购单表)(3) 删除由在上海仓库工作的职工发出的所有订购单; delete from 订购单表 where 订购单表.职工号=职工表.职工号 and 职工表.仓库号=仓库表.仓库号 and 仓库表.城市=上海(4) 给北京仓库的面积增加100 m2; update 仓库表 set 面积=面积+100 w

35、here 城市=北京(5) 给低于所有职工平均工资的职工的工资提高10%。update 职工表 set 工资=工资*1.1 where 工资(select avg(工资) from 职工表)第七章1.查询设计器有“字段”、“联接”、“筛选”、“排序依据”、“分组依据”、“杂项”等6个选项卡,简要说明这6个选项和SQL.SELECT命令中各子句的对应关系。(1).字段。在“字段”选项卡设置查询结果中要包含的字段,对应于SELECT命令中的输出字段。(2).联接。如果要查询多个表,可以在“联接”选项卡中设置表间的联接条件,对应于JOIN.ON子句。(3).筛选。在“筛选”选项卡中设置查询条件,对应

36、于WHERE子句。(4).排序依据。在“排序依据”选项卡中指定排序的字段和排序方式,对应于ORDER.BY子句。(5).分组依据。在“分组依据”选项卡中设置分组条件,对应于GROUP.BY子句和HAVING子句。(6).杂项。在“杂项”选项卡中设置有无重复记录以及查询结果中显示的记录数等。2. 用户浏览信息时,总是希望在一个界面中能为其提供完整而充分的信息,但在设计表时,往往从数据规范性与用户需求的多样与随机性等方面考虑难以完全按照显示界面设计表。以一个实例简要说明怎样使用视图解决这一矛盾。用户的需求是多样的,而我们设计数据库的时候却只能从数据库的规范性和完整性出发,比如可能用户在浏览一个信息

37、的时候,这些信息却分布在不同的表中,但这并不妨碍我们提供这样的服务,我们可以通过VF提供的试图设计器来设计出一个视图来满足用户的需求。这样既能满足数据库设计的要求又可以满足用户的多样性的要求。例如在前面提及的学生管理数据库中的选课表,对于一般用户来讲,是无法使用的,因为学号和课程号都是采用代码方式,所以有必要使用视图方式进行透明性操作。希望在操作过程中看到学号时,知道其学生名字,看到课程号时,知道其课程名称。我们可以设计出一个视图来满足用户的需求,显示学生姓名、课程名及成绩。这里的姓名、课程名及成绩等信息分布于学生、课程、选课等3个表中,故要建立一个以这3个数据表为源表的视图。具体的步骤见书1

38、23-124页。3.对学生管理数据库,分别建立以下查询:(1).查询学生表中的全部信息;(2).查询非湖南籍的学生名单;(3).查询全部学生的如下信息:学号、姓名、课程名、成绩、入学成绩;(4).查询每个省的学生人数,并将结果以条形图形式显示;(5).以降序显示每门课程的平均成绩,要求显示课程名称和平均成绩两个数据项。4.对学生管理数据库,分别建立以下视图:(1).为学生选课建立一个视图,要求包含课程号、课程名、学分、任课教师的姓名及职称等信息;(2).为用人单位建立一个视图,要求包含学生的姓名、性别、出生日期、籍贯、所修课程的名称、学习成绩;(3).为学校人事部门建立一个视图以帮助其掌握教师

39、教学基本情况,要求包括教师编号,姓名,职称,担任授课的课程编号、名称、学分等信息;(4).为学生办公室建立一个浏览学生考试成绩的视图,要求包含全部学生的基本信息和课程号、课程名称、成绩,所有数据只能浏览,不能修改。第八章1.简述项目管理器的主要功能。 Visual.FoxPro的项目是文件、数据、文档和对象的集合, “项目管理器”是Visual.FoxPro中处理数据和对象的主要组织工具,在建立表、数据库、查询、表单、报表以及应用程序时,可以用“项目管理器”来组织和管理文件。2.项目管理器有几个选项卡?每个选项卡的作用是什么?项目管理器有6个选项卡,它们分别是:“全部”、“数据”、“文档”、“

40、类”、“代码”和“其他”,每个选项卡用于管理某一类型文件。1.“数据”选项卡该选项卡包含了一个项目中的所有数据:数据库、自由表、查询和视图。2.“文档”选项卡该选项卡中包含了处理数据时所用的全部文档,即输入和查看数据所用的表单,以及打印表和查询结果所用的报表及标签。3.“类”选项卡该选项卡显示和管理由类设计器建立的类库文件。4.“代码”选项卡该选项卡包含了用户的所有代码程序文件:程序文件、API库文件、应用程序等。5.“其他”选项卡该选项卡显示和管理下列文件:菜单文件、文本文件、由OLE等工具建立的其他文件(如图形、图像文件)。6.“全部”选项卡该选项卡显示和管理以上所有类型的文件。3.项目管

41、理器有哪些常用的命令按钮?它们的作用是什么?项目管理器中有以下命令按钮:1.“新建”按钮创建一个新文件或对象,新文件或对象的类型与当前所选定的类型相同。此按钮与“项目”菜单的“新建文件”命令的作用相同。注意:“文件”菜单中的“新建”命令可以新建一个文件,但不会自动包含在项目中。而使用项目管理器中的“新建”命令按钮,或“项目”菜单中的“新建文件”命令,建立的文件会自动包含在项目中。2.“添加”按钮把已有的文件添加到项目中。此按钮与“项目”菜单中的“添加文件”命令的作用相同。3.“修改”按钮在相应的设计器中打开选定项进行修改,例如可以在数据库设计器中打开一个数据库进行修改。此按钮与“项目”菜单中“

42、修改文件”命令作用相同。4.“浏览”按钮在“浏览”窗口中打开一个表,以便浏览表中内容。此按钮与“项目”菜单中“浏览文件”命令作用相同。5.“运行”按钮运行选定的查询、表单或程序。此按钮与“项目”菜单中“运行文件”命令作用相同。6.“移去”按钮从项目中移去选定的文件或对象。Visual.FoxPro将询问是仅从项目中移去此文件,还是同时将其从磁盘中删除。此按钮与“项目”菜单中的“移去文件”命令的作用相同。7.“打开”按钮打开选定的数据库文件。当选定的数据库文件打开后,此按钮变为“关闭”。此按钮与“项目”菜单中“打开文件”命令作用相同。8.“关闭”按钮关闭选定的数据库文件。当选定的数据库文件关闭后

43、,此按钮变为“打开”。此按钮与“项目”菜单中“关闭文件”命令作用相同。9.“预览”按钮在打印预览方式下显示选定的报表或标签文件内容。此按钮与“项目”菜单中“预览文件”命令作用相同。10.“连编”按钮连编一个项目或应用程序,还可以连编一个可执行文件。此按钮与“项目”菜单中“连编”命令作用相同。4.建立一个项目文件,定制项目管理器。5.建立一个项目文件,向该项目添加已经建立的有关文件。6.建立一个项目文件,在项目管理器中新建、修改和浏览表。第九章1.写出下列程序的执行结果。(1).CLEARSET.TALK.OFF.x=10y=-3FOR.n=29+x.TO.x.STEP.yENDFOR?.nRE

44、TURN9(2).主程序:t1.prgSET.TALK.OFFSTORE.AB.TO.k1,k2DO.t2?.k1+k2RETURN子程序:t2prgPRIVATE.k1k1=k2+250?.k1RETURN.“AB250”“ABAB”(3).SET.TALK.OFFCLEARSTORE.1.TO.xSTORE.20.TO.yDO.WHILE.x=yIF.INT(x/2)x/2x=1+x2y=y+1LOOPELSEx=x+1ENDIFENDDO?.x,ySET.TALK.ONRETURN.122.00 23(4).主程序:z.prgSET.TALK.OFFSTORE.2.TO.x1,x2,x3

45、x1=x1+1DO.z1?.x1+x2+x3RETURN子程序:z1prgx2=x2+1DO.z2x1=x1+1RETURN子程序:z2prgx3=x3+1RETURN.TO.MASTER.9(5).SET.TALK.OFFx=15y=7DO.sub.WITH.x,(y)?.x,yRETURNPROCEDURE.subPARAMETERS.a,ba=a+bb=a-bRETURN.(6).SET.TALK.OFFx=9y=13z=fu(x,y)?.zRETURNFUNCTION.fuPARAMETERS.a,ba=a*bRETURN.(a).1172.输入一个三位整数,将其反向输出。如输入326

46、,输出623。set talk offinput 请输入一个三位数 to ab=100*mod(a,10)+10*mod(int(a/10),10)+mod(int(a/100),10)?breturn3.输入学生成绩,若成绩大于80分,则输出“优良”,成绩小于60分,则输出“不及格”,否则输出“中等”。set talk offinput 请输入学生成绩 to aif a80 ?优良else if a40 a=a+f1 endif if f240 a=a+f2 endif continueenddogo topf2=ausereturn6.一个自然数是素数,且它的数字位置经过任意对换后仍为素数

47、,则称为绝对素数,例如13就是一个绝对素数。试求所有两位绝对素数。set talk offfor m=11 to 99 n=mod(m,10)*10+mod(int(m/10),10) if check(m) and check(n) ?m endifendforfunction checkparameters aflag=.t.k=int(sqrt(a)j=2do while j=k and flag if mod(a,j)=0 flag=.F. endif j=j+1enddoreturn flag7.用过程方式求S=A!+B!+C!(其中A,B,C从键盘输入)。set talk offi

48、nput 请输入第一个数到A to ainput 请输入第一个数到B to binput 请输入第一个数到C to c?S=A!+B!+C!=,ss(a)+ss(b)+ss(c)function ssparameter nm=1for i=1 to n m=m*iendforreturn mreturn8.根据题目要求完善程序。(1).通过字符串操作竖向显示“伟大祖国”,横向显示“祖国伟大”。SET.TALK.OFFSTORE.伟大祖国.TO.varCLEARn=1DO.WHILE.n8?.SUBSTR()n=n+2ENDDO?.()?.SUBSTR(var,1,4)RETURN var,n,

49、n+1 substr(var,5,8)(2).对学生表,按入学成绩降序显示前10名和按升序显示后10名学生的入学成绩。SET.TALK.OFFUSE.学生INDEX.ON.入学成绩.TAG.cjsy.DESCn=1CLEAR1,20.SAY.前十名成绩:DO.WHILE.n=10DISPn=n+1() continueENDDOWAIT.CLEAR1,20.SAY.后十名成绩:n=1() go bottomDO.WHILE.n=10DISPn=n+1SKIP.-1ENDDOUSESET.TALK.ONRETURN.Continuego bottom第十章1.名词解释:类、子类、对象、事件、方法

50、、属性。类(Class)是具有相同属性特征和行为规则的多个对象的一种统一描述。子类用来模拟现实世界中的类的层次问题,子类将继承其父类的全部特征和方法程序,当然,在子类中可以对这些继承的特征和方法程序进行修改,以对该子类进行更准确的模拟。对象是对现实世界中实体的一种模拟工具,是类的实例。事件是由外部实体作用在对象上的一个动作。在面向对象方法中,事件是驱动蕴涵在对象中的程序的引擎,一个事件有一个事件名,且与一个事件响应程序(方法程序)相关联,当作用在一个对象上的事件发生时,与这个事件相关联的程序就获得一次运行。属性(Property)是模拟所描述实体的静态特征。方法(Method)是模拟实体对一些

51、事件(Event)的反映。2.对象与类有什么相同点和不同点? 对象和类都是用来描述现实世界中存在的一些实体,对象用来模拟那些具体的实体,而类描述的是这些实体所共有的一些特征与属性。例如我们用人这个类来描述所有现实世界中存在的人的共性,而对象是用来描述那些具体存在的人,如张三,李四。3.容器类与控件类有哪些差别?引用容器中的对象时应注意哪些问题?Visual.FoxPro的基类分成容器类和控件类,容器类可以包含其他对象,并且允许访问这些对象。控件类不能容纳其他对象,它没有容器类灵活。在调用容器中某一特定对象时要掌握面向对象方法中对象的标识方法。要注意以下几点1.容器类中对象的层次,2.对象局域名,3.几个代词的用法。4.创建类有哪些方法?各有什么特点? 创建类有两种方法用程序方法设计类与用可视化方法设计类,用程序方法设计类这种方法相对比较复杂但也较灵活。用可视化方法设计类这种方法相对比较方便易操作。5.用CreateObject()命令建立一个表单,并在表单中加入一个标签对象,标签的Caption属性设置为“我的第一个表单”。6.用可视化方法设计一个由命令按钮派生的子类,并为其加入一个属性Number,为该子类设计两个事件程序Cli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论