2014職稱計(jì)算機(jī)VisualFoxpro考前模擬題

字號:

為大家收集整理了《2014職稱計(jì)算機(jī)VisualFoxpro考前模擬題》供大家參考,希望對大家有所幫助?。?!
    一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
    注意:基本操作題為4道SQL題,請將每道題的SQL命令粘貼到SQL1.txt文件,
    每條命令占一行,第1道題的命令是第1行,第2道題的命令是第2行,以此類推;
    如果某道題沒有做相應(yīng)行為空。
    在考生文件夾下完成下列操作:
    1. 利用SQL SELECT命令將表stock_sl.dbf復(fù)制到stock_bk.dbf;
    2.利用SQL INSERT命令插入記錄("600028",4.36, 4.60, 5500)到stock_bk.dbf表。
    3.利用SQL UPDATE命令將stock_bk.dbf表中"股票代碼"為600007的股票"現(xiàn)價"改為8.88。
    4.利用SQL DELETE命令刪除stock_bk.dbf表中"股票代碼"為600000的股票。
    本題的主要考核點(diǎn):
    SQL語句的使用。
    1、SELE * FROM stock_sl INTO DBF stock_bk
    2、INSE INTO stock_bk (股票代碼,買入價,現(xiàn)價,持有數(shù)量)VALU("600028", 4.36, 4.60, 5500)
    3、UPDA stock_bk SET 現(xiàn)價=8.88 WHER 股票代碼="600007"
    4、DELE FROM stock_bk WHER 股票代碼="600000"
    二、簡單應(yīng)用(2小題,每題20分,計(jì)40分)
    1、在考生文件夾下建立數(shù)據(jù)庫sc2,將考生文件夾下的自由表score2添加進(jìn)sc2中。根據(jù)score2表建立一個視圖score_view,視圖中包含的字段與score2表相同,但視圖中只能查詢到積分小于等于1500的信息。然后利用新建立的視圖查詢視圖中的全部信息,并將結(jié)果按積分升序存入表v2。
    2、建立一個菜單filemenu,包括兩個菜單項(xiàng)"文件"和"幫助", "文件"將激活子菜單,該子菜單包括"打開"、"存為"和 "關(guān)閉"三個菜單項(xiàng);"關(guān)閉"子菜單項(xiàng)用SET SYSMENU TO DEFAULT命令返回到系統(tǒng)菜單,其他菜單項(xiàng)的功能不做要求。
    第1題,本題的主要考核點(diǎn)是視圖的建立。
    在"項(xiàng)目管理器"中選擇一個數(shù)據(jù)庫,選擇"本地視圖",然后選擇"新建"按鈕,打開"視圖設(shè)計(jì)器"。選擇所有字段,在"篩選"欄內(nèi)輸入條件"積分<=1500",關(guān)閉并保存。在數(shù)據(jù)庫設(shè)計(jì)器中打開視圖,用sort on 積分 to v2 命令存入新表。
    第2題,本題的主要考核點(diǎn)是菜單的建立。新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對話框中選擇"菜單",單擊"新建文件"按鈕。在"新建菜單"對話框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計(jì)器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計(jì)器。在菜單名稱中填入"文件"、"幫助","文件"結(jié)果為子菜單,單擊編輯;在子菜單的菜單名稱中輸入"打開"、"存為"、"關(guān)閉","關(guān)閉"結(jié)果為命令"SET SYSMENU TO DEFAULT"。
    三、綜合應(yīng)用(1小題,計(jì)30分)
    在考生文件夾下有學(xué)生成績數(shù)據(jù)庫XUESHENG3,包括如下所示三個表文件以及相
    關(guān)的索引文件:
    1、XS.DBF(學(xué)生文件: 學(xué)號 C8,姓名 C8,性別 C2,班級 C5;另有索引文件
    XS.IDX,索引鍵:學(xué)號)
    2、CJ.DBF(成績文件: 學(xué)號 C8,課程名 C20,成績 N5.1;另有索引文件
    CJ.IDX,索引鍵:學(xué)號)
    3、CJB.DBF(成績表文件:學(xué)號 C8,姓名 C8,班級 C5,課程名 C12,成績
    N5.1)
    設(shè)計(jì)一個名為XS3的菜單,菜單中有兩個菜單項(xiàng)"計(jì)算"和"退出"。程序運(yùn)行時,單擊"計(jì)算"菜單項(xiàng)應(yīng)完成下列操作:將所有選修了"計(jì)算機(jī)基礎(chǔ)"的學(xué)生的"計(jì)算機(jī)基礎(chǔ)"成績, 按成績由高到低的順序填列到成績表文件CJB.DBF中(事前須將文件中原有數(shù)據(jù)清空)。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。
    (注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下)
    本題的主要考核點(diǎn):
    結(jié)構(gòu)化查詢語言(SQL)中的聯(lián)接查詢、查詢的排序、查詢的去向等知識
    解題思路:
    在本題中要想得到所有選修了"計(jì)算機(jī)基礎(chǔ)"的學(xué)生的"計(jì)算機(jī)基礎(chǔ)" 成績及學(xué)生的姓名等信息,就需要用到聯(lián)接查詢。因?yàn)閷W(xué)生的姓名、班級在表XS.DBF中,而學(xué)生的成績在表CJ.DBF中。而這兩個表要聯(lián)接起來可以通過"學(xué)號"字段。
    有以下兩種聯(lián)接查詢的形式:SELECT XS.學(xué)號,姓名,班級,課程名,成績 FROM XS,CJ WHERE XS.學(xué)號=CJ.學(xué)號 AND 課程名="計(jì)算機(jī)基礎(chǔ)" 或者 SELECT XS.學(xué)號,姓名,班級,課程名,成績 FROM XS LEFT JION CJ ON XS.學(xué)號=CJ.學(xué)號 WHERE 課程名="計(jì)算機(jī)基礎(chǔ)"
    通過以上的聯(lián)接查詢便得到了所有選修"計(jì)算機(jī)基礎(chǔ)"的學(xué)生的"計(jì)算機(jī)基礎(chǔ)"的成績及學(xué)生的姓名等信息。而題中所要求按成績的降序排序,所以應(yīng)該在以上SQL語句的基礎(chǔ)上加入:ORDER BY 成績 DESC
    將查詢所得到的結(jié)果放于一個數(shù)組變量AFieldsValue中,要用到INTO ARRAY AFieldsValue.至此一個完整的SQL聯(lián)接查詢語句便形成了:SELECT XS.學(xué)號,姓名,班級,課程名,成績 FROM XS,CJ WHERE XS.學(xué)號=CJ.學(xué)號 AND 課程名="計(jì)算機(jī)基礎(chǔ)" ORDER BY 成績 DESC INTO ARRAY AFieldsValue
    清空CJB.DBF
    將tableName中的資料添加到已被清空的CJB.DBF中INSERT INTO CJB FROM ARRAY AFieldsValue
    一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
    在考生文件夾下完成下列操作(在"成績管理"數(shù)據(jù)庫中完成):
    1. 為"學(xué)生"表在"學(xué)號"字段上建立升序主索引, 索引名為學(xué)號;
    2. 為"學(xué)生"表的"性別"字段定義有效性規(guī)則, 規(guī)則表達(dá)式為 性別$"男女"出錯提示信息是: "性別必須是男或女"。
    3. 在"學(xué)生"表的"性別"和"年齡"字段之間插入一個"出生日期"字段,數(shù)據(jù)類型
    為"日期型"(修改表結(jié)構(gòu));
    4.用SQL的UPDATE命令將學(xué)生"王三風(fēng)"的出生日期修改為1983年5月1日,并將該
    語句粘貼在SQL2.TXT文件中(第一行、只占一行)
    本題的主要考核點(diǎn):
    主索引的建立、字段有效規(guī)則的建立,表結(jié)構(gòu)的更改,SQL語言的使用。
    解題思路:
    1.在表設(shè)計(jì)器中的索引頁面建立索引。
    2、建立有效性規(guī)則在表設(shè)計(jì)器中的字段選項(xiàng)卡。在"規(guī)則"欄中輸入"性別$"男女"","提示信息"欄輸入"性別必須是男或女"(不要雙引號)。
    4.SQL語句的用法
    UPDA 學(xué)生 SET 出生日期={^1983/05/01} WHER 姓名="王三風(fēng)" 
    二、簡單應(yīng)用(2小題,每題20分,計(jì)40分)
    1、根據(jù)考生文件夾下的txl表和jsh表建立一個查詢query2,查詢出單位是"南京大學(xué)" 的所有教師的姓名、職稱、電話,要求查詢?nèi)ハ蚴潜?,表名是query2.dbf,并執(zhí)行該查詢。
    2、建立表單enterf,表單中有兩個命令按鈕,按鈕的名稱分別為cmdin和
    cmdout,標(biāo)題分別為"進(jìn)入"和"退出"。
    第1題,本題的主要考核點(diǎn)是建立查詢。
    建立查詢可以使用“文件”菜單完成,選擇文件--新建--查詢--新建文件,將txl和jsh添加入查詢中,從字段中選擇姓名、職稱和電話字段,單擊查詢菜單下的查詢?nèi)ハ颍x擇表,輸入表名query2.DBF。后運(yùn)行該查詢。
    第2題,本題的主要考核點(diǎn)是表單的建立。
    可以用三種方法調(diào)用表單設(shè)計(jì)器:在項(xiàng)目管理器環(huán)境下調(diào)用;單擊“文件”菜單中的“新建”,打開“新建”對話框,選擇“表單”;在命令窗口輸入CREATE FORM命令。
    打開表單設(shè)計(jì)器后,在表單控件工具欄上單擊“命令按鈕”,在表單上放置兩個按鈕。分別修改其屬性Name為cmdin和cmdout,Caption屬性為“進(jìn)入”和“退出”。
    三、綜合應(yīng)用(1小題,計(jì)30分)
    在考生文件夾下有倉庫數(shù)據(jù)庫CK3,包括如下所示兩個表文件:
    CK(倉庫號C(4),城市C(8),面積N(4))
    ZG(倉庫號C(4),職工號C(4),工資N(4))
    設(shè)計(jì)一個名為ZG3的菜單,菜單中有兩個菜單項(xiàng)"統(tǒng)計(jì)"和"退出"。程序運(yùn)行時,單擊"統(tǒng)計(jì)"菜單項(xiàng)應(yīng)完成下列操作:檢索出所有職工的工資都大于 1220元的職工所管理的倉庫信息,將結(jié)果保存在wh1數(shù)據(jù)表(WH1為自由表)文件中,該文件的結(jié)構(gòu)和CK數(shù)據(jù)表文件的結(jié)構(gòu)一致,并按面積升序排序。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下) 本題主要考核點(diǎn):
    菜單的建立、結(jié)構(gòu)化查詢語言(SQL)中的嵌套查詢、查詢結(jié)果的去向等知識。
    解題思路:
    利用菜單設(shè)計(jì)器定義兩個菜單項(xiàng),在菜單名稱為"統(tǒng)計(jì)"的菜單項(xiàng)的結(jié)果列中選擇"過程",并通過單擊"編輯"按鈕打開一個窗中來添加"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的命令。在菜單名稱為"退出"的菜單項(xiàng)的結(jié)果列中選擇"命令",并在后面的"選項(xiàng)"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
    "統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的程序:
    首先中打開數(shù)據(jù)庫文件 OPEN DATABASE CK3.DBC
    下面我們分析所要用到的查詢語句的實(shí)現(xiàn),題面要求"檢索出所有職工的工資都大于1220的職工所管理的倉庫信息",所以得到滿足以上條件的倉庫號成為解答本題的關(guān)鍵。"所有職工的工資都大于1220的職工所管理的倉庫"這個條件可以將其分解為同時滿足以下兩個條件的結(jié)果"倉庫號不存在于職工的工資小于等于1220的職工所管理的倉庫號中"并且"倉庫號存在于表ZG中",而以上兩個條件我們可以利用SQL輕松寫出來。所以后形成的查詢語句以下:SELECT * FROM CK WHERE 倉庫號 NOT IN (SELECT 倉庫號 FROM ZG WHERE 工資<=1220) AND 倉庫號 IN (SELECT 倉庫號 FROM ZG) INTO TABLE wh1.dbf.后面的INTO TABLE wh1.dbf決定了查詢的結(jié)果是生成一個wh1.dbf文件。
    本題還考對查詢的排序和查詢的去向進(jìn)行了考核.可以用ORDER BY order_Item [ASC|DESC]來讓查詢的結(jié)果按某一列或某幾列的升序(ASC)或降序(DESC)進(jìn)行排列。而查詢的去向可以通過INTO TABLE strTableName 而直接生成一個文件名為strTableName的.DBF表。 一、基本操作(共四小題,第1和2題是7分、第3和4題是8分
    1、請?jiān)诳忌募A下建立一個數(shù)據(jù)庫KS4。
    2、將考生文件夾下的自由表STUD、COUR、SCOR加入到數(shù)據(jù)庫KS4中。
    3、為STUD表建立主索引,索引名和索引表達(dá)式均為學(xué)號
    為COUR表建立主索引,索引名和索引表達(dá)式均為課程編號
    為SCOR表建立兩個普通索引,其中一個索引名和索引表達(dá)式均為學(xué)號;另一個索引名和索引表達(dá)式均為課程編號
    4、在以上建立的各個索引的基礎(chǔ)上為三個表建立聯(lián)系。
    本題的主要考核點(diǎn):
    數(shù)據(jù)庫的建立、將自由表添加到數(shù)據(jù)庫中、主索引和普通索引的建立,為已建立索引的表建立聯(lián)系。
    解題思路:
    1.建立數(shù)據(jù)庫的常用方法有三種:
    在項(xiàng)目管理器中建立數(shù)據(jù)庫;
    通過"新建"對話框建立數(shù)據(jù)庫;
    使用命令交互建立數(shù)據(jù)庫,命令為: CREATE DATABASE [DatabaseName|?]
    2.將自由表添加到數(shù)據(jù)庫中,可以在項(xiàng)目管理器或數(shù)據(jù)庫設(shè)計(jì)器中完成。打開數(shù)據(jù)庫設(shè)計(jì)器,在"數(shù)據(jù)庫"菜單中或在數(shù)據(jù)庫設(shè)計(jì)器上單擊右鍵彈出的菜單中選擇"添加表",然后在"打開"對話框中選擇要添加到當(dāng)前數(shù)據(jù)庫的自由表。還可用ADD TABLE命令添加一個自由表到當(dāng)前數(shù)據(jù)庫中。
    3.在STUD表設(shè)計(jì)器中的索引選項(xiàng)卡建立索引名和索引表達(dá)式為學(xué)號的主索引。分別為COUR和SCOR建立主索引和普通索引。
    4.在數(shù)據(jù)庫設(shè)計(jì)器中建立三個表的聯(lián)系。在數(shù)據(jù)庫設(shè)計(jì)器中,將選中STUD表中的主索引"學(xué)號",按住鼠標(biāo)拖動到SCOR表的普通索引"學(xué)號"上。
    用同樣的方法可以建立COUR表和SCOR表的"課程編號"之間的聯(lián)系。
    二、簡單應(yīng)用(2小題,每題20分,計(jì)40分)
    1、在考生文件夾中有一個數(shù)據(jù)庫STSC,其中有數(shù)據(jù)庫表STUDENT、SCORE和
    COURSE
    利用SQL語句查詢選修了"網(wǎng)絡(luò)工程"課程的學(xué)生的全部信息,并將結(jié)果按學(xué)號降序存放在 NETP.DBF文件中(庫的結(jié)構(gòu)同STUDENT,并在其后加入課程號和課程名字段)。
    2、在考生文件夾中有一個數(shù)據(jù)庫STSC,其中有數(shù)據(jù)庫表STUDENT,使用一對多報(bào)表向?qū)е谱饕粋€名為CJ2的報(bào)表,存放在考生文件夾中要求:選擇父表STUDENT 表中學(xué)號和姓名字段,從子表SCORE中選擇課程號和成績,排序字段選擇學(xué)號(升序),報(bào)表式樣為簡報(bào)式,方向?yàn)榭v向。報(bào)表標(biāo)題為"學(xué)生成績表"。
    第1題,本題的主要考核點(diǎn)是SQL語句的查詢。
    SELECT Student.*, Score.課程號, Course.課程名;
    FROM stsc!student INNER JOIN stsc!score;
    INNER JOIN stsc!course ;
    ON Score.課程號 = Course.課程號 ;
    ON Student.學(xué)號 = Score.學(xué)號;
    WHERE AT("網(wǎng)絡(luò)工程",Course.課程名) > 0;
    ORDER BY Student.學(xué)號 desc;
    INTO TABLE netp.dbf
    第2題,本題的主要考核點(diǎn)是使用報(bào)表向?qū)е谱鲌?bào)表。
    啟動報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開"新建"對話框,文件類型選擇報(bào)表,單擊向?qū)О粹o?;蛘咴?工具"菜單中選擇"向?qū)?子菜單,選擇
    "報(bào)表",或直接單擊工具欄上的"報(bào)表向?qū)?圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?BR>    三、綜合應(yīng)用(1小題,計(jì)30分)
    在考生文件夾下有工資數(shù)據(jù)庫WAGE3,包括數(shù)據(jù)表文件:ZG(倉庫號C(4),
    職工號C(4),工資N(4))
    設(shè)計(jì)一個名為TJ3的菜單,菜單中有兩個菜單項(xiàng)"統(tǒng)計(jì)"和"退出"。
    程序運(yùn)行時,單擊"統(tǒng)計(jì)"菜單項(xiàng)應(yīng)完成下列操作:檢索出工資小于或等于本倉庫職工平均工資的職工信息,并將這些職工信息按照倉庫號升序,在倉庫號相同的情況下再按職工號升序存放到EMP1(EMP1為自由表)文件中,該數(shù)據(jù)表文件和ZG數(shù)據(jù)表文件具有相同的結(jié)構(gòu)。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。
    (注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下)
    本題主要考核點(diǎn):
    菜單的建立、結(jié)構(gòu)化查詢語言(SQL)中的聯(lián)接查詢、查詢的排序、臨時表的概念、查詢結(jié)果的去向等知識。
    解題思路:
    利用菜單設(shè)計(jì)器定義兩個菜單項(xiàng),在菜單名稱為"統(tǒng)計(jì)"的菜單項(xiàng)的結(jié)果列中選擇"過程",并通過單擊"編輯"按鈕打開一個窗中來添加"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的命令。在菜單名稱為"退出"的菜單項(xiàng)的結(jié)果列中選擇"命令",并在后面的"選項(xiàng)"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
    "統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的程序:
    首先是打開數(shù)據(jù)庫文件OPNE DATABASE WAGE3.DBC我們應(yīng)該得到每一個倉庫的職工平均工資,并將結(jié)果放在一個臨時的表CurTable中.利用以下語句可以實(shí)現(xiàn):SELECT 倉庫號,AVG(工資) AS AvgGZ FROM ZG GROUP BY 倉庫號 INTO CURSOR CurTable.這樣就生成了一個表名為CurTable的臨時表。表中有兩個字段:倉庫號,AvgGZ,內(nèi)容為每一個倉庫的倉庫號和所對應(yīng)的職工的平均工資。
    有了臨時表CurTable后我們可以將其與ZG進(jìn)行聯(lián)接查詢,我們這里聯(lián)接查詢的目的不是為了得到臨時表中的內(nèi)容做為結(jié)果的一部分,而是要用其中的字段AvgGZ做為查詢的條件.我們便可以得到"工資小于或低于本倉庫職工平均工資的職工信息"的查詢:SELECT ZG.* FROM ZG,CurTable WHERE ZG.倉庫號=CurTable.倉庫號 AND ZG.工資