>>>考試吧考后首發(fā)2013年3月計(jì)算 機(jī)等考試題答案
一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生目錄下完成如下操作:
1. 建立菜單QUERY_MENU。該菜單只有"查詢"和"退出"兩個(gè)主菜單項(xiàng)(條形菜單), 其中單擊菜單項(xiàng)"退出"時(shí),返回到VFP系統(tǒng)菜單(相應(yīng)命令寫(xiě)在命令框中,不要寫(xiě)在過(guò)程中)。
2. 將COURSE表的"開(kāi)課系部"字段名改為"開(kāi)課單位",其余不變。
3. 從數(shù)據(jù)庫(kù)SCORE_MANAGER中移去表TEMP2.DBF(不是刪除)。
4. 將SCORE1表中記錄按學(xué)號(hào)從低到高排序,在學(xué)號(hào)相同的情況下再按成績(jī)從高到低排序,排序結(jié)果存入表NEW_ORDER。
解答:
1. 單擊“文件”菜單,單擊“新建”,在“新建”對(duì)話框中選擇“菜單”,單擊“新建文件”按鈕,在出現(xiàn)的“新建菜單”對(duì)話框中單擊“菜單”按鈕,輸入菜單文件名“QUERY_MENU”,進(jìn)入“菜單設(shè)計(jì)器”,按試題要求設(shè)計(jì)菜單項(xiàng),在“退出”菜單項(xiàng)的結(jié)果中選“命令”,在隨后的命令輸入框中輸入命令:set sysmenu to default。
保存后單擊“菜單”下的“生成”命令,生成菜單程序,然后設(shè)計(jì)名為myform的表單,設(shè)置表單的RightClick事件代碼為:do menu_quick.mpr
(以下2、3、4均以命令方式,菜單方式也可完成操作。)
2、alter table course rename 開(kāi)課系部 to 開(kāi)課單位
3、remove table temp2
4、SELECT * FROM score_manager!score1 ORDER BY Score1.學(xué)號(hào), Score1.成績(jī) DESC into table NEW_ORDER
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下完成如下簡(jiǎn)單應(yīng)用:
1. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中統(tǒng)計(jì)選修了課程的學(xué)生人數(shù)(選修多門時(shí),只計(jì)算1次),統(tǒng)計(jì)結(jié)果保存在一個(gè)新表NEW_TABLE中, 表中只有一個(gè)字段,字段名為學(xué)生人數(shù)。
解答:
SELECT COUNT(Student.姓名) AS 學(xué)生人數(shù);
FROM score_manager!course INNER JOIN score_manager!score1;
INNER JOIN score_manager!student ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
ON Course.課程號(hào) = Score1.課程號(hào) GROUP BY Course.課程名;
INTO TABLE new_table.dbf
或:sele count(dist 學(xué)號(hào)) as 學(xué)生人數(shù) from score1 into table new_table
2. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中查詢沒(méi)有學(xué)生選修的課程,查詢結(jié)果含"課程名"和"開(kāi)課單位"字段,結(jié)果按課程名升序保存在一個(gè)新表NEW_TABLE2中(注意:字段名"開(kāi)課單位"是在基本操作中根據(jù)"開(kāi)課系部"修改后的字段名)。
解答:
SELECT Course.課程名, Course.開(kāi)課單位;
FROM score_manager!course INNER JOIN score_manager!score1;
INNER JOIN score_manager!student ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
ON Course.課程號(hào) = Score1.課程號(hào) WHERE Score1.成績(jī) IS NULL;
ORDER BY Course.課程名 INTO TABLE new_table2.dbf
三、綜合應(yīng)用(1小題,計(jì)30分)
SCORE_MANAGER數(shù)據(jù)庫(kù)中含有三個(gè)數(shù)據(jù)庫(kù)表STUDENT、SCORE1和COURSE。為了對(duì)SCORE_MANAGER數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行查詢,設(shè)計(jì)一個(gè)表單Myform3(控件名為form1,表單文件名為Myform3)。表單標(biāo)題為"成績(jī)查詢";表單有"查詢"(名稱為Command1)和"退出"(名稱為Command2)兩個(gè)命令按鈕。表單運(yùn)行時(shí),單擊"查詢"按鈕,查詢每門課程的最高分,查詢結(jié)果中含"課程名"和"最高分"字段,結(jié)果按課程名升序保存在表NEW_TABLE3。
單擊"退出"按鈕,關(guān)閉表單。
解答:
在查詢按鈕中置如下程序:
SELECT Course.課程名, MAX(Score1.成績(jī)) as 最高分;
FROM score_manager!course INNER JOIN score_manager!score1;
INNER JOIN score_manager!student ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
ON Course.課程號(hào) = Score1.課程號(hào) GROUP BY Course.課程名;
ORDER BY Course.課程名 INTO TABLE new_table3.dbf
附相關(guān)數(shù)據(jù)表:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |