三、綜合應(yīng)用(1小題,計30分)
利用表設(shè)計器在考生目錄下建立表table3,表結(jié)構(gòu)如下:
學(xué)號 字符型(10)
姓名 字符型(6)
課程名 字符型(8)
分數(shù) 數(shù)值型(5,1)
然后編寫程序prog1.prg,從xuesheng表和chengji表中找出所有成績不及格(分數(shù)小于60)的學(xué)生信息(學(xué)號、姓名、課程名和分數(shù)),并把這些數(shù)據(jù)保存到表table3中(若一個學(xué)生有多門課程不及格,在表table3中就會有多條記錄)。表table3中的各記錄應(yīng)該按分數(shù)升序排序,分數(shù)相同則按學(xué)號降序排序。
要求在程序中用SET RELATION命令建立chengji表和xuesheng表之間的關(guān)聯(lián)(同時用INDEX命令建立相關(guān)的索引),并通過DO WHILE循環(huán)語句實現(xiàn)規(guī)定的功能。最后運行程序。
本題的主要考核點是自由表的建立以及程序的創(chuàng)建與編寫。
1.建立表可以使用"文件"菜單完成,選擇文件--新建--表--新建文件,在打開的表設(shè)計器中依次輸入各字段內(nèi)容。
2.建立程序可以使用"文件"菜單完成,選擇文件--新建-程序--新建文件,在打開的程序文本框中輸入下列命令:
SET TALK OFF
OPEN DATABASE cj_m
SELECT * FROM table3 WHERE .f. INTO TABLE temp
SELECT 1
USE xuesheng
INDEX ON 學(xué)號 TAG 學(xué)號
SELECT 2
USE chengji
INDEX ON 學(xué)號 TAG 學(xué)號
SET RELATION TO 學(xué)號 INTO xuesheng
GO TOP
DO WHILE .NOT.EOF()
IF chengji.數(shù)學(xué)<60
INSERT INTO temp values (xuesheng.學(xué)號,xuesheng.姓名,'數(shù)學(xué)',chengji.數(shù)學(xué))
ENDIF
IF chengji.英語<60
INSERT INTO temp values (xuesheng.學(xué)號,xuesheng.姓名,'英語',chengji.英語)
ENDIF
IF chengji.信息技術(shù)<60
INSERT INTO temp values (xuesheng.學(xué)號,xuesheng.姓名,'信息技術(shù)',chengji.信息技術(shù))
ENDIF
SKIP
ENDDO
SELECT * FROM temp ORDER BY 分數(shù),學(xué)號 DESC INTO ARRAY arr
INSERT INTO table3 FROM ARRAY arr
CLOSE DATABASE
CLOSE TABLES ALL
DROP TABLE temp
SET TALK ON
RETURN
最后運行程序(本評析僅供參考)。
相關(guān)推薦:2010年9月計算機等級考試沖刺備考指導(dǎo)專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |