首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(1)打开程序文件cvlinder.prg,请按要求修改程序并运行程序。 (2)以表employee.dbf和orders.dbf中数据为基础,使用SQL命令检索订单数最多的前3名职工的职工号、姓名和订单数,检索结果按订单数降序排序存入表newco
(1)打开程序文件cvlinder.prg,请按要求修改程序并运行程序。 (2)以表employee.dbf和orders.dbf中数据为基础,使用SQL命令检索订单数最多的前3名职工的职工号、姓名和订单数,检索结果按订单数降序排序存入表newco
admin
2014-11-30
43
问题
(1)打开程序文件cvlinder.prg,请按要求修改程序并运行程序。
(2)以表employee.dbf和orders.dbf中数据为基础,使用SQL命令检索订单数最多的前3名职工的职工号、姓名和订单数,检索结果按订单数降序排序存入表newcoun.dbf,同时将所用SQL命令存入文件new.txt中。
选项
答案
(1)步骤1:在命令窗口执行命令:
MODIFY COMMAND cylinder
,打开cylinder.prg程序,代码如下: *本程序的功能为输入圆柱体的半径和高,计算圆柱体表面积。 *请将程序修改为函数调用方式(注意不得增删语句行)。 1 SET TALK OFF 2 CLEAR 3 LOCAL carea 4 INPUT”请输入圆柱体的半径”To r 5 INPUT "请输入圆柱体的高"To h 6 DO cya WITH r,h,carea 7 ?"圆柱体的表面积为:",carea 8 RETURN 9 PROCEDURE cya 10 PARAMETERS a,b,c 11 LOCAL pai 12 pai=3.1 4 1 5 9 13 c=2*(pai*a^2)+2*pai*a*b 14 RETURN 15 ENDPROC ※ 修改程序中的错误行,修改后的程序如下: 1 SET TALK OFF 2 CLEAR 3 LOCAL carea &&定义局部变量local 4 INPUT"输入圆柱体的半径:"TO r &&从键盘榆入一个半径值 5 INpuT”输入圆柱体的高:”TO h &&从键盘输入一个高值 6 carea=cya(r,h) &&调用模块程序,转到 PROCEDuRE命令行执行程序,按值方式传递参数 7 ?"圆柱体的表面积为:",carea 8 RETURN 9 PROCEDuRE cva &&过程的开始,并命名过程名为cya 10 PARAMETERS a,b,c &&声明的行参变量被看作是模块程序中的私有变量 11 LOCAL pai 12 pai=3.1 4 1 5 9 13 c=2*(pai*a^2)+2*pai*a*b &&计算圆柱体表面积的表达式 14 RETURN c &&将计算的表达式值返回上级模块 15 ENDPROC 步骤2:保存文件修改,在命令窗口执行命令:
DO YZT.PRG
,执行程序文件。 (2)步骤1:在命令窗口执行命令:
MODIFY FILE new
,打开文本编辑器编写SQL命令。 步骤2:在编辑器中输入如下程序代码(以下程序是通过查询设计器生成): 1 SELECT TOP 3 Emplovee.职工号, Employee.姓名, COUNT(*) 订甲数; 2 FROM employee INNER JOIN orders ; 3 ON Employee.职工号=orders.职工号; 4 GROUP BY Employee.职工号; 5 ORDER BY 3 DESC ; 6 INTO TABLE newcoun.dbf 步骤3:在命令窗口执行命令:
DO NEW.TXT
,执行文件(注意:执行文件时,丈件后缀名.txt不能缺省)。
解析
(1)本题主要考查的是模块的定义和调用。模块是一个相对独立的程序段,它可以被其他模块调用,也可以去调用其他的模块。通常,把被其他模块调用的模块称为子程序,把调用其他模块而没有被其他模块调用的模块称为主程序。题中给出了两个模块,其中,上面的一部分,即第一个“RETURN”前面的代码是主程序,下面的模块cva作为子程序被主程序调用。模块调用的格式有两种:一种是使用DO命令:DO<过程名>WITH<实参l>[,<实参2>….],本题中使用的就是这种方法:“DO cya WITH r,h,carea”,其中cya是调用的子程序名,r、h、carea是传递给子程序的实参,分别代表半径、高和表面积;而在子程序cva中则定义了a、b、c三个变量作为形参对应接收主程序传递过来的实参,并计算出表面积的值c。在这种方法调用中,当实参为变量时,将按址传递,即不是将实参的值传递给形参,而是将存放实参的内存中的存储单元的地址传递给形参,因此形参和实参具有相同的存储单元地址,也就是说,形参和实参共用同一存储单元,实际上是同一个变量,这时,在调用子程序时,如果形参的值发生了改变,那么对应的实参的值也将随着改变。故在本题中,当子程序结束时,求出的c的值即是主程序中carea的值。另一种调用方法是函数调用的方法,格式为:<过程名>(<实参1>[,<实参2>,…])。在这种调用方式中,默认情况下都是按值传递,即系统计算出实参的值,并把它们赋值给相应的形参变量。这样,当子程序结束时,形参变量被释放,计算的结果将会随形参的消失而消失,而不能将运算后形参的值再传递给实参,实参的值并不会改变。所以,在本题中,当用函数调用方式时,要想在主程序中输出carea的值,应该在子程序的最后返回计算的表面积值c。而在主程序中,应当将调用函数返回的值赋值给carea变量,即“carea=area(r,h)”。这时,实参就变成了两个:r、h,而子程序的形参有三个:a、b、c。这样是可以的。我们说在调用模块时,系统会自动把实参一一传递给对应的形参,形参的数目不能少于实参的数目,因为传递过来的每一个实参都要有对应的形参接收,如果形参的数目比实参少,那多出来的实参就好像找不到地址的信件一样,不知该送去哪里,这时系统就会产生运行时错误。但是,形参的数目可以多于实参的数目,这时,多余的形参变量取初值逻辑假(.F.)。
(2)本题要求利用SQL语句进行查询,用到了emplov和order两张表,可以使用联接查询。因为要查找订单数最多的前两名职工,应该按职工号分组,并求出每一组中记录的个数,即是每个职工的订单数,要分别使用group by短语和count()计数函数;另外,因为只查找最多的前两名,应该按降序排序,并使用top短语;将查询结果保存在永久表中,应使用INTO TABLE短语。
转载请注明原文地址:https://kaotiyun.com/show/OzEp777K
本试题收录于:
二级VF题库NCRE全国计算机二级分类
0
二级VF
NCRE全国计算机二级
相关试题推荐
在已打开的数据库中,要显示出单价小于100或单价大于500的商品信息的命令是______。
线性表的链式存储结构是一种______的存储结构。
在VisualFoxPro中,如果在表之间的联系中设置了参照完整性规则,并在删除规则中选择了“限制”,当删除父表记录时,系统反应是( )。
在成绩表中要求按“物理”降序排列,并查询前两名的学生姓名,正确的命令是( )。
按照数据模型分类,数据库管理系统可以分为3种类型,它们是( )。
下列选项中不属于软件生命周期开发阶段任务的是( )。
为表“金牌榜”增加一个字段“奖牌总数”,同时为该字段设置有效性规则:奖牌总数>=0,应使用SQL语句:ALTERTABLE金牌榜【】奖牌总数I【】奖牌总数>=0DBF中的新增加的字段奖牌总数设置为金牌数、银牌数、铜牌数3项的和,应
SQL语句中,集合的并运算是通过______运算符进行合并的。
在VisualFoxPro中,打开数据库的命令是( )。
调用表单的______方法可以重新绘制表单或控件,并刷新它的所有值。
随机试题
28岁,白带增多6天,外阴瘙痒,查外阴黏膜充血,阴道黏膜充血,分泌物呈黄绿色稀薄泡沫状。应首选何种辅助检查
在下列组织形式中,可能对基层监理人员产生矛盾命令的监理组织形式是()监理组织。
李某从税务局购买增值税专用发票一本(50份)后,携带此发票连同其单位的营业执照副本和财务专用章找张某商量,欲利用增值税专用发票谋利,并商定由张某寻找需要虚开增值税发票的客户。张某找到王某并控其要求为某厂虚开增值税专用发票5份,累计虚开金额为1000多万元,
根据印花税法律制度的规定,下列各项中,属于印花税征税范围的有()。
下列项目中,属于我国《担保法》规定的合同担保方式的有()。
针对社区10位独居老人,社会工作者小王策划了“温馨电话问候”服务,动员社区居民以志愿者身份打电话给独居老人,了解他们的日常生活情况,传递温暖与关爱。为有效管理志愿者,小王对居民志愿者的需要进行评估的内容应包括()。[2010年真题]
下列各项中,应按照“销售服务——建筑服务”税目计缴增值税的是()。
设向量组Ⅰ:α1,α2,…,αr可由向量组Ⅱ:β1,β2,…,βs线性表示,则
•Youwillhearapublicrelationsmanagertellingaboutthewaytommonthecharm.•Asyoulisten,forquestions1-12,complete
A、She’llconsidertheman’sadvice.B、Shedoesn’thavetimetogooutside.C、Sheshouldgooutandgetsomefreshair.D、Shewil
最新回复
(
0
)