




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机等级考试二级VisualFoxPro上机试题及解题思绪汇总1-20一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)ﻫ注意:基本操作题为4道SQL题,请将每道题的SQL命令粘贴到SQL1.txt文献,
每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;
假如某道题没有做相应行为空。
在考生文献夹下完毕下列操作:ﻫ1.运用SQLSELECT命令将表stock_sl.dbf复制到stock_bk.dbf;ﻫ2.运用SQLINSERT命令插入记录("600028",4.36,4.60,5500)到stock_bk.dbf表。ﻫ3.运用SQLUPDATE命令将stock_bk.dbf表中"股票代码"为600007的股票"现价"改为8.88。ﻫ4.运用SQLDELETE命令删除stock_bk.dbf表中"股票代码"为600000的股票。ﻫ本题的重要考核点:
SQL语句的使用。ﻫ1、SELE*FROMstock_slINTODBFstock_bk
2、INSEINTOstock_bk(股票代码,买入价,现价,持有数量)VALU("600028",4.36,4.60,5500)
3、UPDAstock_bkSET现价=8.88WHER股票代码="600007"ﻫ4、DELEFROMstock_bkWHER股票代码="600000"
二、简朴应用(2小题,每题20分,计40分)
1、在考生文献夹下建立数据库sc2,将考生文献夹下的自由表score2添加进sc2中。根据score2表建立一个视图score_view,视图中包含的字段与score2表相同,但视图中只能查询到积分小于等于1500的信息。然后运用新建立的视图查询视图中的所有信息,并将结果按积分升序存入表v2。
2、建立一个菜单filemenu,涉及两个菜单项"文献"和"帮助","文献"将激活子菜单,该子菜单涉及"打开"、"存为"和"关闭"三个菜单项;"关闭"子菜单项用SETSYSMENUTODEFAULT命令返回到系统菜单,其他菜单项的功能不做规定。ﻫ第1题,本题的重要考核点是视图的建立。ﻫ在"项目管理器"中选择一个数据库,选择"本地视图",然后选择"新建"按钮,打开"视图设计器"。选择所有字段,在"筛选"栏内输入条件"积分<=1500",关闭并保存。在数据库设计器中打开视图,用sorton积分tov2命令存入新表。
第2题,本题的重要考核点是菜单的建立。新建菜单可按下列环节:选择"文献"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文献"按钮。在"新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。也可用CREATEMENU命令直接调出菜单设计器。在菜单名称中填入"文献"、"帮助","文献"结果为子菜单,单击编辑;在子菜单的菜单名称中输入"打开"、"存为"、"关闭","关闭"结果为命令"SETSYSMENUTODEFAULT"。ﻫ三、综合应用(1小题,计30分)ﻫ在考生文献夹下有学生成绩数据库XUESHENG3,涉及如下所示三个表文献以及相关的索引文献:ﻫ1、XS.DBF(学生文献:学号C8,姓名C8,性别C2,班级C5;另有索引文献XS.IDX,索引键:学号)ﻫ2、CJ.DBF(成绩文献:学号C8,课程名C20,成绩N5.1;另有索引文献CJ.IDX,索引键:学号)
3、CJB.DBF(成绩表文献:学号C8,姓名C8,班级C5,课程名C12,成绩N5.1)ﻫ设计一个名为XS3的菜单,菜单中有两个菜单项"计算"和"退出"。程序运营时,单击"计算"菜单项应完毕下列操作:将所有选修了"计算机基础"的学生的"计算机基础"成绩,按成绩由高到低的顺序填列到成绩表文献CJB.DBF中(事前须将文献中原有数据清空)。单击"退出"菜单项,程序终止运营。
(注:相关数据表文献存在于考生文献夹下)ﻫ本题的重要考核点:ﻫ结构化查询语言(SQL)中的联接查询、查询的排序、查询的去向等知识ﻫ解题思绪:ﻫ在本题中要想得到所有选修了"计算机基础"的学生的"计算机基础"成绩及学生的姓名等信息,就需要用到联接查询。由于学生的姓名、班级在表XS.DBF中,而学生的成绩在表CJ.DBF中。而这两个表要联接起来可以通过"学号"字段。ﻫ有以下两种联接查询的形式:SELECTXS.学号,姓名,班级,课程名,成绩FROMXS,CJWHEREXS.学号=CJ.学号AND课程名="计算机基础"或者SELECTXS.学号,姓名,班级,课程名,成绩FROMXSLEFTJIONCJONXS.学号=CJ.学号WHERE课程名="计算机基础"
通过以上的联接查询便得到了所有选修"计算机基础"的学生的"计算机基础"的成绩及学生的姓名等信息。而题中所规定按成绩的降序排序,所以应当在以上SQL语句的基础上加入:ORDERBY成绩DESC
将查询所得到的结果放于一个数组变量AFieldsValue中,要用到INTOARRAYAFieldsValue.至此一个完整的SQL联接查询语句便形成了:SELECTXS.学号,姓名,班级,课程名,成绩FROMXS,CJWHEREXS.学号=CJ.学号AND课程名="计算机基础"ORDERBY成绩DESCINTOARRAYAFieldsValue
清空CJB.DBF
将tableName中的资料添加到已被清空的CJB.DBF中INSERTINTOCJBFROMARRAYAfieldsValue一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文献夹下完毕下列操作(在"成绩管理"数据库中完毕):
1.为"学生"表在"学号"字段上建立升序主索引,索引名为学号;
2.为"学生"表的"性别"字段定义有效性规则,规则表达式为性别$"男女"犯错提醒信息是:"性别必须是男或女"。ﻫ3.在"学生"表的"性别"和"年龄"字段之间插入一个"出生日期"字段,数据类型为"日期型"(修改表结构);
4.用SQL的UPDATE命令将学生"王三风"的出生日期修改为1983年5月1日,并将该
语句粘贴在SQL2.TXT文献中(第一行、只占一行)
本题的重要考核点:ﻫ主索引的建立、字段有效规则的建立,表结构的更改,SQL语言的使用。ﻫ解题思绪:ﻫ1.在表设计器中的索引页面建立索引。
2、建立有效性规则在表设计器中的字段选项卡。在"规则"栏中输入"性别$"男女"","提醒信息"栏输入"性别必须是男或女"(不要双引号)。ﻫ4.SQL语句的用法ﻫUPDA学生SET出生日期={^1983/05/01}WHER姓名="王三风"ﻫ二、简朴应用(2小题,每题20分,计40分)ﻫ1、根据考生文献夹下的txl表和jsh表建立一个查询query2,查询出单位是"南京大学"的所有教师的姓名、职称、电话,规定查询去向是表,表名是query2.dbf,并执行该查询。
2、建立表单enterf,表单中有两个命令按钮,按钮的名称分别为cmdin和
cmdout,标题分别为"进入"和"退出"。ﻫ第1题,本题的重要考核点是建立查询。ﻫ建立查询可以使用“文献”菜单完毕,选择文献--新建--查询--新建文献,将txl和jsh添加入查询中,从字段中选择姓名、职称和电话字段,单击查询菜单下的查询去向,选择表,输入表名query2.DBF。最后运营该查询。
第2题,本题的重要考核点是表单的建立。
可以用三种方法调用表单设计器:在项目管理器环境下调用;单击“文献”菜单中的“新建”,打开“新建”对话框,选择“表单”;在命令窗口输入CREATEFORM命令。ﻫ打开表单设计器后,在表单控件工具栏上单击“命令按钮”,在表单上放置两个按钮。分别修改其属性Name为cmdin和cmdout,Caption属性为“进入”和“退出”。
三、综合应用(1小题,计30分)
在考生文献夹下有仓库数据库CK3,涉及如下所示两个表文献:ﻫCK(仓库号C(4),城市C(8),面积N(4))
ZG(仓库号C(4),职工号C(4),工资N(4))ﻫ设计一个名为ZG3的菜单,菜单中有两个菜单项"记录"和"退出"。程序运营时,单击"记录"菜单项应完毕下列操作:检索出所有职工的工资都大于1220元的职工所管理的仓库信息,将结果保存在wh1数据表(WH1为自由表)文献中,该文献的结构和CK数据表文献的结构一致,并按面积升序排序。单击"退出"菜单项,程序终止运营。(注:相关数据表文献存在于考生文献夹下)本题重要考核点:ﻫ菜单的建立、结构化查询语言(SQL)中的嵌套查询、查询结果的去向等知识。ﻫ解题思绪:ﻫ运用菜单设计器定义两个菜单项,在菜单名称为"记录"的菜单项的结果列中选择"过程",并通过单击"编辑"按钮打开一个窗中来添加"记录"菜单项要执行的命令。在菜单名称为"退出"的菜单项的结果列中选择"命令",并在后面的"选项"列中输入以下退出菜单的命令:SETSYSMENUTODEFAULTﻫ"记录"菜单项要执行的程序:
一方面中打开数据库文献OPENDATABASECK3.DBCﻫ下面我们分析所要用到的查询语句的实现,题面规定"检索出所有职工的工资都大于1220的职工所管理的仓库信息",所以得到满足以上条件的仓库号成为解答本题的关键。"所有职工的工资都大于1220的职工所管理的仓库"这个条件可以将其分解为同时满足以下两个条件的结果"仓库号不存在于职工的工资小于等于1220的职工所管理的仓库号中"并且"仓库号存在于表ZG中",而以上两个条件我们可以运用SQL轻松写出来。所以最后形成的查询语句以下:SELECT*FROMCKWHERE仓库号NOTIN(SELECT仓库号FROMZGWHERE工资<=1220)AND仓库号IN(SELECT仓库号FROMZG)INTOTABLEwh1.dbf.后面的INTOTABLEwh1.dbf决定了查询的结果是生成一个wh1.dbf文献。
本题还考对查询的排序和查询的去向进行了考核.可以用ORDERBYorder_Item[ASC|DESC]来让查询的结果按某一列或某几列的升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过INTOTABLEstrTableName而直接生成一个文献名为strTableName的.DBF表一、基本操作(共四小题,第1和2题是7分、第3和4题是8分
1、请在考生文献夹下建立一个数据库KS4。
2、将考生文献夹下的自由表STUD、COUR、SCOR加入到数据库KS4中。ﻫ3、为STUD表建立主索引,索引名和索引表达式均为学号
为COUR表建立主索引,索引名和索引表达式均为课程编号ﻫ为SCOR表建立两个普通索引,其中一个索引名和索引表达式均为学号;另一个索引名和索引表达式均为课程编号
4、在以上建立的各个索引的基础上为三个表建立联系。ﻫ本题的重要考核点:
数据库的建立、将自由表添加到数据库中、主索引和普通索引的建立,为已建立索引的表建立联系。
解题思绪:ﻫ1.建立数据库的常用方法有三种:
在项目管理器中建立数据库;
通过"新建"对话框建立数据库;
使用命令交互建立数据库,命令为:CREATEDATABASE[DatabaseName|?]ﻫ2.将自由表添加到数据库中,可以在项目管理器或数据库设计器中完毕。打开数据库设计器,在"数据库"菜单中或在数据库设计器上单击右键弹出的菜单中选择"添加表",然后在"打开"对话框中选择要添加到当前数据库的自由表。还可用ADDTABLE命令添加一个自由表到当前数据库中。
3.在STUD表设计器中的索引选项卡建立索引名和索引表达式为学号的主索引。分别为COUR和SCOR建立主索引和普通索引。ﻫ4.在数据库设计器中建立三个表的联系。在数据库设计器中,将选中STUD表中的主索引"学号",按住鼠标拖动到SCOR表的普通索引"学号"上。
用同样的方法可以建立COUR表和SCOR表的"课程编号"之间的联系。
二、简朴应用(2小题,每题20分,计40分)ﻫ1、在考生文献夹中有一个数据库STSC,其中有数据库表STUDENT、SCORE和
COURSE
运用SQL语句查询选修了"网络工程"课程的学生的所有信息,并将结果按学号降序存放在NETP.DBF文献中(库的结构同STUDENT,并在其后加入课程号和课程名字段)。ﻫ2、在考生文献夹中有一个数据库STSC,其中有数据库表STUDENT,使用一对多报表向导制作一个名为CJ2的报表,存放在考生文献夹中规定:选择父表STUDENT表中学号和姓名字段,从子表SCORE中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为"学生成绩表"。
第1题,本题的重要考核点是SQL语句的查询。ﻫSELECTStudent.*,Score.课程号,Course.课程名;
FROMstsc!studentINNERJOINstsc!score;ﻫINNERJOINstsc!course;
ONScore.课程号=Course.课程号;ﻫONStudent.学号=Score.学号;
WHEREAT("网络工程",Course.课程名)>0;
ORDERBYStudent.学号desc;
INTOTABLEnetp.dbfﻫ第2题,本题的重要考核点是使用报表向导制作报表。
启动报表向导可在"文献"菜单中选择"新建"或者单击工具栏上的"新建"按钮,打开"新建"对话框,文献类型选择报表,单击向导按钮。或者在"工具"菜单中选择"向导"子菜单,选择ﻫ"报表",或直接单击工具栏上的"报表向导"图标按钮。然后按照向导提醒操作即可。
三、综合应用(1小题,计30分)ﻫ在考生文献夹下有工资数据库WAGE3,涉及数据表文献:ZG(仓库号C(4),ﻫ职工号C(4),工资N(4))ﻫ设计一个名为TJ3的菜单,菜单中有两个菜单项"记录"和"退出"。ﻫ程序运营时,单击"记录"菜单项应完毕下列操作:检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到EMP1(EMP1为自由表)文献中,该数据表文献和ZG数据表文献具有相同的结构。单击"退出"菜单项,程序终止运营。ﻫ(注:相关数据表文献存在于考生文献夹下)
本题重要考核点:
菜单的建立、结构化查询语言(SQL)中的联接查询、查询的排序、临时表的概念、查询结果的去向等知识。
解题思绪:ﻫ运用菜单设计器定义两个菜单项,在菜单名称为"记录"的菜单项的结果列中选择"过程",并通过单击"编辑"按钮打开一个窗中来添加"记录"菜单项要执行的命令。在菜单名称为"退出"的菜单项的结果列中选择"命令",并在后面的"选项"列中输入以下退出菜单的命令:SETSYSMENUTODEFAULT
"记录"菜单项要执行的程序:
一方面是打开数据库文献OPNEDATABASEWAGE3.DBC我们应当得到每一个仓库的职工平均工资,并将结果放在一个临时的表CurTable中.运用以下语句可以实现:SELECT仓库号,AVG(工资)ASAvgGZFROMZGGROUPBY仓库号INTOCURSORCurTable.这样就生成了一个表名为CurTable的临时表。表中有两个字段:仓库号,AvgGZ,内容为每一个仓库的仓库号和所相应的职工的平均工资。
有了临时表CurTable后我们可以将其与ZG进行联接查询,我们这里联接查询的目的不是为了得到临时表中的内容做为结果的一部分,而是要用其中的字段AvgGZ做为查询的条件.我们便可以得到"工资小于或低于本仓库职工平均工资的职工信息"的查询:SELECTZG.*FROMZG,CurTableWHEREZG.仓库号=CurTable.仓库号ANDZG.工资。一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)ﻫ1、请在考生文献夹下建立一个项目WY。ﻫ2、将考生文献夹下的数据库KS4加入到新建的项目WY中去。ﻫ3、运用视图设计器在数据库中建立视图NEW_VIEW,视图涉及GJHY表的所有字段(顺序同GJHY中的字段)和所有记录。ﻫ4、从表HJQK中查询"奖级"为一等的学生的所有信息(HJQK表的所有字段),并按分数的降序存入存入新表NEW1中。ﻫ本题的重要考核点:ﻫ项目的建立、将数据库添加到项目中、视图的建立、查询并存入新表。
解题思绪:
1.建立项目WY
创建项目可用“文献”菜单中的“新建”命令。
2.将数据库加入到项目中:
在项目管理器的“数据”选项卡选择数据库,单击“添加”,在“打开”对话框中选择要添加的数据库ﻫ3.在新建对话框中、项目管理器中、或用CREATVIEW命令打开视图设计器,建立一个视图。将GJHY表添加到视图中,并将所有字段添加入视图。不做任何筛选,则视图涉及所有记录。最后将视图命名为NEW_VIEW。ﻫ4.用SQL语句ﻫselect*fromhjqk.dbfwhere奖级="一等";
intotablenew1orderby分数desc
可完毕此查询。ﻫ也可建立一个查询完毕。在菜单中选择文献--新建--查询--新建文献,在筛选栏中选择字段名为“hjqk.奖级”,条件为“=”,实例栏内输入“一等”,排序选择“分数”降序,并将查询去向设为表NEW1。注意NEW1要保存到考生文献夹下。最后运营此查询即可。
二、简朴应用(2小题,每题20分,计40分)ﻫ1、在考生文献夹下,有一个数据库CADB,其中有数据库表ZXKC和ZX。ﻫ表结构如下:ﻫZXKC(产品编号,品名,需求量,进货日期)
ZX(品名,规格,单价,数量)ﻫ在表单向导中选取一对多表单向导创建一个表单。规定:从父表zxkc中选取字段产品编号和品名,从子表zx中选取字段规格和单价,表单样式选取"阴影式",按钮类型使用"文本按钮",按产品编号升序排序,表单标题为"照相机",最后将表单存放在考生文献夹中,表单文献名是form2。
2、在考生文献夹中有数据库CADB,其中有数据库表ZXKC和ZX。建立单价大于等于800,按规格升序排序的本地视图CAMELIST,该视图按顺序包含字段产品编号、品名、规格和单价,然后使用新建立的视图查询视图中的所有信息,并将结果存入表v_camera。ﻫ第1题,本题的重要考核点是使用表单向导制作表单。ﻫ启动表单向导可在“文献”菜单中选择“新建”或者单击工具栏上的“新建”按钮,打开“新建”对话框,文献类型选择表单,单击向导按钮。或者在“工具”菜单中选择“向导”子菜单,选择“表单”,或直接单击工具栏上的“表单向导”图标按钮。在“向导选取”对话框中选择“一对多表单向导”。然后按照表单向导操作即可。ﻫ第2题,本题的重要考核点是建立视图。ﻫ在“项目管理器”中选择一个数据库,选择“本地视图”,然后选择“新建”按钮,打开“视图设计器”。将zxkc和zx添加到视图中,选择字段产品编号、品名、规格和单价,在“筛选”栏内输入条件“单价>=800”,关闭并保存。在数据库设计器中打开视图,用copytov_camera命令或在“文献”菜单中选择“导出”,将结果存入新表v_camera。
三、综合应用(1小题,计30分)
在考生文献夹下有仓库数据库CHAXUN3涉及三个表文献:ﻫZG(仓库号C(4),职工号C(4),工资N(4))ﻫDGD(职工号C(4),供应商号C(4),订购单号C(4),订购日期D,总金额N(10))GYS(供应商号C(4),供应商名C(16),地址C(10))
设计一个名为CX3的菜单,菜单中有两个菜单项"查询"和"退出"。
程序运营时,单击"查询"应完毕下列操作:检索出工资多于1230元的职工向北京的供应商发出的订购单信息,并将结果按总金额降序排列存放在ord1文献(和DGD文献具有相同的结构,ord1为自由表)中。单击"退出"菜单项,程序终止运营。ﻫ(注:相关数据表文献存在于考生文献夹下)ﻫ本题重要考核点:ﻫ菜单的建立、结构化查询语言(SQL)中的嵌套查询、查询的排序、查询结果的去向等知识
解题思绪:
运用菜单设计器定义两个菜单项,在菜单名称为"查询"的菜单项的结果列中选择"过程",并通过单击"编辑"按钮打开一个窗口来添加"查询"菜单项要执行的命令。在菜单名称为"退出"的菜单项的结果列中选择"命令",并在后面的"选项"列的中输入以下退出菜单的命令:SETSYSMENUTODEFAULT
"查询"菜单项要执行的程序:
一方面打开数据库OpendatabaseCHAXUN3.dbc
我们可以通过下面的查询得到工资多于1230的所有职工的职工号SELECT职工号FROMZGWHERE工资>1230
可以通过下面的查询得到地址在北京的所有供货商的供货商号SELECT供货商号FROMGYSWHERE地址="北京"ﻫ而题面所规定的正是同时满足以上两个条件的订购单信息,也就是职工号满足第一个条件上,可用职工号IN(SELECT职工号FROMZGWHERE工资>1230)来实现;供货商号满足第二个条件,可用供货商号IN(SELECT供货商号FROMGYSWHERE地址="北京")来实现。因此可得到满足条件的订购单的SQL查询为:SELECT*FROMDGDWHERE职工号IN(SELECT职工号FROMZGWHERE工资>1230)AND供货商号IN(SELECT供货商号FROMGYSWHERE地址="北京")ORDERBY总金额DESCINTOTABLEord1
本题还考对查询的排序和查询的去向进行了考核.可以用ORDERBYorder_Item[ASC|DESC]来让查询的结果按某一列或某几列的升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过INTOTABLEstrTableName而直接生成一个文献名为strTableName的.DBF表。一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)1、打开数据库PROD_M及数据库设计器,其中的两个表的必要的索引已经建立,为这两个表建立永久性联系2、设立CATEGORY表中"种类名称"字段的默认值为:"饮料"。3、为PRODUCTS表增长字段:优惠价格N(8,2)。4、假如所有商品的优惠价格是在进货价格基础上减少12%,计算所有商品的优惠价格。本题的重要考核点:为已建立索引的表建立联系、设立字段的默认值、字段的添加、字段的替换。解题思绪:1.建立两个表的联系。在父表中选中主索引,按住鼠标拖动至子表相应的普通索引上,释放鼠标,联系即已建立。2.在表设计器中,选中"种类名称"字段,在"字段有效性"中的默认值中填入"饮料",单击拟定。3.增长字段的方法:打开PRODUCTS表表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型及长度。4.可以使用BROWSE浏览表,然后在菜单"表"中选择"替换字段",字段为"优惠价格","替换为"的表达式为"Products.进货价格*0.88",作用范围ALL。也可用命令REPLACEALL优惠价格WITH进货价格*0.88二、简朴应用(2小题,每题20分,计40分)1、在考生文献夹中有一个数据库GCS,其中GONGCH表结构如下:GONGCH(编号C(4),姓名C(10),姓别C(2),工资N(7,2),年龄N(2),职称C(10))现在要对GONGCH表进行修改,指定编号为主索引,索引名和索引表达式均为编号;指定职称为普通索引,索引名和索引表达式均为职称;年龄字段的有效性规则在25至65之间(含25和65),默认值是45。2、在考生文献夹中有数据库GCS,其中有数据库表GONGCH。在考生文献夹下设计一个表单,该表单为GCS库中GONGCH表窗口式输入界面,表单上尚有一个名为cmdCLOSE的按钮,标题名为"关闭",点击该按钮,使用ThisForm.release退出表单。最后将表单存放在考生文献夹中。,表单文献名是C_FORM。提醒:在设计表单时,打开GCS数据库设计器,将GONGCH表拖入到表单中就实现了GONGCH表的窗口式输入界面,不需要其他设立或修改。第1题,本题的重要考核点是建立索引和有效性规则。建立索引在表设计器中的索引选项卡,建立有效性规则在表设计器中的字段选项卡。在"规则"栏中输入"年龄>=25AND年龄<=65","默认值"栏输入"45"(不要双引号)。第2题,本题的重要考核点是表单的设计。可以用三种方法调用表单设计器:在项目管理器环境下调用;单击"文献"菜单中的"新建",打开"新建"对话框,选择"表单";在命令窗口输入CREATEFORM命令。打开表单设计器,在表单控件工具栏上单击"命令按钮",在表单上放置一个按钮。修改其属性Name为cmdclose,Caption属性为"关闭"。双击按钮,在打开的程序窗口输入代码"ThisForm.release"。设计窗口式输入界面如提醒,最后将表单保存。三、综合应用(1小题,计30分)在考生文献夹下有仓库数据库GZ3涉及两个表文献:ZG(仓库号C(4),职工号C(4),工资N(4))DGD(职工号C(4),供应商号C(4),订购单号C(4),订购日期D,总金额N(10))一方面在GZ3库中建立工资文献数据表:GJ3(职工号C(4),工资N(4))设计一个名为YEWU3的菜单,菜单中有两个菜单项"查询"和"退出"。程序运营时,单击"查询"应完毕下列操作:检索出与供应商S7、S4和S6都有业务联系的职工的职工号和工资,并按工资降序存放到所建立的GJ3文献中。单击"退出"菜单项,程序终止运营。(注:相关数据表文献存在于考生文献夹下)本题重要考核点:表结构的建立、菜单的建立、结构化查询语言(SQL)中的联接查询、查询的排序、临时表的概念、查询结果的去向、HAVING子句、聚合函数COUNT()等的使用等知识。解题思绪:第一步:运用菜单设计器定义两个菜单项,在菜单名称为"查询"的菜单项的结果列中选择"过程",并通过单击"编辑"按钮打开一个窗口来添加"查询"菜单项要执行的命令。在菜单名称为"退出"的菜单项的结果列中选择"命令",并在后面的"选项"列中输入以下退出菜单的命令:SETSYSMENUTODEFAULT第二步:在单击"计算"菜单项后面的"编辑"按钮所打开的窗口中添加如下的过程代码:SETTALKOFF&&在程序运营时关闭命令结果的显示OPENDATABASEGZ3&&打开数据库文献GZ3USEDGD&&打开表DGDCREATETABLEGJ3(职工号C(4),工资N(4))SELECT职工号FROMDGDWHERE供应商号IN("S4","S6","S7");GROUPBY职工号;HAVINGCOUNT(DISTINCT供应商号)=3;INTOCURSORCurTable&&SELECTSQL语句中的GROUPBY子句可以用来指定结果集的组,&&要得到"供应商号"是"S4"、"S6"或"S7"的订购单,同时以订购单所在的职工员进行分组&&并且保证每个分组里面供应商号有三个(也就是三个供应商都应有订购单);这样就得到了满&&足条件的职工号,将返回的结果集放于一个临时表CurTable中:INTOCURSORCurTableSELECTZG.职工号,工资FROMZG,CurTableWHEREZG.职工号=CurTable.职工号;ORDERBY工资DESC;INTOARRAYAFieldsValue&&将生成的临时表与DGD表进行联接查询,便可以得到满足条件的职工号和工资&&返回的结果集放入数组AFieldsValue中:INTOARRAYAFieldsValueINSERTINTOGJSFROMARRAYAFieldsValue&&在新建的表中追加记录CLOSEALL&&关闭打开的文献SETTALKON&&恢复命令结果的显示设立第三步:以文献名YEWU3.MNX保存菜单源文献,并生成菜单,运营菜单。一、思考题1、创建报表的基本方法涉及哪三种?其重要区别何在?2、在报表设计器中,共有几个带区?各有什么作用?3、总结在报表设计中,各个不同的控件用于什么场合?4、如何运用“数据环境”为报表设立数据源?二、选择题1、运用报表生成器快速生成报表,应选取菜单命令。A.数据→报表B.文献→快速报表C.报表→报表D.报表→快速报表2、建立打印报表的命令是。A.CREATEB.CREATESCREENC.CREATEWINDOWD.CREATEREPORT3、选取和设计报表中字段内容,应选取工具栏中的工具是。A.字段B.图像解决C.文本D.画矩形4、快速报表默认的基本带区是。A.标题、总结、列注脚B.页标头、细节、页注脚C.页标头、细节、列注脚D.标题、细节、页注脚5、在“报表设计器”中可以使用的控件有。A.标签、域控件和图片B.标签、列表和域控件C.文本框、图片和线条D.组合框、线条和标签6、在一个报表中可以基于选择的表达式进行数据分组,对分组操作方法有。A.从“报表”菜单中选择“数据分组”菜单项B.单击“报表设计器”工具栏中的“数据分组”按钮C.右击报表设计器,在弹出的快捷菜单中选择“数据分组”菜单项D.以上都可以7、下列不属于报表的布局类型的是。A.列报表B.行报表C.一对多报表D.多对多报表8、在报表设计中,通常对每个字段作一个说明性文字,完毕这种说明文字的报表控件是。A.标签控件B.域控件C.线条控件D.矩形控件9、设计报表的标题是在报表的设立。A.页标头区B.细节区C.标题区D.页注脚区10、下列选项中不属于域控件的数据类型的是。A.字符型B.备注型C.数值型D.日期型三、填空题1、设计报表就是根据报表的和来设计报表的布局。2、在报表设计中,进行报表页布局的设计,应当选取新增添的菜单项“报表”下的。3、使用报表向导设计报表,一方面要打开报表的数据源,数据源可以是数据库中的,也可以是或临时表。4、在报表设计器中,域控件用于打印表或视图中的、和的计算结果。5、与报表设计有关的工具栏重要涉及工具栏和工具栏。6、生成标签文献时,在窗口中可以选取标签的格式,涉及标签的代号、高度、宽度、每行输出的标签数目等信息。7、在报表中,打印输出内容的重要区是带区。8、对于报表的标题,每张报表在开头仅仅打印次。9、对报表进行数据分组时,报表会自动包含和两个带区。10、报表可以在打印机上输出,也可以通过游览。答案一、略二、选择题DDABADDAAB三、填空题1、数据源、应用需求2、数据分组3、自由表、视图4、字段、变量、表达式5、报表设计器、报表控件6、打印设立7、细节8、一9、组标头,组注脚10、屏幕程序控制结构1、求出下列表达式的值(x、y的值从键盘输入):程序代码:SETTALKOffCLEARINPUT"X="TOXINPUT"Y="TOYZ=(X*Y+EXP(X+Y))/((X/Y)^3*LOG10(ABS(X-Y)))?"X=",X,"Y=",Y,"Z=",ZSETTALKON2、给定一个年份(从键盘输入),判断它是否闰年。闰年的条件是:能被4整除但不能被100整除,或能被100整除且能被400整除。程序代码:SETTALKOffCLEARINPUT"Year="TOYearif(year%4=0andyear%100!=0)or(year%100=0andyear%400=0)?year,"是闰年"else?year,"不是闰年"endifSETTALKON3、从键盘输入数据A(可以是C、D、N、L、Y和U型等),通过类型判断,输出其数据类型的汉字说明(如A的值为“OK!”,那么输出应为:OK!——字符型数据)。程序代码:SETTALKOffCLEARINPUT"A="TOadocasecasetype('a')="C"?a,"——字符型数据"casetype('a')="D"?a,"——日期型数据"casetype('a')="N"?a,"——数值型数据"casetype('a')="L"?a,"——逻辑型数据"casetype('a')="Y"?a,"——货币型数据"casetype('a')="U"?a,"——未定义"endcaseSETTALKON4、从键盘输入A、B、C三个数值,将它们从小到大排列后输出。程序代码:SETTALKOffCLEARINPUT"A="TOAINPUT"B="TOBINPUT"C="TOCifbd=aa=bb=dendififcd=aa=cc=dendififcd=bb=cc=dendif?a,b,cSETTALKON5、从键盘输入一个数值(0~9),规定输出其相应的中文大写数字(零~玖)。程序代码:SETTALKOffCLEARC="零壹贰叁肆伍陆柒捌玖"INPUT"N="TON?N,"--->"+SUBSTR(C,2*N+1,2)SETTALKON6、将前面的1到5题,加上循环,使之被调用执行一次,并可以反复对不同的输入值完毕相同的操作。提醒:只要在需要反复执行的语句序列外加上循环控制结构即可。下面以第2小题循环3次,第5小题循环任意次为例说明。(6.2)循环3次程序代码:SETTALKOffCLEARFORI=1TO3INPUT"Year="TOYearif(year%4=0andyear%100!=0)or(year%100=0andyear%400=0)?year,"是闰年"else?year,"不是闰年"endifENDFORSETTALKON(6.5)循环任意次程序代码:SETTALKOffCLEAR?"PRESSESCTOEXIT---"C="零壹贰叁肆伍陆柒捌玖"DOWHILE.T.INPUT"N="TON?N,"--->"+SUBSTR(C,2*N+1,2)IFINKEY(0)=27EXITENDIFENDDOSETTALKON程序阅读题。阅读下列程序,写出运营结果。1、注:字符"A"的ASCII码为65。程序代码:SETTALKOFFCLEARC="一二三四五六七八九十"B="ABCD"R=0L=LEN(B)FORI=1TOLW=SUBSTR(B,I,1)D=ASC(W)+R-65S=""IFD<10S=SUBSTR(C,2*D+1,2)ELSES=SUBSTR(C,2*MOD(D,10)+1,2)ENDIF?W+"----->"+SR=R+11ENDFORSETTALKON参考答案:A---->一B---->三C---->五D---->七2、设A的值为:ABCDEF程序代码:SETTALKOFFCLEARACCEPT"A="TOAL=LEN(A)P=SPACE(0)I=1DOWHILEIP=P+SUBSTR(A,L-I,2)I=I+2ENDDO?A+"------>"+PSETTALKON参考答案:ABCDEF------>EFCDAB计算机等级考试二级VisualFoxPro上机试题及解题思绪(12)来源:青年人(Qnr.Cn)
2023-9-179:31:25
【青年人:中国教育考试第一门户】
HYPERLINK""资料下载
HYPERLINK""\t"_blank"教材购买3、写出运营结果程序代码:SETTALKOFFM=3DOWHILEM<10N=2DOWHILENIFINT(M/N)=M/NEXITENDIFN=N+1ENDDOIFN=M?MENDIFM=M+1ENDDOSETTALKON参考答案:3574、写出运营结果程序代码:SETTALKOFFCLEARINPUT"M="TOMIFINT(M)!=MORABS(M)!=M?"输入的数值不符合题目规定!"LOOPENDIF?ALLTRIM(STR(M,19))+"的质数因子有:"I=2DOWHILEI<=MIFM%I=0??STR(I,6)M=INT(M/I)LOOPENDIFI=I+1ENDDOSETTALKONSETESCAPEON设:M的输入值为12。参考答案:12的质数因子有:2235、写出运营结果程序代码:SETTALKOFFCLEAR?"*12345"A=1DOWHILEA<=5?ALLTRIM(STR(A))+SPAC(2)B=1DOWHILEB<=AS=A*B??STR(S,2)+SPAC(2)B=B+1ENDDOA=A+1ENDDOSETTALKON参考答案:*123451122433694481255101520256、写出运营结果程序代码:SETTALKOFFCLEARDIMENSIONA(6,6)FORI=1TO6FORJ=1TO6IFI<>JA(I,J)=0ELSEA(I,J)=-1ENDIFENDFORENDFORFORI=1TO6?FORJ=1TO6??A(I,J)ENDFORENDFORSETTALKON参考答案:-1000000-1000000-100000-1000000-10000000-15、写出运营结果程序代码:SETTALKOFFCLEAR?"*12345"A=1DOWHILEA<=5?ALLTRIM(STR(A))+SPAC(2)B=1DOWHILEB<=AS=A*B??STR(S,2)+SPAC(2)B=B+1ENDDOA=A+1ENDDOSETTALKON参考答案:*123451122433694481255101520256、写出运营结果程序代码:SETTALKOFFCLEARDIMENSIONA(6,6)FORI=1TO6FORJ=1TO6IFI<>JA(I,J)=0ELSEA(I,J)=-1ENDIFENDFORENDFORFORI=1TO6?FORJ=1TO6??A(I,J)ENDFORENDFORSETTALKON参考答案:-1000000-1000000-100000-1000000-10000000-1综合编程题。根据题目规定,编写相应的程序。1、求X+X2+X3+X4+¼+Xn的值。N,X从键盘输入。程序代码:SETTALKOFFclearINPUT"X="TOXINPUT"N="TONS=0I=1DOWHILEI<=NS=S+X^II=I+1ENDDO?"X+X^2+X^3+...+X^N=",SSETTALKON2、求S=2/1+3/2+5/3+8/5+13/8+…..前20项之和。程序代码:SETTALKOFFclearS=0N=1X=1Y=2DOWHILEN<=20S=S+Y/XT=XX=YY=Y+TN=N+1ENDDO?"2/1+3/2+5/3+...+17711/10946=",S&&共有N=20项累加SETTALKON3、从键盘输入一个正整数,判断其所含5的个数。(如:输入数值2345105,其中包含5的个数为2)程序代码:SETTALKOFFclearINPUT"请输入一个正整数X:"TOXS=0DOWHILE.T.N=MOD(X,10)&&第一次求X的个位数N,第二次求X的十位数N,…IFN=5S=S+1ENDIFX=INT(X/10)IFX=0EXITENDIFENDDO?"X中5的个数为:",SSETTALKON4、从键盘输入20个数,去掉20个数中的最大值和最小值,然后求平均值。程序代码:SETTALKOFFCLEARS=0N=1STORE0TOMAX,MINDOWHILEN<=20INPUT"B="TOBS=S+BIFMAXMAX=BENDIFIFMIN>BMIN=BENDIFN=N+1ENDDO?"AVERAGE="+STR((S-MAX-MIN)/18,19,2)SETTALKON5、求2~1000之间完数的个数。(完数:一个数假如恰好等于它的因子之和,因子不涉及自身且不能反复。如:6=1+2+3,8<>1+2+4,所以6是完数,8不是完数)程序代码:SETTALKOFFCLEARSN=0?"2~1000之间的完数为:"FORN=2TO1000M=NI=1S=0DOWHILEIIFINT(M/I)=M/IS=S+IENDIFI=I+1ENDDOIFN=SSN=SN+1??NENDIFENDFOR?"完数的个数为:",SNSETTALKON6、本程序一方面对矩阵按行读入数据,并将它转置。程序代码:SETTALKOFFINPUT'N='TONDIMEA(N,N)FORI=1TONFORJ=1TONINPUT'A('+STR(I,1)+','+STR(J,1)+')='TOAI,J)ENDFORENDFORFORI=1TONFORJ=1TOIT=A(I,J)A(I,J)=A(J,I)A(J,I)=TENDFORENDFORSETTALKON7、从键盘任意输入N个数,去掉其中最大值和最小值,然后求平均值。程序代码:SETTALKOFFCLEARS=0INPUT"N="TONSTORENTOMAX,MINFORI=1TONINPUT"B="TOBS=S+BIFMAXMAX=BENDIFIFMIN>BMIN=BENDIFENDFOR?"AVERAGE="+STR((S-MAX-MIN)/(N-2),19,2)SETTALKON8、运用参数传递和过程文献,求(M!+N!)/(M-N)!程序代码:SETTALKOFFCLEARSETPROCTO程序20INPUT"M="TOMINPUT"N="TONSTORE0TOSM,SNDOJC2WITHM,SMDOJC2WITHN,SNDOMC2WITHM-N,N?"表达式结果为S="+STR((SM+SN)/N,10,2)SETPROCTOSETTALKONPROCJC2PARAX,YI=1T=1DOWHILEI<=XT=T*II=I+1ENDDOY=TRETURNPROCMC2PARAY,XI=1T=1DOWHILEI<=XT=T*YI=I+1ENDDOX=TRETURN9、编程求1~1000之内的同构数。(同构数:若A是同构数,则A出现在A的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年企业租赁合同协议书
- 四年级信息技术上册 第一单元 电子作文 第5课 汇编作文集教学设计 浙江摄影版
- 吴江教育面试题及答案
- 信息系统项目管理师重点考点试题及答案
- 全国宪法考试试题及答案
- 2024年职业病防治知识试题及答案
- 动物学实验试题及答案
- 文化产业管理考试知识点试题及答案
- 教师资格笔试教育方法研究题目及答案
- 第一单元认识0~9教学设计-2024-2025学年一年级上册数学西师大版(2024)001
- 17J008挡土墙(重力式、衡重式、悬臂式)图示图集
- 【S镇35kV变电站一次系统设计(论文)14000字】
- 行政复议法-形考作业4-国开(ZJ)-参考资料
- 中建盘扣式落地卸料平台施工方案
- 中央八项规定实施细则解读课件
- 新部编人教版五年级下册道德与法治期末复习全册知识点汇编
- 赣美版 二年级下册美术 第3课 画房子 课件(12张PPT)
- 土壤酸性磷酸酶活性测定方法
- 二正丁胺MSDS危险化学品安全技术说明书
- 北大刑法分论期末考题甲的一生前传
- 荥阳崔庙镇土地利用总体规划
评论
0/150
提交评论