(1)使用SQL命令在employee表中查询年龄最大的前5名员工的姓名和出生日期,查询结果按年龄降序排序存入表emage.dbf中;同时把所用SQL命令存入文件emage.txt(提示:表中无年龄字段,但是有出生日期字段)。 (2)打开程序文件c

admin2013-03-31  36

问题 (1)使用SQL命令在employee表中查询年龄最大的前5名员工的姓名和出生日期,查询结果按年龄降序排序存入表emage.dbf中;同时把所用SQL命令存入文件emage.txt(提示:表中无年龄字段,但是有出生日期字段)。
    (2)打开程序文件cylinder.prg,该程序的功能是根据输入的半径和高计算圆柱体表面积,其中函数定义中有错误,请在******found******的下一行进行修改使之能正确运行(不得增加语句,不得删除语句)。

选项

答案(1)步骤1:在命令窗口执行命令:MODIFY FILE emaqe,打开文本编辑器编写SQL命令。 步骤2:在编辑器中输入如下程序代码(以下程序是通过查询设计器生成): SELECT TOP 5 Employee.姓名,Employee.出生日期; FROM Employee; ORDER BY Employee.出生日期; INTO TABLE emage.dbf 步骤3:在命令窗口执行命令:DO emage.txt,执行文件。 (2)步骤1:在命令窗口执行命令:MODIFY COMMANDcylinder,打开Cylinder程序文件,文件中的命令代码如下;SET TALK OFF CLEAR LOCAL carea INPUT "请输入圆柱体的半径:"TO r INPUT "请输入圆柱体的高:"TO h carea=cya(r,h) ?"圆柱体的表面积为:",carea RETURN FUNCTION cya *****found***** PARAMETERS a,b,c LOCAL pai Pai=3.14159 c=2*(pai*a^2)+2*pai*a*b *****found***** ENDFUNC 修改程序中的错误行,修改后的程序如下: SET TALK OFF。 CLEAR LOCAL carea &&定义局部变量c INPUT "请输入圆柱体的半径:" TO r && 从键盘输入一个半径值 INPUT "请输入圆柱体的高:" TO h &&从键盘输入一个半径值 carea=cya(r,h) &&调用模块程序,转到FUNCTION命令行执行程序,按值方式传递参数 ?"圆柱体的表面积为:",carea RETURN FUNCTION cya &&过程的开始,并命名过程名为cya PARAMETERS a,b &&声明的形参变量被看作是模块程序中的私有变量LOCAL c &&定义局部变量c Pai=3.14159 &&定义私有变量c=2*(pai*a^2)+2*pai*a*b && 计算圆柱体表面积的表达式RETURN c &&将计算的表达式值返回上级模块 步骤2:保存文件修改,在命令窗口执行命令:DO cylinder.prg,执行程序文件。

解析 (1)本题主要考查SQL中特殊选项TOP短语的使用,该短语必须与排序短语ORDER BY一起使用才有效;另外,对员工年龄进行排序时,出生日期的年份越靠前,年份值就越小,但所表示的年龄却越大,因此,按“年龄”降序排序,其实就是对“出生日期”进行升序排序。
    (2)本题主要考查的是过程的定义及调用。通过PROCEDURE |FUNCTION命令定义一个命令过程的开始;通过PARAMETERS命令声明的形参变量被看作是模块程序中的私有变量;利用<文件名>(实参表)|<过程名>(实参表)命令调用模块程序时,系统会自动把实参传递给对应的形参。
    本题中第一处错误可以很明显地看出少定义了一个形参,在参数调用过程中,形参的数量只能大于或等于实参的数目;第二处错误是缺少转回到调用程序的命令RETURN,通过该命令可返回表达式的值。
转载请注明原文地址:https://kaotiyun.com/show/ywsp777K
0

最新回复(0)