1、1 12VFP7 到 14 章练习题答案第七章1.查询设计器有“字段” 、 “联接” 、 “筛选” 、 “排序依据” 、 “分组依据” 、 “杂项”等 6 个选项卡,简要说明这 6 个选项和 SQL.SELECT 命令中各子句的对应关系。(1).字段。在“字段”选项卡设置查询结果中要包含的字段,对应于 SELECT 命令中的输出字段。(2).联接。如果要查询多个表,可以在“联接”选项卡中设置表间的联接条件,对应于JOIN.ON 子句。(3).筛选。在“筛选”选项卡中设置查询条件,对应于 WHERE 子句。(4).排序依据。在“排序依据”选项卡中指定排序的字段和排序方式,对应于 ORDER.BY
2、 子句。(5).分组依据。在“分组依据”选项卡中设置分组条件,对应于 GROUP.BY 子句和 HAVING子句。(6).杂项。在“杂项”选项卡中设置有无重复记录以及查询结果中显示的记录数等。1. 用户浏览信息时,总是希望在一个界面中能为其提供完整而充分的信息,但在设计表时,往往从数据规范性与用户需求的多样与随机性等方面考虑难以完全按照显示界面设计表。以一个实例简要说明怎样使用视图解决这一矛盾。用户的需求是多样的,而我们设计数据库的时候却只能从数据库的规范性和完整性出发,比如可能用户在浏览一个信息的时候,这些信息却分布在不同的表中,但这并不妨碍我们提供这样的服务,我们可以通过 VF 提供的试图
3、设计器来设计出一个视图来满足用户的需求。这样既能满足数据库设计的要求又可以满足用户的多样性的要求。例如在前面提及的学生管理数据库中的选课表,对于一般用户来讲,是无法使用的,因为学号和课程号都是采用代码方式,所以有必要使用视图方式进行透明性操作。希望在操作过程中看到学号时,知道其学生名字,看到课程号时,知道其课程名称。我们可以设计出一个视图来满足用户的需求,显示学生姓名、课程名及成绩。这里的姓名、课程名及成绩等信息分布于学生、课程、选课等 3 个表中,故要建立一个以这 3 个数据表为源表的视图。具体的步骤见书 123-124 页。3.对学生管理数据库,分别建立以下查询:(1).查询学生表中的全部
4、信息;(2).查询非湖南籍的学生名单;(3).查询全部学生的如下信息:学号、姓名、课程名、成绩、入学成绩;(4).查询每个省的学生人数,并将结果以条形图形式显示;(5).以降序显示每门课程的平均成绩,要求显示课程名称和平均成绩两个数据项。4.对学生管理数据库,分别建立以下视图:(1).为学生选课建立一个视图,要求包含课程号、课程名、学分、任课教师的姓名及职称等信息;(2).为用人单位建立一个视图,要求包含学生的姓名、性别、出生日期、籍贯、所修课程的名称、学习成绩;(3).为学校人事部门建立一个视图以帮助其掌握教师教学基本情况,要求包括教师编号,姓名,职称,担任授课的课程编号、名称、学分等信息;
5、2 12(4).为学生办公室建立一个浏览学生考试成绩的视图,要求包含全部学生的基本信息和课程号、课程名称、成绩,所有数据只能浏览,不能修改。第八章1简述项目管理器的主要功能。Visual.FoxPro 的项目是文件、数据、文档和对象的集合, “项目管理器”是Visual.FoxPro 中处理数据和对象的主要组织工具,在建立表、数据库、查询、表单、报表以及应用程序时,可以用“项目管理器”来组织和管理文件。2项目管理器有几个选项卡?每个选项卡的作用是什么?项目管理器有 6 个选项卡,它们分别是:“全部” 、 “数据” 、 “文档” 、 “类” 、 “代码”和“其他” ,每个选项卡用于管理某一类型文
6、件。1.“数据”选项卡该选项卡包含了一个项目中的所有数据:数据库、自由表、查询和视图。2.“文档”选项卡该选项卡中包含了处理数据时所用的全部文档,即输入和查看数据所用的表单,以及打印表和查询结果所用的报表及标签。3.“类”选项卡该选项卡显示和管理由类设计器建立的类库文件。4.“代码”选项卡该选项卡包含了用户的所有代码程序文件:程序文件、API 库文件、应用程序等。5.“其他”选项卡该选项卡显示和管理下列文件:菜单文件、文本文件、由 OLE 等工具建立的其他文件(如图形、图像文件)。6.“全部”选项卡该选项卡显示和管理以上所有类型的文件。3项目管理器有哪些常用的命令按钮?它们的作用是什么?项目管
7、理器中有以下命令按钮:1.“新建”按钮创建一个新文件或对象,新文件或对象的类型与当前所选定的类型相同。此按钮与“项目”菜单的“新建文件”命令的作用相同。注意:“文件”菜单中的“新建”命令可以新建一个文件,但不会自动包含在项目中。而使用项目管理器中的“新建”命令按钮,或“项目”菜单中的“新建文件”命令,建立的文件会自动包含在项目中。2.“添加”按钮把已有的文件添加到项目中。此按钮与“项目”菜单中的“添加文件”命令的作用相同。3.“修改”按钮在相应的设计器中打开选定项进行修改,例如可以在数据库设计器中打开一个数据库进行修改。此按钮与“项目”菜单中“修改文件”命令作用相同。4.“浏览”按钮在“浏览”
8、窗口中打开一个表,以便浏览表中内容。此按钮与“项目”菜单中“浏览3 12文件”命令作用相同。5.“运行”按钮运行选定的查询、表单或程序。此按钮与“项目”菜单中“运行文件”命令作用相同。6.“移去”按钮从项目中移去选定的文件或对象。Visual.FoxPro 将询问是仅从项目中移去此文件,还是同时将其从磁盘中删除。此按钮与“项目”菜单中的“移去文件”命令的作用相同。7.“打开”按钮打开选定的数据库文件。当选定的数据库文件打开后,此按钮变为“关闭” 。此按钮与“项目”菜单中“打开文件”命令作用相同。8.“关闭”按钮关闭选定的数据库文件。当选定的数据库文件关闭后,此按钮变为“打开” 。此按钮与“项目
9、”菜单中“关闭文件”命令作用相同。9.“预览”按钮在打印预览方式下显示选定的报表或标签文件内容。此按钮与“项目”菜单中“预览文件”命令作用相同。10.“连编”按钮连编一个项目或应用程序,还可以连编一个可执行文件。此按钮与“项目”菜单中“连编”命令作用相同。4建立一个项目文件,定制项目管理器。5建立一个项目文件,向该项目添加已经建立的有关文件。6建立一个项目文件,在项目管理器中新建、修改和浏览表。第九章1写出下列程序的执行结果。(1).CLEARSET.TALK.OFFx=10y=-3FOR.n=29+x.TO.x.STEP.yENDFOR?.nRETURN94 12(2).主程序:t1.prg
10、SET.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.xx/2x=1+x2y=y+1LOOPELSEx=x+1ENDIFENDDO?.x,ySET.TALK.ONRETURN.122.00 23(4).主程序:z.prgSET.TALK.OFFSTORE.2.TO.x1,x2,x3x1=x1+1DO.z1?.x1+x2+x3RETURN子程序:
11、z1prgx2=x2+1DO.z25 12x1=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,输出 623。set talk offinput “请
12、输入一个三位数“ 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?“优良“6 12else if a40 a=a+f1endifif f240 a=a+f2endifcontinueenddogo topf2=ausereturn6一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数,例如13 就是一
13、个绝对素数。试求所有两位绝对素数。set talk offfor m=11 to 99n=mod(m,10)*10+mod(int(m/10),10) if check(m) and check(n)7 12?mendifendforfunction checkparameters aflag=.t.k=int(sqrt(a)j=2do while j,姓名、民族、年龄,寝室编号)教师(教师号,姓名,职称)课程(课程号,课程名,学分)教室(教室编号,人数,地址)寝室(寝室编号,地址)选课(学号,课程号,成绩)授课(课程号,教师号,教室编号) 4. 补充完成“工资发放系统”中未给出的设计:第一、二类员工的考核数据录入,工资汇总表生成,工资数据备份等工作。5. 做一个简化的“学生管理系统”系统设计,完成其功能设计、数据库设计和部分功能的程序设计工作,要求使用 E-R 图建立数据模型并进行规范化处理。