2003年(秋)Visual FoxPro 二級考試上機試卷(VFP01)
(本試卷上機考試時間為70分鐘)
說明:1.運行考試軟盤A中的“上機考試”應(yīng)用程序文件以輸入考生的準考證號、姓名、試卷代號。 2. 啟動VFP系統(tǒng)后,首先在命令窗口中執(zhí)行命令: set default to A: 以設(shè)置默認的工作目錄,然后再開始作題。 |
一、 項目、數(shù)據(jù)庫和表操作(12分) 打開軟盤根目錄下的項目文件TEST,在該項目中已有一數(shù)據(jù)庫SJK。 1.按如下要求修改SJK中學生(XS)表的結(jié)構(gòu): 。1) 將學號(xh)字段寬度設(shè)置為10。 。2) 設(shè)置xh字段的有效性規(guī)則:學號的有效寬度只能是6位、8位或10位; 。3) 設(shè)置xh字段的字段注釋:字段是學生表的主關(guān)鍵字,不允許重復(fù)。 。4) 創(chuàng)建一個候選索引 bhxh,要求先按班級編號(bjbh)字段升序排序,班級編號相同的再按xh字段升序排序。 。5) 為jg字段設(shè)置默認值:“江蘇”。 2. 把TEST項目中的圖片文件015.jpg的包含狀態(tài)設(shè)置為“排除”。 3. 修改XS表中所有記錄的xh字段值,用班級編號(bjbh)中的第3至4位插入到學號中的第2與第3位之間。例如:學號為“990501”,班級編號為“990404051”,則替換后的學號就是“9904051”。 4. 為xs表設(shè)置刪除觸發(fā)器:只有學號開頭兩位是“95”至“99”的記錄允許刪除,否則不允許刪除。 5. SJK中XS表已存在主索引xsxh,索引表達式為xh,學生成績(CJ)表已存在普通索引chxh,索引表達式為xh。以XS表為主表,CJ表為子表按xh建立永久關(guān)系,并設(shè)置XS表和CJ表之間的參照完整性:刪除限制。
二、 設(shè)計查詢(8分)
已知學生(XS)表中含有字符型字段班級編號(bjbh)和日期型字段出生日期(csrq)。在TEST項目中已存在查詢CHAXUN,按如下要求修改該查詢: 基于學生(XS)表統(tǒng)計各班級各年份出生的人數(shù),要求輸出字段為:bjbh、出生年份、人數(shù),查詢結(jié)果首先按班級編號升序排序,同一班級中再按人數(shù)多少降序排序,查詢結(jié)果輸出到臨時表XSNFRS。
三、 設(shè)計菜單(5分)
項目TEST中已存在菜單MENUA,其中已定義了“文件”菜單欄及其中的“恢復(fù)系統(tǒng)菜單”項,按如下要求修改菜單,完成后的運行效果如圖1所示。 1. 創(chuàng)建“學生檔案管理”菜單欄,并為其設(shè)置訪問鍵“ALT+S”。 2. 為“學生檔案管理” 創(chuàng)建子菜單“學生檔案錄入”和“學生檔案查詢”,并用分隔線隔開。 3. 為“學生檔案錄入”菜單項設(shè)置命令,該命令用來運行當前目錄下的表單文件FORMC。SCX。 4. 為“學生檔案查詢”菜單項設(shè)置過程,過程代碼為:
IF ! USED(“XS”) USE XS ELSE SELECT XS ENDIF BROWSE |
 |
5. 在“文件”菜單欄下插入系統(tǒng)菜單項“打印預(yù)覽”。
四.設(shè)計表單(10分)
TEST 項目中已經(jīng)存在菜單FORMA,該表單可以完成類似與Windows中的記事本功能。其實現(xiàn)的基本思想為:打開一個文本文件時將該文件的內(nèi)容放入臨時表中,保存時將臨時表中的內(nèi)容寫入文本文件中。已知在表單的LOAD事件中已經(jīng)定義了一個臨時表textfile.根據(jù)下列要求對表單進行修改,完成以后運行菜單,效果如圖2所示。
1. 設(shè)置表單的ControlBox屬性,使表單運行時左上角的窗口菜單圖標不顯示。如圖2所示。 2. 設(shè)置表單的有關(guān)屬性,使表單運行時邊框樣式為“固定對話框”。 3. 為“打開”按鈕設(shè)置訪問鍵“ALT+o”. 4. 設(shè)置表單的標題為“記事本”。 5. 完善“新建”按鈕的Click事件代碼,當運行表單并點擊該按鈕時編輯框清空且得到焦點。 6. 完善“打開”按鈕的Click事件代碼,當運行表單擊該按鈕時將選定的文本文件的內(nèi)容放入臨時表中。 |
 |
完成修改以后,運行表單,畫面顯示如圖2所示。此時點擊“打開”按鈕,會彈 出“打開”對話框,選擇一個已存在的文本文件(如當前目錄上沒有,也可以到其他目錄下選擇),單擊“確定”按鈕以后被選擇的文本文件就會顯示在編輯框中,此時可對該文本文件進行編輯,編輯以后可以按“保存”,也可以按“另存為”按鈕。如果要新建一個文本文件,可單擊“新建”按鈕。
五.程序改錯(5分)
下列程序的功能是:實現(xiàn)二進制字符竄數(shù)據(jù)壓縮。壓縮算法是: 字符竄首字符+該字符個數(shù)+分隔符+另一個字符個數(shù)+分隔符+…… 例如,二進制字符竄為“11110000111111111000111110000”壓縮后顯示為“14*5*9*3*5*4”(字符竄首字符為“1”、4個“1”、5個“0”、9個“1”……,分隔符為“*”)。要求: 1. 項目中有一個程序文件PCODE,將下列程序輸入到其中并進行修改。 2. 在修改程序時,不允許修改程序的總體框架和算法,不允許增加或減少語句數(shù)目。 cString=‘111100000111111111000111110000’ cResult=LEFT(cSring,1) nCount=1 FOR n=2 TO cString IF SUBSTR(cString,n,1)=SUBSTR(cString,n-1,1) nCount=nCount+1 ELSE cResult=cResult+ALLT(STR(nCount))+’*’ nCount=nCount+1 ENDIF ENDFOR cResult=cResult+ALLT(STR(nCount)) WAIT WINDOWS’壓縮后為’+cResult
|