计算机程序改错题,及答案

更新时间:2023-10-12 13:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

11

*程序名:TEST.prg

*检索选修课程门数等于3门或3门以上,每门课程成绩大于或等于70分的每个学生的 *学号,姓名,性别,平均成绩,最低分和选课门数,并将结果存储到表NEW_TEST中. *以下程序有三处错误,请改正 OPEN DATABASE SDB

SELECT STUDENT.学号,姓名,性别,AVG(成绩) 平均成绩,MIN(成绩) 最低分,COUNT(*) 选课门数; FROM STUDENT,SC;

WHere STUDENT.学号 = SC.学号 AND 成绩 >= 70 ; &&**********Error********** GROUP BY STUDENT.学号 HAVING count(课程号) >= 3; &&**********Error********** inTO table NEW_TEST &&**********Error********** CLOSE ALL

9

*程序名:dbtest3.prg *定义一个视图VS1,

*检索选课门数是3门以上的每个学生的学号、姓名、平均成绩、最低分、选课门数和院系编号,

*并按平均成绩降序排序.

*以下程序有三处错误,请改正 SET TALK OFF SET SAFETY OFF

open DATABASE SDB &&****Error***修改本行的语法错误,不许注释掉本行或删除本行

CREATE VIEW VS1

SELECT STUDENT2.学号, 姓名, AVG(成绩) 平均成绩, MIN(成绩) 最低分, COUNT(*) 选课门数, 院系编号;

FROM STUDENT2, sc; &&*************Error************* WHERE STUDENT2.学号 = SC.学号 ;

GROUP BY SC.学号 HAVING COUNT(课程号) > 3;

ORDER BY 平均成绩 desc &&*************Error************* CLOSE DATABASE RETURN i=2

create table four(结果 I) do while i<=1000 if i%3=0

insert into four values(i) &&错误语句请修改 endif

i=i+1 && 请增加一条语句 enddo

create database 学习情况

create table 学生(姓名 C(20),学号 C(10) primary key) &&有错误 alter table 学生 add 总分 I &&有错误

alter table 学生 alter 总分 set check 总分<=800 and 总分>=0 &&有错误 insert into 学生 values (\林红\ &&有错误 update 学生 set 总分=786 where 学号=\&&有错误

alter table employee alter 性别 set check 性别=\男\性别=\女\

SELECT Department.部门名, count(*) as 总人数;

FROM employee_m!department INNER JOIN employee_m!employee ; ON Department.部门号 = Employee.部门; group by 部门号; INTO TABLE tone.dbf

SELECT Department.部门名, count(*) as 人数_男;

FROM employee_m!department INNER JOIN employee_m!employee ; ON Department.部门号 = Employee.部门; where 性别=\男\; group by 部门号; INTO TABLE ttwo.dbf

SELECT tone.部门名, ttwo.人数_男, 总人数-人数_男 as 人数_女, tone.总人数; FROM tone INNER JOIN ttwo ; on tone.部门名=ttwo.部门名; order by tone.部门名 desc; INTO TABLE tableone

12

*程序名:dbtest61.prg

*检索同时选修课程号c1和c2的学生的学号 *以下程序有三处错误,请改正 SELECT 学号; FROM SC ;

WHERE 课程号 = 'c1' AND 学号 in ; &&************Error************ ( SELECT 学号 FROM SC ; &&************Error************ WHERE 课程号 = 'c2' ) &&************Error************

CLOSE DATABASE

*程序名:dbtest4.prg

*检索选课门数大于或等于3门以上的每个学生的学号、姓名、平均成绩、最低分、选课门数和院系, *并按平均成绩降序排序,将结果存储到表TEST1中. *以下程序有三处错误,请改正 SET TALK OFF SET SAFETY OFF

SELECT STUDENT.学号, 姓名, AVG(成绩) 平均成绩, MIN(成绩) 最低分, COUNT(*) 选课门数,院系 院系;

FROM STUDENT, SCORE;

WHERE STUDENT.学号 = SCORE.学号;

GROUP BY STUDENT.学号 HAVING count(课程编号) >= 3; &&*********Error************ ORDER BY 平均成绩 desc; &&*********Error************ INTO table TEST1 &&*********Error************ RETURN

18 $$75

所有器件的单价增加5元

UPDATE order_detail1 SET 单价=单价 + 5 计算每种器件的平均单价

SELECT 器件号,AVG(单价) AS 平均价 FROM order_detail1 group BY 器件号 INTO CURSOR lsb

&&查询平均价小于500的记录

SELECT * FROM lsb where 平均价 < 500

19

&&功能:如果用户输入的用户名和口令一致,则在提示信息后关闭该表单; &&否则重新输入用户名和口令。

&&**********Error********************** if thisform.text1.text = thisform.text2.text wait \欢迎使用??\&&**********Error********************** thisform.release else

wait \用户名或口令不对,请重新输入??\endif

20

&&使表单的标题为:简单应用 thisform.caption=\简单应用\

&&在表格控件中显示order_list表的记录 thisform.grid1.recordsource=\

&&关闭表单 thisform.release

32

open database 外汇数据 use currency_sl

&&***********Error***************** locate for 姓名=\林诗因\summ=0

&&***********Error***************** do while not eof()

select 现钞买入价 from rate_exchange ;

where rate_exchange.外币代码=currency_sl.外币代码 into array a &&***********Error***************** summ=summ+a[1] * currency_sl.持有数量 continue enddo ?summ

37

***在下一行添加一条打开customer表的语句, 然后把\(此处空行)\删除 use customer

***表没有索引,修改如下语句使之能显示所有“北京”客户的信息 SCAN for 所在地='北京'

? 客户编号,公司名称,联系人姓名 ENDSCAN

38

SELECT 零件名称 FROM 零件信息 WHERE 零件号 in ; (SELECT 零件号 FROM 使用零件;

GROUP BY 零件号 HAVING COUNT(项目号) = 3) ; ORDER BY 零件名称 ;

to FILE results

45(15)

*下面的程序在第1行、第2行和第5行有错误,请直接在错误处修改。 *修改时,不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。 open database sdb

CREATE VIEW s_view as ;

SELECT Class.班级号, 班级名, 姓名, 性别, 教师名 AS 班主任名; FROM Student,Class,Teacher ;

WHERE Student.班级号 = Class.班级号 and Teacher.教师号 = Class.班主任号

46(15)

*下面的程序在第5行、第6行、第8行和第9行有错误,请直接在错误处修改。 *修改时,不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。 OPEN DATABASE SELLDB

SELECT S_T.部门号,部门名,年度,;

一季度销售额 + 二季度销售额 + 三季度销售额 + 四季度销售额 AS 全年销售额,; 一季度利润 + 二季度利润 + 三季度利润 + 四季度利润 AS 全年利润,;

(一季度利润 + 二季度利润 + 三季度利润 + 四季度利润) / (一季度销售额 + 二季度销售额 + 三季度销售额 + 四季度销售额) AS 利润率; FROM S_T,DEPT;

WHERE S_T.部门号 = DEPT.部门号; order BY 年度,利润率 DESC; INTO table S_SUM

49

*本程序的功能为输入圆柱体的半径和高,计算圆柱体表面积。 *请将程序修改为函数调用方式(注意不得增删语句行)。 SET TALK OFF CLEAR LOCAL carea

INPUT \请输入圆柱体的半径\INPUT \请输入圆柱体的高\carea=cya(r,h)

?\圆柱体的表面积为:\RETURN

PROCEDURE cya PARAMETERS a,b,c LOCAL pai

本文来源:https://www.bwwdw.com/article/64qf.html

Top