1、vf程序设计课后答案vf程序设计课后答案【篇一:vfp数据库程序设计基础课后作业(三)参考答案】 一、根据题目要求,对进行books.dbf进行数据统计,写出相应的vfp命令 1、统计类别为“计算机”的图书共有几种。 use c:documents and settingsadministrator桌面 books.dbf count all for 类别=计算机 to x ?x 2、统计所有书籍的平均页数。 average 页数 to x 3、统计高等教育出版社出版的图书的价格总和。 sum 价格 for 出版单位=高等教育出版社 4、统计会计类图书价格最高是多少,最低是多少? calcul
2、ate max(价格),min(价格) for 类别=会计 二、根据题目要求,编写vfp程序 1、编写一个程序,根据输入的长方形的长和宽,计算长方形的周长和面积。 clear local c,s input 请输入长方形的长: to x input 请输入长方形的宽: to y c=2*(x+y) s=x*y ?长方形的周长为:,c ?长方形的面积为:,s 例1:设计程序先用xxxx年xx月xx日显示当前日期的年月日,再用星期x显示星期,然后用xx时xx分xx秒显示当前时间(共分三行显示)。 ?alltrim(str(year(date()+年+ alltrim(str(month(date(
3、)+月+ alltrim(str(day(date()+日 ?cdow(date() ?alltrim(str(hour(datetime()+时+ alltrim(str(minute(datetime()+分+ alltrim(str(sec(datetime()+秒 3、编写一个程序,程序的功能是根据5个评委所给分数,计算并输出“最后得分”,具体计算方法是去掉一个最高分、去掉一个最低分,再对其余得分求平均。 clear local df input 1号评委给分: to x1 input 2号评委给分: to x2 input 3号评委给分: to x3 input 4号评委给分: to
4、 x4 input 2号评委给分: to x5 df =(x1+x2+x3+x4+x5)-max(x1,x2,x3,x4,x5)-min(x1,x2,x3,x4,x5)/3 ?最后得分:,df【篇二:vf程序设计教程题及答案】明数据与信息的区别和联系。 数据是人们用于记录事物情况的物理符号。信息是数据中所包含的意义。数据与信息既有区别,又有联系。数据是表示信息的,但并非任何数据都能表示信息,信息只是加工处理后的数据,是数据所表达的内容。另一方面信息不随表示它的数据形式而改变,它是反映客观现实世界的知识,而数据则具有任意性,用不同的数据形式可以表示同样的信息,信息只是加工处理后的数据,是数据所表
5、达的内容。 2. 什么是数据库、数据库管理系统和数据库系统? 数据库是在数据库管理系统的集中控制之下,按一定的组织方式存储起来的、相互关联的数据集合。 数据库管理系统(database management system,dbms)是对数据进行统一的控制和管理,从而可以有效地减少数据冗余,实现数据共享,解决数据独立性问题,并提供统一的安全性、完整性和并发控制功能的系统软件。 数据库系统是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息服务的系统。 3. 简述数据库的三级模式结构。 为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设计了一个严谨的体系结构,数据库
6、领域公认的标准结构是三级模式结构,它包括外模式、模式和内模式。 模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数 据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。外模式又称子模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述。 4. 数据库系统的特点是什么? 特点是数据共享,减少数据冗余,具有较高的数据独立性,增强了数据安全性和完整性保护。 5. 实体之间的联系有哪几种
7、?分别举例说明。 (1) 一对一联系(11) 例如,一所学校只有一个校长,一个校长只在一所学校任职,校长与学校之间的联系是一对一的联系。 (2) 一对多联系(1n) 例如,一所学校有许多学生,但一个学生只能就读于一所学校,所以学校和学生之间的联系是一对多的联系。 (3) 多对多联系(mn) 例如,一个读者可以借阅多种图书,任何一种图书可以为多个读者借阅,所以读者和图书之间的联系是多对多的联系。 6. 数据库有哪几种常用的数据模型?visual foxpro属于哪一类? 在数据库系统中,常用的数据模型有层次模型、网状模型和关系模型3种。visual foxpro是一种基于关系模型的关系数据库管理
8、系统。 7.以某种应用目的为背景,试设计一个数据库。 我们以图书馆借书应用为例设计一个最简单的数据库,主要是包括以下几个关系学生关系,图书关系,借书关系,每个关系对应与数据库里面的一个表。那么学生表应该包括(学号,姓名,专业,年龄等属性),图书表应该包括(图书号,图书名,作者名,出版社等属性),这两个表是通过借书关系来实现多对多的联系的,那么借书表主要包括(学号,图书号等)。 8.关系数据库管理系统的3种基本关系运算是什么? 关系运算主要有选择、投影和联接3种。 9. 试述外部关键字的概念和作用。外部关键字是否允许为空值,为什么? 如果关系中某个属性或属性组合并非关键字,但却是另一个关系的主关
9、键字,则称此 属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。如果该外部关键字不是该关系的主关键字那么根据参照完整性规则,该外部关键字可以是空值,否则如果该外部关键字也是该关系的主关键字则根据参照完整性规则不能是空值。 10. 数据库系统的体系结构有哪几种?常见的数据库开发工具有哪些? 数据库系统的体系结构大体上分为4种模式:单用户模式、主从式多用户模式、客户机/ 服务器模式(client/server,c/s)和web浏览器/服务器模式(browser/server,b/s)。 目前,一些专有数据库厂商都提供了数据库编程工具,如sybase的power+、oracl
10、e的developer 2000等,但比较流行的还是delphi、visual basic、powerbuilder等通用语言,这几个开发工具各有所长、各具优势。 第二章 1. 如何启动与退出visual foxpro? visual foxpro 6.0的启动与windows环境下其他软件一样,有3种常见方法: (1) 在windows桌面上单击“开始”按钮,选择“程序”选项,单击“microsoft visu al studio 6.0”组中的“microsoft visual foxpro 6.0”选项。 (2) 运行visual foxpro 6.0系统的启动程序vfp6.exe。通过
11、“我的电脑”或“资源管理器”去查找这个程序,然后双击它。或单击“开始”按钮,选择“运行”选项,在弹出的“运行对话框”中输入visual foxpro 6.0启动程序的文件名,单击“确定”按钮。 (3) 在windows桌面上建立visual foxpro 6.0系统的快捷方式图标,只要在桌面上双击该图标即可启动visual foxpro。 退出visual foxpro有5种常用的方法: 1 (1) 在visual foxpro“文件”菜单项下,选择“退出”菜单项; (2) 在visual foxpro命令窗口输入quit命令并回车; (3) 单击visual foxpro主窗口右上角的“关闭
12、”按钮; (4) 单击visual foxpro主窗口左上角的控制菜单图标,从弹出的菜单中选择“关闭”,或者双击控制菜单图标; (5) 同时按alt和f4键。 2. 简述visual foxpro用户界面的组成与特点。 visual foxpro的用户界面由visual foxpro系统菜单、工具栏、命令窗口和状态栏等构成。visual foxpro用户界面的最大的特点就是界面简单且灵活。 3. visual foxpro有几种操作方式?各有何特点? visual foxpro有三种操作方式,菜单操作方式,命令操作方式,程序工作方式。菜单操作的优点是直观易懂,击键简单(主要是鼠标单击和双击),
13、对于不熟悉visual foxpro命令、又没有或不想花时间去学习它的最终用户十分适合。命令操作方式相对而言速度更加快并且效率高。visual foxpro除了提供菜单操作方式、命令操作方式外,还提供程序工作方式。程序由命令或语句组成。通过运行程序,为用户提供更简洁的界面,达到操作的目的。 4. 对话框的作用是什么?它通常包括哪些控制对象? 对话框实际上是一个特殊的窗口,它可以用来要求用户输入某些信息或做出某些选择,在visual foxpro 6.0中,对话框通常由文本框、列表框、单选按钮、复选框、命令按钮等部件组成。 5. 简述visual foxpro的可视化设计工具。 visual f
14、oxpro 6.0提供了多种可视化设计工具,使用它的各种向导(wizard)、设计 器(designer)和生成器(builder)可以更简便、快速、灵活地进行应用程序开发。 1. visual foxpro向导 visual foxpro系统为用户提供许多功能强大的向导。用户通过系统提供的向导设计器,不用编程就可以创建良好的应用程序界面并完成许多对数据库的操作。 2. visual foxpro设计器 visual foxpro系统提供的设计器,为用户提供了一个友好的操作界面。利用各种设计器使得创建表、数据库、表单、查询以及报表等操作变得轻而易举。 3. visual foxpro生成器 v
15、isual foxpro系统提供的生成器,可以简化创建和修改用户界面程序的设计过程,提高软件开发的质量。 6. 完成下列操作: (1) 隐藏与激活“命令窗口”; 可以通过工具栏上的命令窗口图标来选择隐藏与激活“命令窗口”。 (2) 求表达式(3-5.1)*3.14159/14的值; 在命令窗口输入(3-5.1)*3.14159/14,然后回车执行得到结果-0.471239 (3) 设置默认目录; 可以在工具菜单的选项对话框里面的文件位置选项卡里设置默认目录。 (4) 创建名为“我的工具栏”的工具栏; 在操作过程中,用户可以随时创建一个适合于自己工作需要的新工具栏。创建名为“我的工具栏”的操作步
16、骤如下: (1) 单击“显示”菜单项,选择“工具栏”选项,在“工具栏”对话框下单击“新建”按钮,出现如图2.5所示的“新工具栏”对话框。 (2) 输入新工具栏名称,输入“我的工具栏”,并单击“确定”按钮,出现如图2.6所示的“定制工具栏”对话框,与此同时,在屏幕窗口上也出现了“我的工具栏”工具栏。 (3) 在“定制工具栏”对话框的最左边是“分类”列表框,选择该列表框中的任何一类,其右侧便显示该类的所有按钮。 (4) 用户可根据需要选择分类中的某一类,并在该分类中选择按钮,当选中了某一个按钮后,用鼠标器将其拖动到“我的工具栏”工具栏下即可。 (5) 查询list命令的帮助信息。 首先是通过在命令
17、窗口执行help命令来打开帮助窗口,然后选择“搜索”项,在组合框中输入“list”,再自己查找相关标题即可。 第三章 1. 简述visual foxpro的数据类型。 visual foxpro中的数据类型包括以下几种:1. 字符型,2. 数值型,3. 货币型,4. 日期型,5. 日期时间型,6. 逻辑型,7. 备注型,8. 通用型,9. 二进制字符型和二进制备注型。 2. 字段变量与内存变量有何区别? 字段变量就是表中的字段名,它是表中最基本的数据单元。字段变量是一种多值变量, 一个表有多少条记录,那么该表的每一字段就有多少个值,当用某一字段名作变量时,它的 值就是表记录指针所指的那条记录对
18、应字段的值。 内存变量独立于表,是一种临时工作单元,它是一种单值变量。可以用内存变量名直接访问内存变量。 3. 下列数据哪些是变量?哪些是常量?是什么类型的常量? 姓名,.f.,98/07/21,教授,1e2,5585211,t 其中 t和教授是变量其它是常量,姓名和5585211是字符常量,.f.是逻辑常量,98/07/21是数值型常量。 4. 求下列表达式的值。 (1) len(dtoc(date() :8 (2) stuff(现代教育中心,5,0,left(技术中心,4):“现代技术教育中心” 2 (3) vartype(08/23/03):n (4) space(5)-space(5)
19、: 空字符串 (5) pro$foxpro and 10090:.f. 5. 针对学生表,写出下列条件:(1) 入学成绩高于600分的学生;入学成绩=600 (2) 年龄大于18岁但小于25岁的学生;year(date()-year(出生日期)=25 and year(date()-year(出生日期)=18 (3) 少数民族的男生;性别=男 and 少数民族=.t. (4) 在1985年1月1日至1983年12月31日之间出生的学生;出生日期=12/31/1983 and 出生日期=01/01/1985 (5) 入学成绩在580分以上的汉族女生。入学成绩=600 and 少数民族=.f. a
20、nd 性别=女 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/2 7. 分析下列命令执行后的输出结果,并上机验证。 (1) x=str(13.4,4,1)y=right(x,3) z=y+x ?z,z 16.80 3.4+13.4 (2) dimension a(2,3) a=175a(2,2)=2*a(2,2)?a(
21、5),a(1,2) 350 175 (3) x=542 y=int(542/100) z=x%10 ? z*100+y 205 (4) set exact on ch=数据库应用 ch1=ch=left(ch,6) ?ch1,ch .f. 数据库应用 第四章 1. 什么是自由表?什么是数据库表? 属于某一数据库的表称为数据库表,不属于任何数据库而独立存在的表称为自由表。 2. 一个表有3个备注型字段,该表有多少个备注文件? 一个备注文件。 3. 在设计学生表时,可否将学生“性别”字段定义为逻辑型字段?这和定义为字符型字段有何区别?若定义为数值型呢? 可以将“性别”字段定义为逻辑型字段因为逻辑型
22、字段只有两个取值,可以用.t.代表男.f.代表女,定义为字符型也可以只要输入数据的时候保证只能输入“男”和“女”就可以。定义为数值型也可以,比如可以用1代表男2代表女。 4. 修改表的结构有哪些方法?它们有何区别? 有两中方法第一种是先打开表,然后在命令窗口输入modify structure 命令打开表设计器来修改表的结构。第二中方法是先打开表然后在视图菜单中打开表设计器来对表的结构进行修改,这两中方法的实质都是用表设计器来修改表的结构,不同的只是打开表设计器的方法不同而已。 5. 如何对浏览窗口进行分割?如何设置同步?如何设置数据显示方式? 浏览窗口左下角有一黑色小方块,可用于窗口的分割。
23、用鼠标将小方块向右拖动,便可把窗口分为两个分区。两个分区显示同一表的内容。 分区后同一记录可以在两个分区同时看到。“表”菜单项中的链接分区命令可以选择恢复或者解除这种同步(消除该命令前的“”)。 浏览窗口中的数据有浏览和编辑两种显示方式,用“显示”菜单中的“编辑”命令(在浏览方式时)或“浏览”命令(在编辑方式时)可在两种显示方式之间切换。 6. display和list命令有何异同? 两个命令的作用基本相同,区别仅在于list是连续显示,当显示的内容超过一屏时,自动向上滚动,直到显示完成为止。display是分屏显示,显示满屏时暂停,待用户按任一键后继续显示后面的内容。 7. 一个表用zap命
24、令删除后,该表还存在吗? 该命令与delete和pack有何异同? 一个表用zap命令删除后该表还存在只不过表中的记录没有了。而delete命令只是逻辑删除表中的某些记录并没有实际删除还可以恢复。而pack命令是物理删除那些被逻辑删除的记录不能恢复。 8. 排序与索引有何区别?索引有哪几种?如何建立索引文件? 排序是改变表中记录的实际物理顺序,而索引是为该表建立一个索引文件设置一个逻辑顺序,索引可分为下列4种类型:主索引,候选索引,惟一索引,普通索引。建立索引文件有两种方法:1. 用命令建立索引,2. 在表设计器中建立索引。 9. 在已打开的表中有“姓名”字段,此外又定义了一个内存变量“姓名”
25、。要把内存 变量“姓名”的值赋给当前记录的“姓名”字段,应使用什么命令?姓名=m.姓名 10. 设txl.dbf有10条记录,在命令窗口执行下列命令后,表的当前记录是什么? use txlgo 5 list next 3 skip 2 第6条记录。 11. 在不同工作区之间切换用什么命令?如何访问别的工作区中的表? 可以用 select 工作区号别名0 命令来在不同的工作区之间切换。 在当前工作区中可以访问其他工作区中的表的数据,但要在非当前表的字段名前加上别 名和连接符,引用格式为:别名.字段名或别名-字段名 12. 什么叫关联?如何建立关联? 所谓关联,就是当前表记录指针的移动,能引起别的
26、表按某种条件相应地移动记录指针。建立关联后,称当前表为主文件,与主文件建立关联的 3表为子文件。 建立一对一的关联可以用命令:set relation to 关联表达式1 into 工作区号1别名1 建立一对多的关联可以用命令:set skip to 别名1,别名2? 13. 就学生表,写出实现下列操作的命令: (1) 显示第5号记录;go 5display (2) 显示第5号至第10号之间的全部记录; go 5list next 6 (3) 连续列出1980年以后出生的学生的姓名与出生年月;list for year(出生日期)=1980 fields 姓名,出生年月 (4) 显示在1985
27、年1月1日至1983年12月31日之间出生的学生记录; 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.db
28、f delete for int(recn()/2)=recn()/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) 建立一个结构复合索引文件,其中包括两个索引:记录以学号降序排列;记录 按出生年月升
29、序排列; index on 学号 tag a descindex on 出生年月 tag b (14) 查询年龄最小和最大的学生; calculate min(出生年月) to a display for 出生年月=a calculate max(出生年月)=b display for 出生年月=b (15) 按性别对入学成绩进行汇总。 index on 性别 tag c total on 性别 fields 入学成绩 to xbhz 14. 按图1.5建立选课表,然后通过“学号”索引建立学生表与选课表之间的关联,分 别在一对一和一对多关联下显示学号、姓名、课程号和成绩,分析输出结果的差异。
30、第五章 1. 什么是永久关系?如何设置表间的永久关系? 表之间的永久联系是基于索引建立的一种永久关系,这种联系被作为数据库的一部分而保存在数据库中。 建立永久关系的操作方法是:在数据库设计器对话框,首先,用鼠标左键选中父表中的主索引字段,保持按住鼠标左键,并拖至与其建立联系的子表中的对应字段处,再松开鼠标左键,数据库中的两个表间就有了一个连线,其永久关系就已建立完成。 2. 设置字段的显示标题、字段的注释信息、字段的默认值、字段的有效规则会给数据库中表的操作带来什么好处? (1) 数据库表可以使用长表名和长字段名;(2) 可以为数据库表中的字段指定标题和添加注释;(3) 可以为数据库表的字段指
31、定默认值和输入掩码;(4) 数据库表的字段有默认的控件类;(5) 可以为数据库表规定字段级规则和记录级规则;所有这些都是为了能够让用户更方便的输入数据,减少数据出错的几率,并且保证数据的完整性。 3. 字段级规则和记录级规则有何区别?如何设置? 字段有效性用于对当前字段输入数据的有效性、合法性进行检验。记录有效性验证指建立一规则对同一记录中不同字段之间的逻辑关系进行验证。这两种规则都可以在表设计器里面来进行设置。 4. 触发器有哪几种?各有什么作用? 触发器包括插入触发器、更新触发器和删除触发器。这些触发器用于保证当对数据库表进行插入(包括追加)、更新和删除时,不会违反那些已经设置好的有效性规则,只有当规则成立时才能进行相应操作。主要是用于保证记录和数据的完整性。 5. 订货管理数据库有4个表: 仓库(仓库号,城市,面积)职工(仓库号,职工号,工资)订购单(职工号,供应商号,订购单号,订购日期) 供应商(供应商号,供应商名,地址) 各个表的记录实例为: 仓库表职工表 4订购单表 供应商表 (1) 建立订货数据库;(2) 在数据库中建立所有的表,并输入记录数据;(3) 建立表的索引;(4) 建立表间关系;(5) 设置表 的参照完整性。 第六章 1. 简述sql语言的功能及特点。 sql是structured query language(结构化查询语言)的缩写。查询是sql语言
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1