計算機等級考試二級VFP機試試題16

字號:

第十六套
    一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
     1、在考生文件夾下建立項目STSC_M。
     2、把數(shù)據(jù)庫STSC加入到STSC_M項目中。
     3、打開STSC數(shù)據(jù)庫,三個表中必要的索引已經(jīng)建立,為三個表建立永久性聯(lián)系。
     4、為COURSE表增加字段:開課學(xué)期 I
    本題的主要考核點:
     項目的建立、將數(shù)據(jù)庫添加到項目中、為已建立索引的表建立永久性聯(lián)系、字段的添加。
    解題思路:
    1.建立項目
    創(chuàng)建項目可用"文件"菜單中的"新建"命令。
    2.將數(shù)據(jù)庫加入到項目中:
    在項目管理器的"數(shù)據(jù)"選項卡選擇數(shù)據(jù)庫,單擊"添加",在"打開"對話框中選擇要添加的數(shù)據(jù)庫
    3.為表和表建立永久性聯(lián)系,方法是在數(shù)據(jù)庫設(shè)計器中,選中父表中的主索引,按住鼠標(biāo)拖動至子表相應(yīng)的普通索引上,釋放鼠標(biāo),聯(lián)系即已建立。
    4.添加字段:
    打開表設(shè)計器,將光標(biāo)移動到后的空字段格中,輸入新的字段名、字段類型及長度。
    二、簡單應(yīng)用(2小題,每題20分,計40分)
     1、在考生文件夾中有數(shù)據(jù)庫STSC,其中有數(shù)據(jù)庫表STUDENT、SCORE和
     COURSE。三個表如下所示:
     STUDENT(學(xué)號、姓名、性別、院系、出生日期)
     SCORE(學(xué)號、課程編號、成績)
     COURSE(課程編號、課程名稱、開課院系、開課學(xué)期)
     在考生文件夾下有一個程序dbtest4.prg,該程序的功能是檢索選課門數(shù)是3
     門以上的(包括3門)每個學(xué)生的學(xué)號、姓名、平均成績、低分、選課門數(shù)和院系,并
     按平均成績降序排序,同時將結(jié)果存放到表TEST1中,請修改程序中的錯
     誤,并調(diào)試該程序,使之正確運行。不得增加或刪減程序行。
     2、在考生文件夾中有數(shù)據(jù)庫STSC,其中有數(shù)據(jù)庫表STUDENT、SCORE和COURSE。
     三個表如下所示:
     STUDENT(學(xué)號,姓名,性別,院系,出生日期)
     SCORE(學(xué)號,課程編號,成績)
     COURSE(課程編號,課程名稱,開課院系,開課學(xué)期)
     使用CREATE QUERY命令建立一個文件名為QUSC.QPR的查詢,要求含有學(xué)號、
     姓名、成績和課程名稱,按課程名稱升序排序,查詢?nèi)ハ蚴潜?表名是
    QUSC.DBF),然后執(zhí)行該查詢。
    第1題:本題是一個程序修改題,題中的第一個錯誤是"SUM(課程編號) >= 3;",因為題面要求是統(tǒng)計選課門數(shù)是3門以上的,所以不應(yīng)用SUM,應(yīng)改為COUNT;第二個錯誤"ORDER BY 平均成績";題面要求按平均成績降序排序,而此命令是按平均成績的升序排列的,所以在其后應(yīng)加DESC;第三個錯誤是"INTO TEST1 SDF",此程序后要求將結(jié)果存放到表TEST1中,正確命令格式應(yīng)為"INTO table test1 "。
    第2小題:本題的主要考核點是使用命令建查詢,在命令窗口中輸入CREATE QUERY命令調(diào)出查詢設(shè)計器,添加數(shù)據(jù)庫的三個表,從字段中選擇學(xué)號、姓名、成績和課程名稱字段,單擊排序依據(jù),選擇課程名稱,單擊升序,再單擊查詢菜單下的查詢?nèi)ハ?,選擇表,輸入表名QUSC.DBF。運行查詢,后將查詢保存為QUSC.QPR。
    三、綜合應(yīng)用(1小題,計30分)
     在考生文件夾下有職員管理數(shù)據(jù)庫staff_10,數(shù)據(jù)庫中有YUANGONG表結(jié)
     構(gòu)是職工編碼C(4)、姓名C(10)、夜值班天數(shù)I、晝值班天數(shù)I、加班費N
     (10.2)。ZHIBAN表結(jié)構(gòu)是值班時間C(2),每天加班費N(7.2),ZHIBAN表
     中只有兩條記錄,分別記載了白天和夜里的每天加班費標(biāo)準(zhǔn)。
     請編寫運行符合下列要求的程序:
     設(shè)計一個名為staff_m的菜單,菜單中有兩個菜單項"計算"和"退出"。
     程序運行時,單擊"計算"菜單項應(yīng)完成下列操作:
     (1)計算YUANGONG表的加班費字段值,計算方法是:
     加班費=夜值班天數(shù)*夜每天加班費+晝值班天數(shù)*晝每天加班費
     (2)根據(jù)上面的結(jié)果,將員工的職工編碼、姓名、加班費存儲到的自由表
     staff_d中 ,并按加班費降序排列,如果加班費相等,則按職工編碼的升
     序排列。
     單擊"退出"菜單項,程序終止運行。
    本題考查知識點:數(shù)據(jù)表的查詢,記錄的更新,數(shù)據(jù)表的定義等
    本題解題思路:
     SET TALK OFF &&在程序運行時關(guān)閉命令結(jié)果的顯示
     SET SAFETY OFF &&關(guān)閉文件重名的提示
     OPEN DATABASE STAFF_10 &&打開數(shù)據(jù)庫文件STAFF_10
     SELECT 每天加班費 FROM ZHIBAN WHERE 值班時間="晝" INTO ARRAY zhou
     &&由于要得到"晝"和"夜"的每天的加班費,所以要用到SELECT SQL查詢
     &&WHERE 條件表達(dá)式 可以用來限定結(jié)果集,將條件表達(dá)式:值班時間="晝"
     &&放在WHERE的后面;也可以將結(jié)果集的列數(shù)進行限制,這里我們只需要得到
     &&每天加班費 ,將其放在SELECT的后面;可以將返回的結(jié)果集放入一個數(shù)組變量中
     &&用到INTO ARRAY 數(shù)組變量名
     SELECT 每天加班費 FROM ZHIBAN WHERE 值班時間="夜" INTO ARRAY ye
     &&同上,這樣可以在ye中得到:值班時間="夜"的每天加班費
     UPDATE YUANGONG SET 加班費=夜值班天數(shù)*ye+晝值班天數(shù)*zhou
     &&UPDATE SQL語句用來修改某一個,某幾個字段的值