摘 要: 全國(guó)計(jì)算機(jī)等級(jí)考試(NCRE)是目前我國(guó)規(guī)模最大的計(jì)算機(jī)類考試,每年都有幾十萬(wàn)人參加不同級(jí)別的考試。本文結(jié)合實(shí)際考試情況,分析了在二級(jí)Visual FoxPro上機(jī)考試中最常見(jiàn)的考題類型、考試范圍及其解題方法。
關(guān)鍵詞: 全國(guó)計(jì)算機(jī)等級(jí)考試 二級(jí)VFP上機(jī)考試 基本操作題 簡(jiǎn)單應(yīng)用題 綜合應(yīng)用題
1.引言
隨著計(jì)算機(jī)技術(shù)在我國(guó)各個(gè)領(lǐng)域不斷的推廣和普及,越來(lái)越多的人開(kāi)始學(xué)習(xí)計(jì)算機(jī)知識(shí),操作和應(yīng)用計(jì)算機(jī)成為人們必須掌握的一種基本技能。許多單位部門(mén)已把掌握一定的計(jì)算機(jī)知識(shí)和應(yīng)用技能作為干部錄用、職務(wù)晉升、職稱評(píng)定、上崗資格的重要依據(jù)之一[2]。
1994年原國(guó)家教委考試中心開(kāi)始向社會(huì)推出“全國(guó)計(jì)算機(jī)等級(jí)考試(NCRE)”,到2011年上半年共進(jìn)行了33次考試,從最初科目較為單一的考試,發(fā)展到了目前的四個(gè)等級(jí)17個(gè)科目的考試,是目前國(guó)內(nèi)規(guī)模最大的計(jì)算機(jī)類考試。2001年二級(jí)Foxbase考試科目被二級(jí)Visual FoxPro取代,二級(jí)Visual FoxPro考試成為歷次考試報(bào)考人數(shù)最多的科目。
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)考試,分筆試和上機(jī)考試兩個(gè)部分。上機(jī)操作是檢驗(yàn)考生對(duì)VFP數(shù)據(jù)庫(kù)管理系統(tǒng)的應(yīng)用水平,要求考生能夠熟練地利用VFP平臺(tái)進(jìn)行數(shù)據(jù)庫(kù)及相關(guān)的操作。一共有三個(gè)大題,第一題是基本操作題,主要內(nèi)容涉及項(xiàng)目、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)表的建立和修改等操作;第二題是簡(jiǎn)單應(yīng)用題,主要考查考生對(duì)數(shù)據(jù)庫(kù)表查詢、表單的基本應(yīng)用、菜單的操作、報(bào)表的應(yīng)用等方面的能力;第三題是綜合應(yīng)用題,主要考查考生系統(tǒng)地完整地對(duì)某個(gè)項(xiàng)目的設(shè)計(jì),主要集中在表單和菜單的應(yīng)用方面。
2.基本操作題
基本操作題通常有4個(gè)小題,主要考查學(xué)生對(duì)VFP的一些基礎(chǔ)性的操作,基本覆蓋范圍如下。
(1)項(xiàng)目文件的建立,項(xiàng)目管理器的使用,將數(shù)據(jù)庫(kù)添加到項(xiàng)目中;
(2)數(shù)據(jù)庫(kù)文件的建立,在數(shù)據(jù)庫(kù)中建立新表,將自由表添加到數(shù)據(jù)庫(kù)中,將數(shù)據(jù)庫(kù)表移除或刪除;
(3)視圖的建立與刪除,查詢的創(chuàng)建與刪除;
(4)數(shù)據(jù)庫(kù)表中字段有效性規(guī)則的建立,字段默認(rèn)值的設(shè)置,設(shè)置完整性約束,主索引和普通索引的建立,為已建立索引的表建立永久聯(lián)系,表中字段的增、刪、改,向表中添加記錄;
(5)菜單和快捷菜單的建立,為菜單項(xiàng)建立快捷鍵;
(6)SQL查詢語(yǔ)句的使用,查詢?nèi)ハ颉⒔y(tǒng)計(jì);
(7)利用報(bào)表向?qū)Ы?bào)表;
(8)表單的建立,表單屬性的設(shè)置,表單布局工具欄的使用,向表單中添加控件對(duì)象,數(shù)據(jù)環(huán)境的設(shè)置,命令按鈕屬性的設(shè)置,使用自定義類,文本框?qū)傩缘脑O(shè)置,事件代碼的編寫(xiě),修改事件代碼或程序文件中的程序語(yǔ)句。
例1.基本操作題(共四小題)。在考生文件夾下已有customers(客戶)、orders(訂單)、orderitems(訂單項(xiàng))和goods(商品)四個(gè)表。
(1)創(chuàng)建一個(gè)名為“訂單管理”的數(shù)據(jù)庫(kù),并將已有的customers表添加到該數(shù)據(jù)庫(kù)中。
(2)利用表設(shè)計(jì)器為customers表建立一個(gè)普通索引,索引名為bd,索引表達(dá)式為“出生日期”。
(3)在表設(shè)計(jì)器中為customers表的“性別”字段設(shè)置有效性規(guī)則,規(guī)則表達(dá)式為:性別$“男女”,出錯(cuò)提示信息是:“性別必須是男或女”。
(4)利用INDEX命令為customers表建立一個(gè)普通索引,索引名為khh,索引表達(dá)式為“客戶號(hào)”,索引存放在customers.cdx中。然后將該INDEX命令存入命令文件pone.prg中。
解題思路:
(1)創(chuàng)建數(shù)據(jù)庫(kù)可以使用“文件”菜單完成,選擇文件—新建—數(shù)據(jù)庫(kù)—新建文件,在數(shù)據(jù)庫(kù)設(shè)計(jì)器中添加customers表。
(2)在customers表設(shè)計(jì)器中的索引選項(xiàng)卡建立索引名為bd,索引表達(dá)式為“出生日期”的普通索引。
(3)建立有效性規(guī)則在表設(shè)計(jì)器中的字段選項(xiàng)卡中設(shè)置。在“規(guī)則”欄中輸入:性別$“男女”,“提示信息”欄輸入:“性別必須是男或女”。
(4)建立普通索引的命令為:INDEX ON客戶號(hào)TAG khh of customers.cdx,然后將此命令保存在pone.prg文件中。
3.簡(jiǎn)單應(yīng)用題
簡(jiǎn)單應(yīng)用題有兩個(gè)小題,主要考查范圍如下。
(1)SQL查詢語(yǔ)句的使用,利用SQL-SELECT語(yǔ)句建立查詢,查詢?nèi)ハ颉⒆硬樵儭⒔y(tǒng)計(jì)、數(shù)據(jù)分組的運(yùn)用,連接查詢的使用;
(2)菜單的建立與應(yīng)用,在表單中調(diào)用菜單,快捷菜單的建立,在表單中調(diào)用快捷菜單;
(3)表單文件的建立與修改,使用表單向?qū)е谱鞅韱危韱沃袛?shù)據(jù)環(huán)境的添加、控件的使用、控件屬性的修改,表單的退出,新建自定義表單類;
(4)報(bào)表的使用,使用報(bào)表向?qū)е谱鲌?bào)表;
(5)使用查詢?cè)O(shè)計(jì)器建立查詢,利用視圖設(shè)計(jì)器建立視圖;
(6)簡(jiǎn)單應(yīng)用程序的建立,程序的修改;
(7)數(shù)據(jù)庫(kù)的創(chuàng)建,向數(shù)據(jù)庫(kù)中添加表,使用SQL語(yǔ)句進(jìn)行記錄的更新。
例2.簡(jiǎn)單應(yīng)用(共2小題)
(1)在考生文件夾下創(chuàng)建表單文件formone.scx,如下圖所示,其中包含一個(gè)標(biāo)簽Label1、一個(gè)文本框Text1和一個(gè)命令按鈕Command1。然后按相關(guān)要求完成相應(yīng)操作。
①如圖所示設(shè)置表單、標(biāo)簽和命令按鈕的Caption屬性。
②設(shè)置文本框的Value屬性值為表達(dá)式Date()。
③設(shè)置“查詢”按鈕的Click事件代碼,使得表單運(yùn)行時(shí)單擊該按鈕能夠完成如下查詢功能:從customers表中查詢指定日期以后出生的客戶,查詢結(jié)果依次包含姓名、性別、出生日期三項(xiàng)內(nèi)容,各記錄按日期降序排序,查詢?nèi)ハ驗(yàn)楸韙ableone。
最后運(yùn)行該表單,查詢1980年1月1日以后出生的客戶。
(2)向名為“訂單管理”的數(shù)據(jù)庫(kù)(在基本操作題中建立)添加orderitems表。然后在數(shù)據(jù)庫(kù)中創(chuàng)建視圖viewone,利用該視圖可以從orderitems表查詢統(tǒng)計(jì)各商品的訂購(gòu)總量,查詢結(jié)果依次包含商品號(hào)和訂購(gòu)總量(即所有訂單對(duì)該商品的訂購(gòu)數(shù)量之和)兩項(xiàng)內(nèi)容,各記錄按商品號(hào)升序。最后利用該視圖查詢視圖中的全部信息,并將查詢結(jié)果存放在表tabletwo中。
解題思路:
第1題:
①在命令窗口輸入命令:CREATE FORM formone,打開(kāi)表單設(shè)計(jì)器窗口。
②在表單上添加標(biāo)簽、文本框和命令按鈕,并進(jìn)行適當(dāng)?shù)牟贾煤痛笮≌{(diào)整。
③設(shè)置標(biāo)簽、“查詢”命令按鈕、表單的Caption屬性值。
④將文本框的Value屬性值設(shè)置為“=date()”。
⑤設(shè)置“查詢”按鈕的Click事件代碼:
SELECT姓名,性別,出生日期FROM customers;
where出生日期>=ctod(thisform.text1.value)order by出生日期DESC;
INTO TABLE tableone.dbf
⑥保存表單并運(yùn)行,在文本框中輸入01/01/1980,并單擊“查詢”命令按鈕。
第2題:
打開(kāi)“訂單管理”數(shù)據(jù)庫(kù),單擊“數(shù)據(jù)庫(kù)”菜單中的“添加表”,將orderitems表添加到數(shù)據(jù)庫(kù)中,新建“本地視圖”,添加“orderitems”表到視圖中,先選擇“商品號(hào)”字段,再在“函數(shù)與表達(dá)式”中輸入“sum(orderitems.數(shù)量)as訂購(gòu)總量”,單擊“添加”按鈕,在“排序依據(jù)”中選擇按“商品號(hào)”升序,“分組依據(jù)”中選擇“商品號(hào)”,以視圖名viewone保存該視圖。利用剛創(chuàng)建的視圖viewone查詢視圖中的全部信息,在“添加表或視圖”對(duì)話框中選擇viewone視圖,在字段中選擇所有字段,設(shè)置查詢?nèi)ハ驗(yàn)楸韙abletwo。
4.綜合應(yīng)用題
綜合應(yīng)用題通常只有一個(gè)大題,由若干小題組成,主要考查學(xué)生對(duì)Visual FoxPro的綜合應(yīng)用能力,考查覆蓋范圍如下。
(1)表單的建立,表單中控件的使用(組合框、文本框、按鈕等),表單中控件屬性的修改,表單的退出;
(2)結(jié)構(gòu)化查詢語(yǔ)言(SQL)中的連接查詢、查詢的排序、分組查詢、臨時(shí)表的靈活使用、查詢結(jié)果的去向等;
(3)程序的建立方法、程序中選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的使用;
(4)數(shù)據(jù)庫(kù)的建立、將自由表添加到數(shù)據(jù)庫(kù)中;
(5)查詢的建立,視圖的建立;
(6)菜單的建立、生成菜單程序。
例3.綜合應(yīng)用(共1小題)。在考生文件夾下創(chuàng)建一個(gè)頂層表單myform.scx(表單的標(biāo)題為“考試”),然后創(chuàng)建并在表單中添加菜單(菜單的名稱為mymenu.mnx,菜單程序的名稱為mymenu.mpr)。效果如下圖所示。
①菜單命令“計(jì)算”和“退出”的功能都通過(guò)執(zhí)行過(guò)程完成。
②菜單命令“計(jì)算”的功能是根據(jù)orderitems表和goods表中的相關(guān)數(shù)據(jù)計(jì)算各訂單的總金額(一個(gè)訂單的總金額等于它所包含的各商品的金額之和,每種商品的金額等于數(shù)量乘以單價(jià)),并將計(jì)算的結(jié)果填入orders表的相應(yīng)字段中。
③菜單命令“退出”的功能是釋放并關(guān)閉表單。
最后,請(qǐng)運(yùn)行表單并依次執(zhí)行其中的“計(jì)算”和“退出”菜單命令。
解題思路:
①建立表單:可通過(guò)“文件”菜單下的“新建”命令或用命令CREATE FORM打開(kāi)表單設(shè)計(jì)器。
②修改表單各屬性值,將CAPTION屬性值設(shè)為“考試”。將表單以myform.scx為文件名保存在考生文件夾下。
③建立菜單:可通過(guò)“文件”菜單下的“新建”命令或命令CREATE MENU打開(kāi)菜單設(shè)計(jì)器。點(diǎn)擊“顯示”菜單下的“常規(guī)選項(xiàng)”命令打開(kāi)“常規(guī)選項(xiàng)”對(duì)話框,選中“頂層表單”復(fù)選框。在菜單設(shè)計(jì)器中建立各菜單項(xiàng),菜單名稱分別為:計(jì)算和退出。在“計(jì)算”菜單的結(jié)果列中選擇“過(guò)程”,并通過(guò)單擊“創(chuàng)建”按鈕打開(kāi)一個(gè)窗口來(lái)添加“計(jì)算”菜單項(xiàng)要執(zhí)行的命令,命令如下:
0f1d0f111ffdb562ea87f599085b37534c6baff8ae68dd8b73833093f3ea5fcfCLOSE DATABASE
USE orders
GO TOP
DO WHILE NOT EOF()
Dingdanhao=訂單號(hào)
SELECT sum(orderitems.數(shù)量*goods.單價(jià))FROM orderitems,goods;
WHERE orderitems.商品號(hào)=goods.商品號(hào)AND orderitems.訂單號(hào)=dingdanhao;
GROUP BY orderitems.訂單號(hào)INTO ARRAY A
REPLACE總金額WITH A(1)
SKIP
ENDDO
在“退出”菜單的結(jié)果列中選擇“過(guò)程”,并通過(guò)單擊“創(chuàng)建”按鈕打開(kāi)一個(gè)窗口來(lái)添加菜單項(xiàng)要執(zhí)行的命令:myform.release,用來(lái)關(guān)閉表單并返回到系統(tǒng)菜單。
最后點(diǎn)擊“菜單”下的“生成”命令,生成mymenu.mpr菜單程序。
④將表單myform.scx中的ShowWindow屬性設(shè)置為“2-作為頂層表單”,并在表單的LOAD事件中輸入:do mymenu.mpr with this,‘mymenu’,執(zhí)行菜單程序。
⑤保存并運(yùn)行表單,依次執(zhí)行其中的“計(jì)算”和“退出”菜單命令。
5.結(jié)語(yǔ)
全國(guó)計(jì)算機(jī)等級(jí)考試在成為全國(guó)第一大計(jì)算機(jī)類考試后,開(kāi)始進(jìn)行改革和完善,每年的上機(jī)考試題均有更新和改進(jìn)。在二級(jí)VFP上機(jī)考試中,考試的模式?jīng)]有變,但是題型也在變化,需要考生系統(tǒng)地掌握好VFP后,進(jìn)行一定程度的融會(huì)貫通,將知識(shí)升華。這樣在進(jìn)行上機(jī)考試時(shí),才能夠較順利地通過(guò)。
參考文獻(xiàn):
[1]袁霞.淺談全國(guó)計(jì)算機(jī)等級(jí)考試——二級(jí)Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)的上機(jī)考試[J].信息科學(xué),2010.6.
[2]教育部考試中心.全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程——Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)[M].高等教育出版社,2010.9.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文