5 计算机原理 四川大学 21.00 6 现代汉语 四川师大 23.00 7 操作系统 西南交大 24.00 阅读下列程序:
UPDATE TS SET 单价=单价+8 WHERE 出版单位=’四川师大’
SELECT 出版单位,AVG(单价) AS 单价 FROM TS GROUP BY 出版单位;
INTO DBF ABC
SELECT * FROM ABC WHERE 单价<28 ORDER BY 单价 DESC; INTO DBF ABC1 USE ABC1 ?
出版单位
(3) 新表ABC的记录数有( C )个
(A)7 (B) 5 (C)4 (D)3 (4) 最后显示的出版单位是( B )
(A)电子科大 (B)四川大学 (C)西南交大 (D)四川师大 (4)新表ABC1的记录数有( A )个
(A)3 (B)4 (C)5 (D)6
3、数据库信息.DBC 中有数据库表职工.DBF,用SELECT 命令查询职工表中年龄不小于25岁、“职务”字段为“销售员”的职工的信息,结果按“部门号”字段值降序排列,请填空: SELECT 部门号,职工号,姓名,职务,年龄; FROM 人事!职工
WHERE 年龄>=25 AND 职务=“销售员” ORDER BY 部门号 desc
五、程序设计题
1、根据表SCORE(学号,课程号,成绩)中的数据,统计选修课程号分别为“000002”、“000005”和“000008”课程的人数以及这些课程的平均分。
SET TALK OFF
STORE 0 TO S2,S5,S8 STORE 0 TO N2,N5,N8
USE SCORE SCAN
DO CASE
CASE 课程号=”000002” N2=N2+1 S2=S2+成绩
CASE 课程号=”000005”
N5=N5+1 S5=S5+成绩
CASE 课程号=”000008”
N8=N8+1 S8=S8+成绩 ENDCASE ENDSCAN
P2=S2/N2 P5=S5/N5 P8=S8/N8
? “000002号课程选课人数”,N2, “000002号课程平均分”,P2 ? “000005号课程选课人数”,N5, “000005号课程平均分”,P5 ? “000008号课程选课人数”,N8, “000008号课程平均分”,P8 USE
SET TALK ON RETURN
2、从键盘输入任一小于10的自然数N,求N的阶乘。
SET TALK OFF CLEAR S=1
INPUT “N=?” TO N FOR T=1 TO N S=S*T
ENDFOR ?”S=”,S SET TALK ON RETURN
3、编写一个主程序和两个子程序,它们分别实现以下功能: 1)主程序MAIN:
从键盘输入任意10个正整数存入数组A(10)中,然后顺序调用以下两个子程序SUB1、SUB2。 2)子程序SUB1:计算并显示此10个数的和S。 3)子程序SUB2:找出其中的最小数并显示。 Main程序: Dimension A(10) K=1
Do while k<=10
Input “请输入数据:” to A(k)
K=k+1 enddo
do sub1 with a,10 do sub2 with a,10
sub1程序: parameters arr,cnt i=1 s=0
do while i<=cnt
s=s+arr(i) i=i+1
enddo ? s Return
Sub2程序: Parameters arr,cnt I=1 Min=arr(1) Do while i<=cnt
If arr(i)<=min
Min=arr(i)
Endif I=i+1 Enddo ? min return
4、有如下售书数据表BOOK.DBF,BOOK.DBF中的记录如下: 书号 单价 数量 总计 B0168 19.8 3 B6915 12.6 36 B9023 40.0 100 B4682 18.0 40 B6329 28.0 56 B8127 2.0 20
要逐条计算总计并填入“总计”字段之中,计算按照如下规则: 若数量小于等于10,总计等于“单价*数量” 若数量大于50,总计等于“单价*数量*(1-5/100)” 若数量在11与50之间,总计等于“单价*数量(1-10/100)” SET TALK OFF CLEAR USE BOOK
DO WHILE NOT EOF()
IF 数量<=10
REPLACE 总计 WITH 单价*数量
ENDIF IF 数量>50
REPLACE 总计 WITH 单价*数量*(1-5/100)
ENDIF
IF 数量>=11 AND 数量<=50
REPLACE 总计 WITH 单价*数量*(1-10/100)
ENDIF SKIP
ENDDO SET TALK ON RETURN